/* * 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); }