#include "SkObjectParser.h"
#include "SkRRect.h"
+#include "SkShader.h"
#include "SkTypeface.h"
#include "SkStream.h"
#include "SkData.h"
SkShader* shader = paint.getShader();
if (NULL != shader) {
mPaint->append("<dt>Shader:</dt><dd>");
+ SkDEVCODE(shader->toString(mPaint);)
mPaint->append("</dd>");
}
+
+#ifdef SK_DEVELOPER
+
#include "SampleCode.h"
#include "SkOSMenu.h"
SkEvent isDebugger(gIsDebuggerQuery);
return view->doQuery(&isDebugger);
}
+
+#endif
\ No newline at end of file
* found in the LICENSE file.
*/
#include "SkDebugDumper.h"
+
+#ifdef SK_DEVELOPER
+
#include "SkString.h"
#include "SkPaint.h"
#include "SkShader.h"
}
}
}
+
+#endif
*/
#ifndef SkDebugDumper_DEFINED
#define SkDebugDumper_DEFINED
+
+#ifdef SK_DEVELOPER
+
#include "SkDumpCanvas.h"
#include "SkEvent.h"
typedef SkDumpCanvas::Dumper INHERITED;
};
+
+#endif
+
#endif
class SkPaint;
class SkPixelRef;
class SkRegion;
+class SkString;
// This is an opaque class, not interpreted by skia
class SkGpuTexture;
int fHeight;
};
+ SkDEVCODE(void toString(SkString* str) const;)
+
private:
struct MipMap;
mutable MipMap* fMipMap;
virtual GradientType asAGradient(GradientInfo* info) const SK_OVERRIDE;
+ SK_DEVELOPER_TO_STRING()
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkColorShader)
protected:
virtual void endContext() SK_OVERRIDE;
virtual void shadeSpan(int x, int y, SkPMColor[], int count) SK_OVERRIDE;
+ SK_DEVELOPER_TO_STRING()
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkComposeShader)
protected:
virtual void shadeSpan16(int x, int y, uint16_t span[], int count) SK_OVERRIDE;
virtual void shadeSpanAlpha(int x, int y, uint8_t alpha[], int count) SK_OVERRIDE;
+ SK_DEVELOPER_TO_STRING()
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkEmptyShader)
protected:
// return the number of bytes read
uint32_t readFromMemory(const void* buffer);
- void dump() const;
- void toDumpString(SkString*) const;
+ SkDEVCODE(void dump() const;)
+ SkDEVCODE(void toString(SkString*) const;)
/**
* Calculates the maximum stretching factor of the matrix. If the matrix has
static SkShader* CreateBitmapShader(const SkBitmap& src,
TileMode tmx, TileMode tmy);
+ SkDEVCODE(virtual void toString(SkString* str) const;)
+
protected:
enum MatrixClass {
kLinear_MatrixClass, // no perspective
#define SkAssertResult(cond) cond
#endif
+#ifdef SK_DEVELOPER
+ #define SkDEVCODE(code) code
+ // the 'toString' helper functions convert Sk* objects to human-readable
+ // form in developer mode
+ #define SK_DEVELOPER_TO_STRING() virtual void toString(SkString* str) const SK_OVERRIDE;
+#else
+ #define SkDEVCODE(code)
+ #define SK_DEVELOPER_TO_STRING()
+#endif
+
template <bool>
struct SkCompileAssert {
};
virtual void shadeSpan(int x, int y, SkPMColor[], int count) SK_OVERRIDE;
virtual void shadeSpan16(int x, int y, uint16_t span[], int count) SK_OVERRIDE;
+ SK_DEVELOPER_TO_STRING()
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkTransparentShader)
private:
#include "SkCanvas.h"
+#ifdef SK_DEVELOPER
+
/** This class overrides all the draw methods on SkCanvas, and formats them
as text, and then sends that to a Dumper helper object.
};
#endif
+
+#endif
canvas->drawPicture(*pict);
canvas->restore();
+#ifdef SK_DEVELOPER
if (false) {
SkDebugfDumper dumper;
SkDumpCanvas dumpCanvas(&dumper);
dumpCanvas.drawPicture(*pict);
}
+#endif
// test that we can re-record a subpicture, and see the results
if (dst[0] != x0 || dst[1] != x1 || dst[2] != x2 ||
dst[3] != y0 || dst[4] != y1 || dst[5] != y2) {
SkString str;
- dst.toDumpString(&str);
+ dst.toString(&str);
SkDebugf("3x3: expected 3x3 [%g %g %g] [%g %g %g] bug got %s\n",
x0, x1, x2, y0, y1, y2, str.c_str());
}
SkString matrixStr;
layer->getLocalTransform(&matrix);
- matrix.toDumpString(&matrixStr);
+ matrix.toString(&matrixStr);
for (int j = 0; j < tab; j++) {
SkDebugf(" ");
#endif
}
#endif
+
+#ifdef SK_DEVELOPER
+void SkBitmap::toString(SkString* str) const {
+
+ static const char* gConfigNames[kConfigCount] = {
+ "NONE", "A1", "A8", "INDEX8", "565", "4444", "8888", "RLE"
+ };
+
+ str->appendf("bitmap: ((%d, %d) %s", this->width(), this->height(),
+ gConfigNames[this->config()]);
+
+ str->append(" (");
+ if (this->isOpaque()) {
+ str->append("opaque");
+ } else {
+ str->append("transparent");
+ }
+ if (this->isImmutable()) {
+ str->append(", immutable");
+ } else {
+ str->append(", not-immutable");
+ }
+ str->append(")");
+
+ SkPixelRef* pr = this->pixelRef();
+ if (NULL == pr) {
+ // show null or the explicit pixel address (rare)
+ str->appendf(" pixels:%p", this->getPixels());
+ } else {
+ const char* uri = pr->getURI();
+ if (NULL != uri) {
+ str->appendf(" uri:\"%s\"", uri);
+ } else {
+ str->appendf(" pixelref:%p", pr);
+ }
+ }
+
+ str->append(")");
+}
+#endif
+
flags &= ~kHasSpan16_Flag;
}
- // if we're only 1-pixel heigh, and we don't rotate, then we can claim this
+ // if we're only 1-pixel high, and we don't rotate, then we can claim this
if (1 == bitmap.height() &&
only_scale_and_translate(this->getTotalInverse())) {
flags |= kConstInY32_Flag;
///////////////////////////////////////////////////////////////////////////////
-static const char* gTileModeName[] = {
- "clamp", "repeat", "mirror"
-};
-
-bool SkBitmapProcShader::toDumpString(SkString* str) const {
- str->printf("BitmapShader: [%d %d %d",
- fRawBitmap.width(), fRawBitmap.height(),
- fRawBitmap.bytesPerPixel());
-
- // add the pixelref
- SkPixelRef* pr = fRawBitmap.pixelRef();
- if (pr) {
- const char* uri = pr->getURI();
- if (uri) {
- str->appendf(" \"%s\"", uri);
- }
- }
+#ifdef SK_DEVELOPER
+void SkBitmapProcShader::toString(SkString* str) const {
+ static const char* gTileModeName[SkShader::kTileModeCount] = {
+ "clamp", "repeat", "mirror"
+ };
- // add the (optional) matrix
- {
- if (this->hasLocalMatrix()) {
- SkString info;
- this->getLocalMatrix().toDumpString(&info);
- str->appendf(" %s", info.c_str());
- }
- }
+ str->append("BitmapShader: (");
- str->appendf(" [%s %s]]",
+ str->appendf("(%s, %s)",
gTileModeName[fState.fTileModeX],
gTileModeName[fState.fTileModeY]);
- return true;
+
+ str->append(" ");
+ fRawBitmap.toString(str);
+
+ this->INHERITED::toString(str);
+
+ str->append(")");
}
+#endif
+
///////////////////////////////////////////////////////////////////////////////
#if SK_SUPPORT_GPU
// overrides from SkShader
virtual bool isOpaque() const SK_OVERRIDE;
- virtual bool setContext(const SkBitmap&, const SkPaint&, const SkMatrix&);
- virtual void endContext();
- virtual uint32_t getFlags() { return fFlags; }
- virtual void shadeSpan(int x, int y, SkPMColor dstC[], int count);
+ virtual bool setContext(const SkBitmap&, const SkPaint&, const SkMatrix&) SK_OVERRIDE;
+ virtual void endContext() SK_OVERRIDE;
+ virtual uint32_t getFlags() SK_OVERRIDE { return fFlags; }
+ virtual void shadeSpan(int x, int y, SkPMColor dstC[], int count) SK_OVERRIDE;
virtual ShadeProc asAShadeProc(void** ctx) SK_OVERRIDE;
- virtual void shadeSpan16(int x, int y, uint16_t dstC[], int count);
- virtual BitmapType asABitmap(SkBitmap*, SkMatrix*, TileMode*) const;
+ virtual void shadeSpan16(int x, int y, uint16_t dstC[], int count) SK_OVERRIDE;
+ virtual BitmapType asABitmap(SkBitmap*, SkMatrix*, TileMode*) const SK_OVERRIDE;
static bool CanDo(const SkBitmap&, TileMode tx, TileMode ty);
-
- // override from flattenable
- virtual bool toDumpString(SkString* str) const;
+
+ SK_DEVELOPER_TO_STRING()
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkBitmapProcShader)
#if SK_SUPPORT_GPU
#include "SkTLazy.h"
#include "SkUtils.h"
#include "SkXfermode.h"
+#include "SkString.h"
SkBlitter::~SkBlitter() {}
}
}
+#ifdef SK_DEVELOPER
+ virtual void toString(SkString* str) const SK_OVERRIDE {
+ str->append("Sk3DShader: (");
+
+ if (NULL != fProxy) {
+ str->append("Proxy: ");
+ fProxy->toString(str);
+ }
+
+ this->INHERITED::toString(str);
+
+ str->append(")");
+ }
+#endif
+
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(Sk3DShader)
protected:
#include "SkFlattenableBuffers.h"
#include "SkShader.h"
#include "SkUnPreMultiply.h"
+#include "SkString.h"
SK_DEFINE_INST_COUNT(SkColorFilter)
fFilter->filterSpan16(result, count, result);
}
+#ifdef SK_DEVELOPER
+void SkFilterShader::toString(SkString* str) const {
+ str->append("SkFilterShader: (");
+
+ str->append("Shader: ");
+ fShader->toString(str);
+ str->append(" Filter: ");
+ // TODO: add "fFilter->toString(str);" once SkColorFilter::toString is added
+
+ this->INHERITED::toString(str);
+
+ str->append(")");
+}
+#endif
\ No newline at end of file
#include "SkColorShader.h"
#include "SkFlattenableBuffers.h"
#include "SkXfermode.h"
+#include "SkString.h"
///////////////////////////////////////////////////////////////////////////////
} while (count > 0);
}
}
+
+#ifdef SK_DEVELOPER
+void SkComposeShader::toString(SkString* str) const {
+ str->append("SkComposeShader: (");
+
+ str->append("ShaderA: ");
+ fShaderA->toString(str);
+ str->append(" ShaderB: ");
+ fShaderB->toString(str);
+ str->append(" Xfermode: ");
+ // TODO: add "fMode->toString(str);" once SkXfermode::toString is added
+
+ this->INHERITED::toString(str);
+
+ str->append(")");
+}
+#endif
#include "SkRasterizer.h"
#include "SkScan.h"
#include "SkShader.h"
+#include "SkString.h"
#include "SkStroke.h"
#include "SkTemplatesPriv.h"
#include "SkTLazy.h"
virtual void shadeSpan(int x, int y, SkPMColor dstC[], int count) SK_OVERRIDE;
+ SK_DEVELOPER_TO_STRING()
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkTriColorShader)
protected:
}
}
+#ifdef SK_DEVELOPER
+void SkTriColorShader::toString(SkString* str) const {
+ str->append("SkTriColorShader: (");
+
+ this->INHERITED::toString(str);
+
+ str->append(")");
+}
+#endif
+
void SkDraw::drawVertices(SkCanvas::VertexMode vmode, int count,
const SkPoint vertices[], const SkPoint textures[],
const SkColor colors[], SkXfermode* xmode,
virtual void shadeSpan(int x, int y, SkPMColor[], int count) SK_OVERRIDE;
virtual void shadeSpan16(int x, int y, uint16_t[], int count) SK_OVERRIDE;
+ SK_DEVELOPER_TO_STRING()
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkFilterShader)
protected:
return 9 * sizeof(SkScalar);
}
+#ifdef SK_DEVELOPER
void SkMatrix::dump() const {
SkString str;
- this->toDumpString(&str);
+ this->toString(&str);
SkDebugf("%s\n", str.c_str());
}
-void SkMatrix::toDumpString(SkString* str) const {
- str->printf("[%8.4f %8.4f %8.4f][%8.4f %8.4f %8.4f][%8.4f %8.4f %8.4f]",
+void SkMatrix::toString(SkString* str) const {
+ str->appendf("[%8.4f %8.4f %8.4f][%8.4f %8.4f %8.4f][%8.4f %8.4f %8.4f]",
#ifdef SK_SCALAR_IS_FLOAT
fMat[0], fMat[1], fMat[2], fMat[3], fMat[4], fMat[5],
fMat[6], fMat[7], fMat[8]);
SkFractToFloat(fMat[6]), SkFractToFloat(fMat[7]), SkFractToFloat(fMat[8]));
#endif
}
+#endif
///////////////////////////////////////////////////////////////////////////////
return SkShader::CreateBitmapShader(src, tmx, tmy, NULL, 0);
}
+#ifdef SK_DEVELOPER
+void SkShader::toString(SkString* str) const {
+ if (this->hasLocalMatrix()) {
+ str->append(" ");
+ this->getLocalMatrix().toString(str);
+ }
+}
+#endif
+
//////////////////////////////////////////////////////////////////////////////
#include "SkColorShader.h"
return kColor_GradientType;
}
+#ifdef SK_DEVELOPER
+void SkColorShader::toString(SkString* str) const {
+ str->append("SkColorShader: (");
+
+ if (fInheritColor) {
+ str->append("Color: inherited from paint");
+ } else {
+ str->append("Color: ");
+ str->appendHex(fColor);
+ }
+
+ this->INHERITED::toString(str);
+
+ str->append(")");
+}
+#endif
+
///////////////////////////////////////////////////////////////////////////////
#include "SkEmptyShader.h"
void SkEmptyShader::shadeSpanAlpha(int x, int y, uint8_t alpha[], int count) {
SkDEBUGFAIL("should never get called, since setContext() returned false");
}
+
+#ifdef SK_DEVELOPER
+void SkEmptyShader::toString(SkString* str) const {
+ str->append("SkEmptyShader: (");
+
+ this->INHERITED::toString(str);
+
+ str->append(")");
+}
+#endif
#include "SkTransparentShader.h"
#include "SkColorPriv.h"
+#include "SkString.h"
bool SkTransparentShader::setContext(const SkBitmap& device,
const SkPaint& paint,
memcpy(span, src, count << 1);
}
}
+
+#ifdef SK_DEVELOPER
+void SkTransparentShader::toString(SkString* str) const {
+ str->append("SkTransparentShader: (");
+
+ this->INHERITED::toString(str);
+
+ str->append(")");
+}
+#endif
if (info) {
if (info->fColorCount >= fColorCount) {
if (info->fColors) {
- memcpy(info->fColors, fOrigColors,
- fColorCount * sizeof(SkColor));
+ memcpy(info->fColors, fOrigColors, fColorCount * sizeof(SkColor));
}
if (info->fColorOffsets) {
if (fColorCount == 2) {
info->fColorOffsets[0] = 0;
info->fColorOffsets[1] = SK_Scalar1;
} else if (fColorCount > 2) {
- for (int i = 0; i < fColorCount; i++)
+ for (int i = 0; i < fColorCount; ++i) {
info->fColorOffsets[i] = SkFixedToScalar(fRecs[i].fPos);
+ }
}
}
}
}
}
+#ifdef SK_DEVELOPER
+void SkGradientShaderBase::toString(SkString* str) const {
+
+ str->appendf("%d colors: ", fColorCount);
+
+ for (int i = 0; i < fColorCount; ++i) {
+ str->appendHex(fOrigColors[i]);
+ if (i < fColorCount-1) {
+ str->append(", ");
+ }
+ }
+
+ if (fColorCount > 2) {
+ str->append(" points: (");
+ for (int i = 0; i < fColorCount; ++i) {
+ str->appendScalar(SkFixedToScalar(fRecs[i].fPos));
+ if (i < fColorCount-1) {
+ str->append(", ");
+ }
+ }
+ str->append(")");
+ }
+
+ static const char* gTileModeName[SkShader::kTileModeCount] = {
+ "clamp", "repeat", "mirror"
+ };
+
+ str->append(" ");
+ str->append(gTileModeName[fTileMode]);
+
+ // TODO: add "fMapper->toString(str);" when SkUnitMapper::toString is added
+
+ this->INHERITED::toString(str);
+}
+#endif
+
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
protected:
SkGradientShaderBase(SkFlattenableReadBuffer& );
virtual void flatten(SkFlattenableWriteBuffer&) const SK_OVERRIDE;
+ SK_DEVELOPER_TO_STRING()
SkUnitMapper* fMapper;
SkMatrix fPtsToUnit; // set by subclass
}
#endif
+
+#ifdef SK_DEVELOPER
+void SkLinearGradient::toString(SkString* str) const {
+ str->append("SkLinearGradient (");
+
+ str->appendf("start: (%f, %f)", fStart.fX, fStart.fY);
+ str->appendf(" end: (%f, %f) ", fEnd.fX, fEnd.fY);
+
+ this->INHERITED::toString(str);
+
+ str->append(")");
+}
+#endif
virtual GradientType asAGradient(GradientInfo* info) const SK_OVERRIDE;
virtual GrEffect* asNewEffect(GrContext* context, const SkPaint&) const SK_OVERRIDE;
+ SK_DEVELOPER_TO_STRING()
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLinearGradient)
protected:
}
#endif
+
+#ifdef SK_DEVELOPER
+void SkRadialGradient::toString(SkString* str) const {
+ str->append("SkRadialGradient: (");
+
+ str->append("center: (");
+ str->appendScalar(fCenter.fX);
+ str->append(", ");
+ str->appendScalar(fCenter.fY);
+ str->append(") radius: ");
+ str->appendScalar(fRadius);
+ str->append(" ");
+
+ this->INHERITED::toString(str);
+
+ str->append(")");
+}
+#endif
virtual GradientType asAGradient(GradientInfo* info) const SK_OVERRIDE;
virtual GrEffect* asNewEffect(GrContext* context, const SkPaint&) const SK_OVERRIDE;
+ SK_DEVELOPER_TO_STRING()
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkRadialGradient)
protected:
}
#endif
+
+#ifdef SK_DEVELOPER
+void SkSweepGradient::toString(SkString* str) const {
+ str->append("SkSweepGradient: (");
+
+ str->append("center: (");
+ str->appendScalar(fCenter.fX);
+ str->append(", ");
+ str->appendScalar(fCenter.fY);
+ str->append(") ");
+
+ this->INHERITED::toString(str);
+
+ str->append(")");
+}
+#endif
virtual GrEffect* asNewEffect(GrContext* context, const SkPaint&) const SK_OVERRIDE;
+ SK_DEVELOPER_TO_STRING()
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkSweepGradient)
protected:
}
#endif
+
+#ifdef SK_DEVELOPER
+void SkTwoPointConicalGradient::toString(SkString* str) const {
+ str->append("SkTwoPointConicalGradient: (");
+
+ str->append("center1: (");
+ str->appendScalar(fCenter1.fX);
+ str->append(", ");
+ str->appendScalar(fCenter1.fY);
+ str->append(") radius1: ");
+ str->appendScalar(fRadius1);
+ str->append(" ");
+
+ str->append("center2: (");
+ str->appendScalar(fCenter2.fX);
+ str->append(", ");
+ str->appendScalar(fCenter2.fY);
+ str->append(") radius2: ");
+ str->appendScalar(fRadius2);
+ str->append(" ");
+
+ this->INHERITED::toString(str);
+
+ str->append(")");
+}
+#endif
SkScalar getStartRadius() const { return fRadius1; }
SkScalar getDiffRadius() const { return fRadius2 - fRadius1; }
+ SK_DEVELOPER_TO_STRING()
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkTwoPointConicalGradient)
protected:
return true;
}
+#ifdef SK_DEVELOPER
+void SkTwoPointRadialGradient::toString(SkString* str) const {
+ str->append("SkTwoPointRadialGradient: (");
+
+ str->append("center1: (");
+ str->appendScalar(fCenter1.fX);
+ str->append(", ");
+ str->appendScalar(fCenter1.fY);
+ str->append(") radius1: ");
+ str->appendScalar(fRadius1);
+ str->append(" ");
+
+ str->append("center2: (");
+ str->appendScalar(fCenter2.fX);
+ str->append(", ");
+ str->appendScalar(fCenter2.fY);
+ str->append(") radius2: ");
+ str->appendScalar(fRadius2);
+ str->append(" ");
+
+ this->INHERITED::toString(str);
+
+ str->append(")");
+}
+#endif
+
SkTwoPointRadialGradient::SkTwoPointRadialGradient(
SkFlattenableReadBuffer& buffer)
: INHERITED(buffer),
SkScalar getStartRadius() const { return fStartRadius; }
SkScalar getDiffRadius() const { return fDiffRadius; }
+ SK_DEVELOPER_TO_STRING()
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkTwoPointRadialGradient)
protected:
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
+
#include "SkDumpCanvas.h"
+
+#ifdef SK_DEVELOPER
#include "SkPicture.h"
#include "SkPixelRef.h"
#include "SkRRect.h"
return gPMNames[pm];
}
-static const char* toString(SkBitmap::Config config) {
- static const char* gConfigNames[] = {
- "NONE", "A1", "A8", "INDEX8", "565", "4444", "8888", "RLE"
- };
- return gConfigNames[config];
-}
-
-static void toString(const SkBitmap& bm, SkString* str) {
- str->appendf("bitmap:[%d %d] %s", bm.width(), bm.height(),
- toString(bm.config()));
-
- SkPixelRef* pr = bm.pixelRef();
- if (NULL == pr) {
- // show null or the explicit pixel address (rare)
- str->appendf(" pixels:%p", bm.getPixels());
- } else {
- const char* uri = pr->getURI();
- if (uri) {
- str->appendf(" uri:\"%s\"", uri);
- } else {
- str->appendf(" pixelref:%p", pr);
- }
- }
-}
-
static void toString(const void* text, size_t byteLen, SkPaint::TextEncoding enc,
SkString* str) {
// FIXME: this code appears to be untested - and probably unused - and probably wrong
bool SkDumpCanvas::concat(const SkMatrix& matrix) {
SkString str;
- matrix.toDumpString(&str);
+ matrix.toString(&str);
this->dump(kMatrix_Verb, NULL, "concat(%s)", str.c_str());
return this->INHERITED::concat(matrix);
}
void SkDumpCanvas::setMatrix(const SkMatrix& matrix) {
SkString str;
- matrix.toDumpString(&str);
+ matrix.toString(&str);
this->dump(kMatrix_Verb, NULL, "setMatrix(%s)", str.c_str());
this->INHERITED::setMatrix(matrix);
}
void SkDumpCanvas::drawBitmap(const SkBitmap& bitmap, SkScalar x, SkScalar y,
const SkPaint* paint) {
SkString str;
- toString(bitmap, &str);
+ bitmap.toString(&str);
this->dump(kDrawBitmap_Verb, paint, "drawBitmap(%s %g %g)", str.c_str(),
SkScalarToFloat(x), SkScalarToFloat(y));
}
void SkDumpCanvas::drawBitmapRectToRect(const SkBitmap& bitmap, const SkRect* src,
const SkRect& dst, const SkPaint* paint) {
SkString bs, rs;
- toString(bitmap, &bs);
+ bitmap.toString(&bs);
toString(dst, &rs);
// show the src-rect only if its not everything
if (src && (src->fLeft > 0 || src->fTop > 0 ||
void SkDumpCanvas::drawBitmapMatrix(const SkBitmap& bitmap, const SkMatrix& m,
const SkPaint* paint) {
SkString bs, ms;
- toString(bitmap, &bs);
- m.toDumpString(&ms);
+ bitmap.toString(&bs);
+ m.toString(&ms);
this->dump(kDrawBitmap_Verb, paint, "drawBitmapMatrix(%s %s)",
bs.c_str(), ms.c_str());
}
void SkDumpCanvas::drawSprite(const SkBitmap& bitmap, int x, int y,
const SkPaint* paint) {
SkString str;
- toString(bitmap, &str);
+ bitmap.toString(&str);
this->dump(kDrawBitmap_Verb, paint, "drawSprite(%s %d %d)", str.c_str(),
x, y);
}
SkDebugfDumper::SkDebugfDumper() : INHERITED(dumpToDebugf, NULL) {}
-
+#endif
}
static void dumpOps(SkPicture* pic) {
+#ifdef SK_DEVELOPER
SkDebugfDumper dumper;
SkDumpCanvas canvas(&dumper);
canvas.drawPicture(*pic);
+#else
+ printf("SK_DEVELOPER mode not enabled\n");
+#endif
}
int tool_main(int argc, char** argv);