moz-skia/experimental/Debugger/DebuggerStateView.cpp

51 строка
1.5 KiB
C++

/*
* Copyright 2011 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#include "DebuggerViews.h"
#include "SkRect.h"
DebuggerStateView::DebuggerStateView() {
fBGColor = 0xFF999999;
fPaint.setColor(fBGColor);
fResizing = false;
}
bool DebuggerStateView::onEvent(const SkEvent& evt) {
if (evt.isType(SKDEBUGGER_STATETYPE)) {
fMatrix = evt.findString(SKDEBUGGER_MATRIX);
fClip = evt.findString(SKDEBUGGER_CLIP);
SkPaint* ptr;
if (evt.getMetaData().findPtr(SKDEBUGGER_PAINT, (void**)&ptr)) {
fPaint = *ptr;
fPaintInfo = evt.findString(SKDEBUGGER_PAINTINFO);
}
this->inval(NULL);
return true;
}
return this->INHERITED::onEvent(evt);
}
void DebuggerStateView::onDraw(SkCanvas* canvas) {
canvas->drawColor(fBGColor);
//Display Current Paint
SkRect r = {10, 20, 40, 50};
canvas->drawRect(r, fPaint);
//Display Information
SkPaint p;
p.setTextSize(SKDEBUGGER_TEXTSIZE);
p.setAntiAlias(true);
SkScalar x = 50 * SK_Scalar1;
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);
p.setColor(SKDEBUGGER_RESIZEBARCOLOR);
r = SkRect::MakeXYWH(0, 0, this->width(), SKDEBUGGER_RESIZEBARSIZE);
canvas->drawRect(r, p);
}