diff options
Diffstat (limited to 'experimental/CocoaDebugger/SkDebugDumper.cpp')
-rw-r--r-- | experimental/CocoaDebugger/SkDebugDumper.cpp | 168 |
1 files changed, 0 insertions, 168 deletions
diff --git a/experimental/CocoaDebugger/SkDebugDumper.cpp b/experimental/CocoaDebugger/SkDebugDumper.cpp deleted file mode 100644 index 225435a4bc..0000000000 --- a/experimental/CocoaDebugger/SkDebugDumper.cpp +++ /dev/null @@ -1,168 +0,0 @@ - -/* - * 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 "SkDebugDumper.h" -#include "SkString.h" -#include "SkPaint.h" -#include "SkShader.h" -#include "SkPathEffect.h" -#include "SkXfermode.h" -#include "SkColorFilter.h" -#include "SkPathEffect.h" -#include "SkMaskFilter.h" -#include "SkGradientShader.h" -#include "SkDebuggerViews.h" - -bool gNeverSetToTrueJustNeedToFoolLinker; -static void init_effects() { - if (gNeverSetToTrueJustNeedToFoolLinker) { - SkPoint p = SkPoint::Make(0,0); - SkPoint q = SkPoint::Make(100,100); - SkPoint pts[] = {p, q}; - SkColor colors[] = { SK_ColorRED, SK_ColorGREEN }; - SkScalar pos[] = { 0, 1.0}; - SkGradientShader::CreateLinear(pts, colors, pos, 2, - SkShader::kMirror_TileMode); - } -} - -SkDebugDumper::SkDebugDumper(SkEventSinkID cID, SkEventSinkID clID, - SkEventSinkID ipID) { - fContentID = cID; - fCommandListID = clID; - fInfoPanelID = ipID; - fInit = false; - fDisabled = false; - fCount = 0; - init_effects(); -} - -static void appendPtr(SkString* str, const void* ptr, const char name[]) { - if (ptr) { - str->appendf("$s: %p\t", name, ptr); - } -} - -static void appendFlattenable(SkString* str, const SkFlattenable* ptr, - const char name[]) { - if (ptr) { - SkString info; - if (ptr->toDumpString(&info)) { - str->appendf("%s", info.c_str()); - } else { - str->appendf("%s: %p", name, ptr); - } - } -} - -static SkString dumpMatrix(SkDumpCanvasM* canvas) { - SkString str; - SkMatrix m = canvas->getTotalMatrix(); - str.appendf("Matrix:"); - str.appendf("Translate (%0.4g, %0.4g) ", - SkScalarToFloat(m.get(SkMatrix::kMTransX)), - SkScalarToFloat(m.get(SkMatrix::kMTransY))); - str.appendf("Scale (%0.4g, %0.4g) ", - SkScalarToFloat(m.get(SkMatrix::kMScaleX)), - SkScalarToFloat(m.get(SkMatrix::kMScaleY))); - str.appendf("Skew (%0.4g, %0.4g) ", - SkScalarToFloat(m.get(SkMatrix::kMSkewX)), - SkScalarToFloat(m.get(SkMatrix::kMSkewY))); - str.appendf("Perspective (%0.4g, %0.4g, %0.4g) ", - SkScalarToFloat(m.get(SkMatrix::kMPersp0)), - SkScalarToFloat(m.get(SkMatrix::kMPersp1)), - SkScalarToFloat(m.get(SkMatrix::kMPersp2))); - return str; -} - -static SkString dumpClip(SkDumpCanvasM* canvas) { - SkString str; - SkPath p; - int maxPts = 50; - if (canvas->getTotalClip().getBoundaryPath(&p)) { - SkPoint pts[maxPts]; - int numPts = p.getPoints(pts, maxPts); - - str.appendf("Clip: [ "); - for (int i = 0; i < numPts; ++i) { - str.appendf("(%0.4g, %0.4g)", pts[i].x(), pts[i].y()); - if (i < numPts-1) - str.appendf(" , "); - } - str.appendf(" ]"); - } - return str; -} - -static const char* gPaintFlags[] = { - "AntiAliasing", - "Bitmap Filtering", - "Dithering", - "Underline Text", - "Strike-Through Text", - "Fake Bold Text", - "Linear Text", - "Subpixel Positioned Text", - "Device Kerning Text", - "LCD/Subpixel Glyph Rendering", - "Embedded Bitmap Text", - "Freetype Autohinting", - - "ALL" -}; - - -static SkString dumpPaint(SkDumpCanvasM* canvas, const SkPaint* p, - SkDumpCanvasM::Verb verb) { - SkString str; - str.appendf("Color: #%08X\n", p->getColor()); - str.appendf("Flags: %s\n", gPaintFlags[p->getFlags()]); - appendFlattenable(&str, p->getShader(), "shader"); - appendFlattenable(&str, p->getXfermode(), "xfermode"); - appendFlattenable(&str, p->getPathEffect(), "pathEffect"); - appendFlattenable(&str, p->getMaskFilter(), "maskFilter"); - appendFlattenable(&str, p->getPathEffect(), "pathEffect"); - appendFlattenable(&str, p->getColorFilter(), "filter"); - - if (SkDumpCanvasM::kDrawText_Verb == verb) { - str.appendf("Text Size:%0.4g\n", SkScalarToFloat(p->getTextSize())); - appendPtr(&str, p->getTypeface(), "typeface"); - } - - return str; -} - -void SkDebugDumper::dump(SkDumpCanvasM* canvas, SkDumpCanvasM::Verb verb, - const char str[], const SkPaint* p) { - if (!fDisabled) { - SkString msg, tab; - - const int level = canvas->getNestLevel() + canvas->getSaveCount() - 1; - SkASSERT(level >= 0); - for (int i = 0; i < level; i++) { - tab.append("| "); - } - - msg.appendf("%03d: %s%s\n", fCount, tab.c_str(), str); - ++fCount; - if (!fInit) { - SkEvent* cmd = new SkEvent(SkDebugger_CommandType); - cmd->setString(SkDebugger_Atom, msg); - cmd->post(fCommandListID, 100); - } - else { - SkEvent* state = new SkEvent(SkDebugger_StateType); - state->setString(SkDebugger_Matrix, dumpMatrix(canvas)); - state->setString(SkDebugger_Clip, dumpClip(canvas)); - if (p) { - state->setString(SkDebugger_PaintInfo, dumpPaint(canvas, p, verb)); - state->getMetaData().setPtr(SkDebugger_Paint, (void*)p, PaintProc); - } - state->post(fInfoPanelID); - } - } -}
\ No newline at end of file |