2011-07-28 14:26:00 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Copyright 2011 Google Inc.
|
|
|
|
*
|
|
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
|
|
* found in the LICENSE file.
|
|
|
|
*/
|
2011-08-12 14:27:47 +00:00
|
|
|
#include "DebuggerViews.h"
|
2011-06-16 20:49:55 +00:00
|
|
|
#include "SkRect.h"
|
|
|
|
|
2011-08-12 14:27:47 +00:00
|
|
|
DebuggerStateView::DebuggerStateView() {
|
2011-06-16 20:49:55 +00:00
|
|
|
fBGColor = 0xFF999999;
|
|
|
|
fPaint.setColor(fBGColor);
|
2011-08-12 14:27:47 +00:00
|
|
|
fResizing = false;
|
2011-06-16 20:49:55 +00:00
|
|
|
}
|
|
|
|
|
2011-08-12 14:27:47 +00:00
|
|
|
bool DebuggerStateView::onEvent(const SkEvent& evt) {
|
|
|
|
if (evt.isType(SKDEBUGGER_STATETYPE)) {
|
|
|
|
fMatrix = evt.findString(SKDEBUGGER_MATRIX);
|
|
|
|
fClip = evt.findString(SKDEBUGGER_CLIP);
|
2011-06-16 20:49:55 +00:00
|
|
|
|
|
|
|
SkPaint* ptr;
|
2011-08-12 14:27:47 +00:00
|
|
|
if (evt.getMetaData().findPtr(SKDEBUGGER_PAINT, (void**)&ptr)) {
|
2011-06-16 20:49:55 +00:00
|
|
|
fPaint = *ptr;
|
2011-08-12 14:27:47 +00:00
|
|
|
fPaintInfo = evt.findString(SKDEBUGGER_PAINTINFO);
|
2011-06-16 20:49:55 +00:00
|
|
|
}
|
|
|
|
this->inval(NULL);
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
return this->INHERITED::onEvent(evt);
|
|
|
|
}
|
|
|
|
|
2011-08-12 14:27:47 +00:00
|
|
|
void DebuggerStateView::onDraw(SkCanvas* canvas) {
|
2011-06-16 20:49:55 +00:00
|
|
|
canvas->drawColor(fBGColor);
|
|
|
|
|
|
|
|
//Display Current Paint
|
|
|
|
SkRect r = {10, 20, 40, 50};
|
|
|
|
canvas->drawRect(r, fPaint);
|
|
|
|
//Display Information
|
|
|
|
SkPaint p;
|
2011-08-12 14:27:47 +00:00
|
|
|
p.setTextSize(SKDEBUGGER_TEXTSIZE);
|
2011-06-16 20:49:55 +00:00
|
|
|
p.setAntiAlias(true);
|
|
|
|
int x = 50;
|
|
|
|
canvas->drawText(fPaintInfo.c_str(), fPaintInfo.size(), x, 30, p);
|
|
|
|
canvas->drawText(fMatrix.c_str(), fMatrix.size(), x, 60, p);
|
|
|
|
canvas->drawText(fClip.c_str(), fClip.size(), x, 90, p);
|
|
|
|
|
2011-08-12 14:27:47 +00:00
|
|
|
p.setColor(SKDEBUGGER_RESIZEBARCOLOR);
|
|
|
|
r = SkRect::MakeXYWH(0, 0, this->width(), SKDEBUGGER_RESIZEBARSIZE);
|
|
|
|
canvas->drawRect(r, p);
|
2011-06-16 20:49:55 +00:00
|
|
|
}
|