| |
| /* |
| * 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 "SkView.h" |
| #include "SkColor.h" |
| #include "SkBitmap.h" |
| #include "SkCanvas.h" |
| #include "SkGPipe.h" |
| #include "SkPaint.h" |
| |
| #include "SkDebugDumper.h" |
| |
| #define SKDEBUGGER_COMMANDTYPE "SKDEBUGGER_COMMAND" |
| #define SKDEBUGGER_STATETYPE "SKDEBUGGER_STATE" |
| |
| #define SKDEBUGGER_ATOM "SKDEBUGGER_ATOM" |
| #define SKDEBUGGER_MATRIX "SKDEBUGGER_MATRIX" |
| #define SKDEBUGGER_CLIP "SKDEBUGGER_CLIP" |
| #define SKDEBUGGER_PAINTINFO "SKDEBUGGER_PAINTINFO" |
| #define SKDEBUGGER_PAINT "SKDEBUGGER_PAINT" |
| |
| #define SKDEBUGGER_TEXTSIZE 14 |
| #define CMD_WIDTH 200 |
| #define INFO_HEIGHT 150.0f |
| #define SKDEBUGGER_HIGHLIGHTCOLOR 0xFF113399 |
| #define SKDEBUGGER_TEXTCOLOR 0xFF000000 |
| #define SKDEBUGGER_RESIZEBARCOLOR 0xFF333333 |
| #define SKDEBUGGER_RESIZEBARSIZE 5 |
| |
| /* |
| * Debugger - Info Panel |
| */ |
| class DebuggerStateView : public SkView { |
| public: |
| DebuggerStateView(); |
| |
| protected: |
| virtual bool onEvent(const SkEvent& evt); |
| virtual void onDraw(SkCanvas* canvas); |
| private: |
| SkColor fBGColor; |
| SkPaint fPaint; |
| SkString fMatrix; |
| SkString fPaintInfo; |
| SkString fClip; |
| bool fResizing; |
| typedef SkView INHERITED; |
| }; |
| |
| /* |
| * Debugger - Commands List |
| */ |
| class DebuggerCommandsView : public SkView { |
| public: |
| DebuggerCommandsView(); |
| ~DebuggerCommandsView(); |
| int nextItem(); |
| int prevItem(); |
| int scrollUp(); |
| int scrollDown(); |
| void highlight(int index); |
| int selectHighlight(int ypos); |
| void toggleCentered(); |
| |
| protected: |
| virtual bool onEvent(const SkEvent& evt); |
| virtual void onSizeChange(); |
| virtual void onDraw(SkCanvas* canvas); |
| private: |
| void init(); |
| void alignCenter(); |
| SkColor fBGColor; |
| int fTopIndex; |
| int fHighlight; |
| SkScalar fSpacing; |
| int fRange; |
| bool fResizing; |
| bool fCentered; |
| SkTDArray<SkString*> fList; |
| typedef SkView INHERITED; |
| }; |
| |
| |
| static void* PaintProc(void* ptr, bool doRef) { |
| SkPaint* p = (SkPaint*) ptr; |
| |
| if (doRef) { |
| return new SkPaint(*p); |
| } |
| else { |
| delete p; |
| return NULL; |
| } |
| |
| } |
| |