aboutsummaryrefslogtreecommitdiffhomepage
path: root/experimental/Debugger/DebuggerStateView.cpp
diff options
context:
space:
mode:
authorGravatar yangsu@google.com <yangsu@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-08-12 14:27:47 +0000
committerGravatar yangsu@google.com <yangsu@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-08-12 14:27:47 +0000
commitef7bdfac618f60e9edc9f42cd4661d563937e6d8 (patch)
tree3acb17216c4ede79d0c349182dfaca38e96803a1 /experimental/Debugger/DebuggerStateView.cpp
parent16edff2b1cbd80e36456138f8631711a585205ba (diff)
Added Debugger to Sample App, off by default
Removed CocoaDebugger from experimental Slight changes to SkOSMenu Bug fixes for NetPipeReader and DrawingBoard git-svn-id: http://skia.googlecode.com/svn/trunk@2102 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'experimental/Debugger/DebuggerStateView.cpp')
-rw-r--r--experimental/Debugger/DebuggerStateView.cpp52
1 files changed, 52 insertions, 0 deletions
diff --git a/experimental/Debugger/DebuggerStateView.cpp b/experimental/Debugger/DebuggerStateView.cpp
new file mode 100644
index 0000000000..2953e8f921
--- /dev/null
+++ b/experimental/Debugger/DebuggerStateView.cpp
@@ -0,0 +1,52 @@
+
+/*
+ * 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);
+ 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);
+
+ p.setColor(SKDEBUGGER_RESIZEBARCOLOR);
+ r = SkRect::MakeXYWH(0, 0, this->width(), SKDEBUGGER_RESIZEBARSIZE);
+ canvas->drawRect(r, p);
+ this->INHERITED::onDraw(canvas);
+} \ No newline at end of file