6853e808a4
http://codereview.appspot.com/6007056/ git-svn-id: http://skia.googlecode.com/svn/trunk@3689 2bbb7eff-a529-9590-31e7-b0007b416f81
101 lines
2.3 KiB
C++
101 lines
2.3 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 "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;
|
|
}
|
|
|
|
}
|
|
|