Remove the SkCanvas comment API
No longer used in Chromium/Blink. R=reed@google.com,robertphillips@google.com,mtklein@google.com Review URL: https://codereview.chromium.org/1153593003
This commit is contained in:
parent
e0ef4a7157
commit
109a23d64f
@ -779,10 +779,6 @@ void SkDebuggerGUI::setupListWidget() {
|
|||||||
SkDrawCommand::GetCommandString(SkDrawCommand::kSaveLayer_OpType)));
|
SkDrawCommand::GetCommandString(SkDrawCommand::kSaveLayer_OpType)));
|
||||||
SkASSERT(!strcmp("Restore",
|
SkASSERT(!strcmp("Restore",
|
||||||
SkDrawCommand::GetCommandString(SkDrawCommand::kRestore_OpType)));
|
SkDrawCommand::GetCommandString(SkDrawCommand::kRestore_OpType)));
|
||||||
SkASSERT(!strcmp("BeginCommentGroup",
|
|
||||||
SkDrawCommand::GetCommandString(SkDrawCommand::kBeginCommentGroup_OpType)));
|
|
||||||
SkASSERT(!strcmp("EndCommentGroup",
|
|
||||||
SkDrawCommand::GetCommandString(SkDrawCommand::kEndCommentGroup_OpType)));
|
|
||||||
SkASSERT(!strcmp("BeginDrawPicture",
|
SkASSERT(!strcmp("BeginDrawPicture",
|
||||||
SkDrawCommand::GetCommandString(SkDrawCommand::kBeginDrawPicture_OpType)));
|
SkDrawCommand::GetCommandString(SkDrawCommand::kBeginDrawPicture_OpType)));
|
||||||
SkASSERT(!strcmp("EndDrawPicture",
|
SkASSERT(!strcmp("EndDrawPicture",
|
||||||
@ -799,7 +795,6 @@ void SkDebuggerGUI::setupListWidget() {
|
|||||||
item->setData(Qt::UserRole + 1, counter++);
|
item->setData(Qt::UserRole + 1, counter++);
|
||||||
|
|
||||||
if (0 == strcmp("Restore", commandString.c_str()) ||
|
if (0 == strcmp("Restore", commandString.c_str()) ||
|
||||||
0 == strcmp("EndCommentGroup", commandString.c_str()) ||
|
|
||||||
0 == strcmp("EndDrawPicture", commandString.c_str())) {
|
0 == strcmp("EndDrawPicture", commandString.c_str())) {
|
||||||
indent -= 10;
|
indent -= 10;
|
||||||
}
|
}
|
||||||
@ -808,7 +803,6 @@ void SkDebuggerGUI::setupListWidget() {
|
|||||||
|
|
||||||
if (0 == strcmp("Save", commandString.c_str()) ||
|
if (0 == strcmp("Save", commandString.c_str()) ||
|
||||||
0 == strcmp("SaveLayer", commandString.c_str()) ||
|
0 == strcmp("SaveLayer", commandString.c_str()) ||
|
||||||
0 == strcmp("BeginCommentGroup", commandString.c_str()) ||
|
|
||||||
0 == strcmp("BeginDrawPicture", commandString.c_str())) {
|
0 == strcmp("BeginDrawPicture", commandString.c_str())) {
|
||||||
indent += 10;
|
indent += 10;
|
||||||
}
|
}
|
||||||
|
@ -26,9 +26,6 @@ public:
|
|||||||
explicit SkNulCanvas(const SkBitmap& bitmap) : SkCanvas(bitmap) {}
|
explicit SkNulCanvas(const SkBitmap& bitmap) : SkCanvas(bitmap) {}
|
||||||
virtual ~SkNulCanvas() {}
|
virtual ~SkNulCanvas() {}
|
||||||
|
|
||||||
void beginCommentGroup(const char* description) override {}
|
|
||||||
void addComment(const char* kywd, const char* value) override {}
|
|
||||||
void endCommentGroup() override {}
|
|
||||||
SkDrawFilter* setDrawFilter(SkDrawFilter* filter) override {return NULL;}
|
SkDrawFilter* setDrawFilter(SkDrawFilter* filter) override {return NULL;}
|
||||||
|
|
||||||
bool isClipEmpty() const override { return false; }
|
bool isClipEmpty() const override { return false; }
|
||||||
|
@ -252,14 +252,10 @@ protected:
|
|||||||
}
|
}
|
||||||
|
|
||||||
void onDraw(SkCanvas* canvas) override {
|
void onDraw(SkCanvas* canvas) override {
|
||||||
SkAutoCommentBlock acb(canvas, "onDraw");
|
|
||||||
|
|
||||||
canvas->translate(20 * SK_Scalar1, 20 * SK_Scalar1);
|
canvas->translate(20 * SK_Scalar1, 20 * SK_Scalar1);
|
||||||
|
|
||||||
int testCount = 0;
|
int testCount = 0;
|
||||||
|
|
||||||
canvas->addComment("Test", "Various Paints");
|
|
||||||
|
|
||||||
for (int i = 0; i < fPaints.count(); ++i) {
|
for (int i = 0; i < fPaints.count(); ++i) {
|
||||||
for (int j = 0; j < fRects.count(); ++j, ++testCount) {
|
for (int j = 0; j < fRects.count(); ++j, ++testCount) {
|
||||||
canvas->save();
|
canvas->save();
|
||||||
@ -269,8 +265,6 @@ protected:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
canvas->addComment("Test", "Matrices");
|
|
||||||
|
|
||||||
SkPaint paint;
|
SkPaint paint;
|
||||||
paint.setColor(SK_ColorWHITE);
|
paint.setColor(SK_ColorWHITE);
|
||||||
paint.setAntiAlias(true);
|
paint.setAntiAlias(true);
|
||||||
|
@ -1033,20 +1033,6 @@ public:
|
|||||||
*/
|
*/
|
||||||
void drawDrawable(SkDrawable* drawable);
|
void drawDrawable(SkDrawable* drawable);
|
||||||
|
|
||||||
/** Add comments. beginCommentGroup/endCommentGroup open/close a new group.
|
|
||||||
Each comment added via addComment is notionally attached to its
|
|
||||||
enclosing group. Top-level comments simply belong to no group.
|
|
||||||
*/
|
|
||||||
virtual void beginCommentGroup(const char* /*description*/) {
|
|
||||||
// do nothing. Subclasses may do something
|
|
||||||
}
|
|
||||||
virtual void addComment(const char* /*kywd*/, const char* /*value*/) {
|
|
||||||
// do nothing. Subclasses may do something
|
|
||||||
}
|
|
||||||
virtual void endCommentGroup() {
|
|
||||||
// do nothing. Subclasses may do something
|
|
||||||
}
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
/** Get the current filter object. The filter's reference count is not
|
/** Get the current filter object. The filter's reference count is not
|
||||||
@ -1425,28 +1411,6 @@ private:
|
|||||||
};
|
};
|
||||||
#define SkAutoCanvasRestore(...) SK_REQUIRE_LOCAL_VAR(SkAutoCanvasRestore)
|
#define SkAutoCanvasRestore(...) SK_REQUIRE_LOCAL_VAR(SkAutoCanvasRestore)
|
||||||
|
|
||||||
/** Stack helper class to automatically open and close a comment block
|
|
||||||
*/
|
|
||||||
class SkAutoCommentBlock : SkNoncopyable {
|
|
||||||
public:
|
|
||||||
SkAutoCommentBlock(SkCanvas* canvas, const char* description) {
|
|
||||||
fCanvas = canvas;
|
|
||||||
if (fCanvas) {
|
|
||||||
fCanvas->beginCommentGroup(description);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
~SkAutoCommentBlock() {
|
|
||||||
if (fCanvas) {
|
|
||||||
fCanvas->endCommentGroup();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
SkCanvas* fCanvas;
|
|
||||||
};
|
|
||||||
#define SkAutoCommentBlock(...) SK_REQUIRE_LOCAL_VAR(SkAutoCommentBlock)
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If the caller wants read-only access to the pixels in a canvas, it can just
|
* If the caller wants read-only access to the pixels in a canvas, it can just
|
||||||
* call canvas->peekPixels(), since that is the fastest way to "peek" at the
|
* call canvas->peekPixels(), since that is the fastest way to "peek" at the
|
||||||
|
@ -179,6 +179,9 @@ private:
|
|||||||
static_assert(MIN_PICTURE_VERSION <= 41,
|
static_assert(MIN_PICTURE_VERSION <= 41,
|
||||||
"Remove kFontFileName and related code from SkFontDescriptor.cpp.");
|
"Remove kFontFileName and related code from SkFontDescriptor.cpp.");
|
||||||
|
|
||||||
|
static_assert(MIN_PICTURE_VERSION <= 42,
|
||||||
|
"Remove COMMENT API handlers from SkPicturePlayback.cpp");
|
||||||
|
|
||||||
static bool IsValidPictInfo(const SkPictInfo& info);
|
static bool IsValidPictInfo(const SkPictInfo& info);
|
||||||
static SkPicture* Forwardport(const SkPictInfo&, const SkPictureData*);
|
static SkPicture* Forwardport(const SkPictInfo&, const SkPictureData*);
|
||||||
|
|
||||||
|
@ -49,10 +49,6 @@ public:
|
|||||||
kDrawPatch_Verb,
|
kDrawPatch_Verb,
|
||||||
kDrawData_Verb, // obsolete
|
kDrawData_Verb, // obsolete
|
||||||
|
|
||||||
kBeginCommentGroup_Verb,
|
|
||||||
kAddComment_Verb,
|
|
||||||
kEndCommentGroup_Verb,
|
|
||||||
|
|
||||||
kCull_Verb
|
kCull_Verb
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -75,10 +71,6 @@ public:
|
|||||||
|
|
||||||
int getNestLevel() const { return fNestLevel; }
|
int getNestLevel() const { return fNestLevel; }
|
||||||
|
|
||||||
void beginCommentGroup(const char* description) override;
|
|
||||||
void addComment(const char* kywd, const char* value) override;
|
|
||||||
void endCommentGroup() override;
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void willSave() override;
|
void willSave() override;
|
||||||
SaveLayerStrategy willSaveLayer(const SkRect*, const SkPaint*, SaveFlags) override;
|
SaveLayerStrategy willSaveLayer(const SkRect*, const SkPaint*, SaveFlags) override;
|
||||||
|
@ -25,10 +25,6 @@ public:
|
|||||||
|
|
||||||
SkDrawFilter* setDrawFilter(SkDrawFilter*) override;
|
SkDrawFilter* setDrawFilter(SkDrawFilter*) override;
|
||||||
|
|
||||||
void beginCommentGroup(const char* description) override;
|
|
||||||
void addComment(const char* kywd, const char* value) override;
|
|
||||||
void endCommentGroup() override;
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
SkTDArray<SkCanvas*> fList;
|
SkTDArray<SkCanvas*> fList;
|
||||||
|
|
||||||
|
@ -57,9 +57,9 @@ enum DrawType {
|
|||||||
SKEW,
|
SKEW,
|
||||||
TRANSLATE,
|
TRANSLATE,
|
||||||
NOOP,
|
NOOP,
|
||||||
BEGIN_COMMENT_GROUP,
|
BEGIN_COMMENT_GROUP, // deprecated (M44)
|
||||||
COMMENT,
|
COMMENT, // deprecated (M44)
|
||||||
END_COMMENT_GROUP,
|
END_COMMENT_GROUP, // deprecated (M44)
|
||||||
|
|
||||||
// new ops -- feel free to re-alphabetize on next version bump
|
// new ops -- feel free to re-alphabetize on next version bump
|
||||||
DRAW_DRRECT,
|
DRAW_DRRECT,
|
||||||
|
@ -204,18 +204,18 @@ void SkPicturePlayback::handleOp(SkReader32* reader,
|
|||||||
reader->readRRect(&inner);
|
reader->readRRect(&inner);
|
||||||
canvas->drawDRRect(outer, inner, paint);
|
canvas->drawDRRect(outer, inner, paint);
|
||||||
} break;
|
} break;
|
||||||
case BEGIN_COMMENT_GROUP: {
|
case BEGIN_COMMENT_GROUP:
|
||||||
const char* desc = reader->readString();
|
reader->readString();
|
||||||
canvas->beginCommentGroup(desc);
|
// deprecated (M44)
|
||||||
} break;
|
break;
|
||||||
case COMMENT: {
|
case COMMENT:
|
||||||
const char* kywd = reader->readString();
|
reader->readString();
|
||||||
const char* value = reader->readString();
|
reader->readString();
|
||||||
canvas->addComment(kywd, value);
|
// deprecated (M44)
|
||||||
} break;
|
break;
|
||||||
case END_COMMENT_GROUP: {
|
case END_COMMENT_GROUP:
|
||||||
canvas->endCommentGroup();
|
// deprecated (M44)
|
||||||
} break;
|
break;
|
||||||
case DRAW_OVAL: {
|
case DRAW_OVAL: {
|
||||||
const SkPaint& paint = *fPictureData->getPaint(reader);
|
const SkPaint& paint = *fPictureData->getPaint(reader);
|
||||||
canvas->drawOval(reader->skipT<SkRect>(), paint);
|
canvas->drawOval(reader->skipT<SkRect>(), paint);
|
||||||
|
@ -815,33 +815,6 @@ void SkPictureRecord::onDrawPatch(const SkPoint cubics[12], const SkColor colors
|
|||||||
this->validate(initialOffset, size);
|
this->validate(initialOffset, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SkPictureRecord::beginCommentGroup(const char* description) {
|
|
||||||
// op/size + length of string + \0 terminated chars
|
|
||||||
size_t length = strlen(description);
|
|
||||||
size_t size = 2 * kUInt32Size + SkAlign4(length + 1);
|
|
||||||
size_t initialOffset = this->addDraw(BEGIN_COMMENT_GROUP, &size);
|
|
||||||
fWriter.writeString(description, length);
|
|
||||||
this->validate(initialOffset, size);
|
|
||||||
}
|
|
||||||
|
|
||||||
void SkPictureRecord::addComment(const char* kywd, const char* value) {
|
|
||||||
// op/size + 2x length of string + 2x \0 terminated chars
|
|
||||||
size_t kywdLen = strlen(kywd);
|
|
||||||
size_t valueLen = strlen(value);
|
|
||||||
size_t size = 3 * kUInt32Size + SkAlign4(kywdLen + 1) + SkAlign4(valueLen + 1);
|
|
||||||
size_t initialOffset = this->addDraw(COMMENT, &size);
|
|
||||||
fWriter.writeString(kywd, kywdLen);
|
|
||||||
fWriter.writeString(value, valueLen);
|
|
||||||
this->validate(initialOffset, size);
|
|
||||||
}
|
|
||||||
|
|
||||||
void SkPictureRecord::endCommentGroup() {
|
|
||||||
// op/size
|
|
||||||
size_t size = 1 * kUInt32Size;
|
|
||||||
size_t initialOffset = this->addDraw(END_COMMENT_GROUP, &size);
|
|
||||||
this->validate(initialOffset, size);
|
|
||||||
}
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
SkSurface* SkPictureRecord::onNewSurface(const SkImageInfo& info, const SkSurfaceProps&) {
|
SkSurface* SkPictureRecord::onNewSurface(const SkImageInfo& info, const SkSurfaceProps&) {
|
||||||
|
@ -29,10 +29,6 @@ public:
|
|||||||
SkPictureRecord(const SkISize& dimensions, uint32_t recordFlags);
|
SkPictureRecord(const SkISize& dimensions, uint32_t recordFlags);
|
||||||
virtual ~SkPictureRecord();
|
virtual ~SkPictureRecord();
|
||||||
|
|
||||||
void beginCommentGroup(const char* description) override;
|
|
||||||
void addComment(const char* kywd, const char* value) override;
|
|
||||||
void endCommentGroup() override;
|
|
||||||
|
|
||||||
const SkTDArray<const SkPicture* >& getPictureRefs() const {
|
const SkTDArray<const SkPicture* >& getPictureRefs() const {
|
||||||
return fPictureRefs;
|
return fPictureRefs;
|
||||||
}
|
}
|
||||||
|
@ -86,10 +86,6 @@ DRAW(ClipRRect, clipRRect(r.rrect, r.opAA.op, r.opAA.aa));
|
|||||||
DRAW(ClipRect, clipRect(r.rect, r.opAA.op, r.opAA.aa));
|
DRAW(ClipRect, clipRect(r.rect, r.opAA.op, r.opAA.aa));
|
||||||
DRAW(ClipRegion, clipRegion(r.region, r.op));
|
DRAW(ClipRegion, clipRegion(r.region, r.op));
|
||||||
|
|
||||||
DRAW(BeginCommentGroup, beginCommentGroup(r.description));
|
|
||||||
DRAW(AddComment, addComment(r.key, r.value));
|
|
||||||
DRAW(EndCommentGroup, endCommentGroup());
|
|
||||||
|
|
||||||
DRAW(DrawBitmap, drawBitmap(r.bitmap.shallowCopy(), r.left, r.top, r.paint));
|
DRAW(DrawBitmap, drawBitmap(r.bitmap.shallowCopy(), r.left, r.top, r.paint));
|
||||||
DRAW(DrawBitmapNine, drawBitmapNine(r.bitmap.shallowCopy(), r.center, r.dst, r.paint));
|
DRAW(DrawBitmapNine, drawBitmapNine(r.bitmap.shallowCopy(), r.center, r.dst, r.paint));
|
||||||
DRAW(DrawBitmapRectToRect,
|
DRAW(DrawBitmapRectToRect,
|
||||||
@ -289,9 +285,6 @@ private:
|
|||||||
void trackBounds(const ClipRRect&) { this->pushControl(); }
|
void trackBounds(const ClipRRect&) { this->pushControl(); }
|
||||||
void trackBounds(const ClipPath&) { this->pushControl(); }
|
void trackBounds(const ClipPath&) { this->pushControl(); }
|
||||||
void trackBounds(const ClipRegion&) { this->pushControl(); }
|
void trackBounds(const ClipRegion&) { this->pushControl(); }
|
||||||
void trackBounds(const BeginCommentGroup&) { this->pushControl(); }
|
|
||||||
void trackBounds(const AddComment&) { this->pushControl(); }
|
|
||||||
void trackBounds(const EndCommentGroup&) { this->pushControl(); }
|
|
||||||
|
|
||||||
// For all other ops, we can calculate and store the bounds directly now.
|
// For all other ops, we can calculate and store the bounds directly now.
|
||||||
template <typename T> void trackBounds(const T& op) {
|
template <typename T> void trackBounds(const T& op) {
|
||||||
|
@ -350,15 +350,3 @@ void SkRecorder::onClipRegion(const SkRegion& deviceRgn, SkRegion::Op op) {
|
|||||||
APPEND(ClipRegion, this->devBounds(), delay_copy(deviceRgn), op);
|
APPEND(ClipRegion, this->devBounds(), delay_copy(deviceRgn), op);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SkRecorder::beginCommentGroup(const char* description) {
|
|
||||||
APPEND(BeginCommentGroup, this->copy(description));
|
|
||||||
}
|
|
||||||
|
|
||||||
void SkRecorder::addComment(const char* key, const char* value) {
|
|
||||||
APPEND(AddComment, this->copy(key), this->copy(value));
|
|
||||||
}
|
|
||||||
|
|
||||||
void SkRecorder::endCommentGroup() {
|
|
||||||
APPEND(EndCommentGroup);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
@ -116,10 +116,6 @@ public:
|
|||||||
|
|
||||||
void onDrawPicture(const SkPicture*, const SkMatrix*, const SkPaint*) override;
|
void onDrawPicture(const SkPicture*, const SkMatrix*, const SkPaint*) override;
|
||||||
|
|
||||||
void beginCommentGroup(const char*) override;
|
|
||||||
void addComment(const char*, const char*) override;
|
|
||||||
void endCommentGroup() override;
|
|
||||||
|
|
||||||
SkSurface* onNewSurface(const SkImageInfo&, const SkSurfaceProps&) override { return NULL; }
|
SkSurface* onNewSurface(const SkImageInfo&, const SkSurfaceProps&) override { return NULL; }
|
||||||
|
|
||||||
void flushMiniRecorder();
|
void flushMiniRecorder();
|
||||||
|
@ -36,9 +36,6 @@ namespace SkRecords {
|
|||||||
M(ClipRRect) \
|
M(ClipRRect) \
|
||||||
M(ClipRect) \
|
M(ClipRect) \
|
||||||
M(ClipRegion) \
|
M(ClipRegion) \
|
||||||
M(BeginCommentGroup) \
|
|
||||||
M(AddComment) \
|
|
||||||
M(EndCommentGroup) \
|
|
||||||
M(DrawBitmap) \
|
M(DrawBitmap) \
|
||||||
M(DrawBitmapNine) \
|
M(DrawBitmapNine) \
|
||||||
M(DrawBitmapRectToRect) \
|
M(DrawBitmapRectToRect) \
|
||||||
@ -253,10 +250,6 @@ RECORD3(ClipRRect, SkIRect, devBounds, SkRRect, rrect, RegionOpAndAA, opA
|
|||||||
RECORD3(ClipRect, SkIRect, devBounds, SkRect, rect, RegionOpAndAA, opAA);
|
RECORD3(ClipRect, SkIRect, devBounds, SkRect, rect, RegionOpAndAA, opAA);
|
||||||
RECORD3(ClipRegion, SkIRect, devBounds, SkRegion, region, SkRegion::Op, op);
|
RECORD3(ClipRegion, SkIRect, devBounds, SkRegion, region, SkRegion::Op, op);
|
||||||
|
|
||||||
RECORD1(BeginCommentGroup, PODArray<char>, description);
|
|
||||||
RECORD2(AddComment, PODArray<char>, key, PODArray<char>, value);
|
|
||||||
RECORD0(EndCommentGroup);
|
|
||||||
|
|
||||||
// While not strictly required, if you have an SkPaint, it's fastest to put it first.
|
// While not strictly required, if you have an SkPaint, it's fastest to put it first.
|
||||||
RECORD4(DrawBitmap, Optional<SkPaint>, paint,
|
RECORD4(DrawBitmap, Optional<SkPaint>, paint,
|
||||||
ImmutableBitmap, bitmap,
|
ImmutableBitmap, bitmap,
|
||||||
|
@ -238,10 +238,6 @@ public:
|
|||||||
return bytesAllocated;
|
return bytesAllocated;
|
||||||
}
|
}
|
||||||
|
|
||||||
void beginCommentGroup(const char* description) override;
|
|
||||||
void addComment(const char* kywd, const char* value) override;
|
|
||||||
void endCommentGroup() override;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Flatten an SkBitmap to send to the reader, where it will be referenced
|
* Flatten an SkBitmap to send to the reader, where it will be referenced
|
||||||
* according to slot.
|
* according to slot.
|
||||||
@ -1146,18 +1142,6 @@ void SkGPipeCanvas::onDrawPatch(const SkPoint cubics[12], const SkColor colors[4
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SkGPipeCanvas::beginCommentGroup(const char* description) {
|
|
||||||
// ignore for now
|
|
||||||
}
|
|
||||||
|
|
||||||
void SkGPipeCanvas::addComment(const char* kywd, const char* value) {
|
|
||||||
// ignore for now
|
|
||||||
}
|
|
||||||
|
|
||||||
void SkGPipeCanvas::endCommentGroup() {
|
|
||||||
// ignore for now
|
|
||||||
}
|
|
||||||
|
|
||||||
void SkGPipeCanvas::flushRecording(bool detachCurrentBlock) {
|
void SkGPipeCanvas::flushRecording(bool detachCurrentBlock) {
|
||||||
this->doNotify();
|
this->doNotify();
|
||||||
if (detachCurrentBlock) {
|
if (detachCurrentBlock) {
|
||||||
|
@ -490,18 +490,6 @@ void SkDumpCanvas::onDrawPatch(const SkPoint cubics[12], const SkColor colors[4]
|
|||||||
texCoords[2].x(), texCoords[2].y(), texCoords[3].x(), texCoords[3].y());
|
texCoords[2].x(), texCoords[2].y(), texCoords[3].x(), texCoords[3].y());
|
||||||
}
|
}
|
||||||
|
|
||||||
void SkDumpCanvas::beginCommentGroup(const char* description) {
|
|
||||||
this->dump(kBeginCommentGroup_Verb, NULL, "beginCommentGroup(%s)", description);
|
|
||||||
}
|
|
||||||
|
|
||||||
void SkDumpCanvas::addComment(const char* kywd, const char* value) {
|
|
||||||
this->dump(kAddComment_Verb, NULL, "addComment(%s, %s)", kywd, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
void SkDumpCanvas::endCommentGroup() {
|
|
||||||
this->dump(kEndCommentGroup_Verb, NULL, "endCommentGroup()");
|
|
||||||
}
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
@ -308,24 +308,3 @@ SkDrawFilter* SkNWayCanvas::setDrawFilter(SkDrawFilter* filter) {
|
|||||||
}
|
}
|
||||||
return this->INHERITED::setDrawFilter(filter);
|
return this->INHERITED::setDrawFilter(filter);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SkNWayCanvas::beginCommentGroup(const char* description) {
|
|
||||||
Iter iter(fList);
|
|
||||||
while (iter.next()) {
|
|
||||||
iter->beginCommentGroup(description);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void SkNWayCanvas::addComment(const char* kywd, const char* value) {
|
|
||||||
Iter iter(fList);
|
|
||||||
while (iter.next()) {
|
|
||||||
iter->addComment(kywd, value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void SkNWayCanvas::endCommentGroup() {
|
|
||||||
Iter iter(fList);
|
|
||||||
while (iter.next()) {
|
|
||||||
iter->endCommentGroup();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -432,18 +432,6 @@ void SkDebugCanvas::onDrawImageRect(const SkImage* image, const SkRect* src, con
|
|||||||
SkDebugf("SkDebugCanvas::onDrawImageRect unimplemented\n");
|
SkDebugf("SkDebugCanvas::onDrawImageRect unimplemented\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
void SkDebugCanvas::beginCommentGroup(const char* description) {
|
|
||||||
this->addDrawCommand(new SkBeginCommentGroupCommand(description));
|
|
||||||
}
|
|
||||||
|
|
||||||
void SkDebugCanvas::addComment(const char* kywd, const char* value) {
|
|
||||||
this->addDrawCommand(new SkCommentCommand(kywd, value));
|
|
||||||
}
|
|
||||||
|
|
||||||
void SkDebugCanvas::endCommentGroup() {
|
|
||||||
this->addDrawCommand(new SkEndCommentGroupCommand());
|
|
||||||
}
|
|
||||||
|
|
||||||
void SkDebugCanvas::onDrawOval(const SkRect& oval, const SkPaint& paint) {
|
void SkDebugCanvas::onDrawOval(const SkRect& oval, const SkPaint& paint) {
|
||||||
this->addDrawCommand(new SkDrawOvalCommand(oval, paint));
|
this->addDrawCommand(new SkDrawOvalCommand(oval, paint));
|
||||||
}
|
}
|
||||||
|
@ -142,10 +142,6 @@ public:
|
|||||||
// Inherited from SkCanvas
|
// Inherited from SkCanvas
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
void beginCommentGroup(const char* description) override;
|
|
||||||
void addComment(const char* kywd, const char* value) override;
|
|
||||||
void endCommentGroup() override;
|
|
||||||
|
|
||||||
static const int kVizImageHeight = 256;
|
static const int kVizImageHeight = 256;
|
||||||
static const int kVizImageWidth = 256;
|
static const int kVizImageWidth = 256;
|
||||||
|
|
||||||
|
@ -25,13 +25,11 @@ SkDrawCommand::~SkDrawCommand() {
|
|||||||
|
|
||||||
const char* SkDrawCommand::GetCommandString(OpType type) {
|
const char* SkDrawCommand::GetCommandString(OpType type) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case kBeginCommentGroup_OpType: return "BeginCommentGroup";
|
|
||||||
case kBeginDrawPicture_OpType: return "BeginDrawPicture";
|
case kBeginDrawPicture_OpType: return "BeginDrawPicture";
|
||||||
case kClipPath_OpType: return "ClipPath";
|
case kClipPath_OpType: return "ClipPath";
|
||||||
case kClipRegion_OpType: return "ClipRegion";
|
case kClipRegion_OpType: return "ClipRegion";
|
||||||
case kClipRect_OpType: return "ClipRect";
|
case kClipRect_OpType: return "ClipRect";
|
||||||
case kClipRRect_OpType: return "ClipRRect";
|
case kClipRRect_OpType: return "ClipRRect";
|
||||||
case kComment_OpType: return "Comment";
|
|
||||||
case kConcat_OpType: return "Concat";
|
case kConcat_OpType: return "Concat";
|
||||||
case kDrawBitmap_OpType: return "DrawBitmap";
|
case kDrawBitmap_OpType: return "DrawBitmap";
|
||||||
case kDrawBitmapNine_OpType: return "DrawBitmapNine";
|
case kDrawBitmapNine_OpType: return "DrawBitmapNine";
|
||||||
@ -52,7 +50,6 @@ const char* SkDrawCommand::GetCommandString(OpType type) {
|
|||||||
case kDrawTextBlob_OpType: return "DrawTextBlob";
|
case kDrawTextBlob_OpType: return "DrawTextBlob";
|
||||||
case kDrawTextOnPath_OpType: return "DrawTextOnPath";
|
case kDrawTextOnPath_OpType: return "DrawTextOnPath";
|
||||||
case kDrawVertices_OpType: return "DrawVertices";
|
case kDrawVertices_OpType: return "DrawVertices";
|
||||||
case kEndCommentGroup_OpType: return "EndCommentGroup";
|
|
||||||
case kEndDrawPicture_OpType: return "EndDrawPicture";
|
case kEndDrawPicture_OpType: return "EndDrawPicture";
|
||||||
case kRestore_OpType: return "Restore";
|
case kRestore_OpType: return "Restore";
|
||||||
case kSave_OpType: return "Save";
|
case kSave_OpType: return "Save";
|
||||||
@ -361,27 +358,6 @@ bool SkDrawBitmapRectCommand::render(SkCanvas* canvas) const {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
SkBeginCommentGroupCommand::SkBeginCommentGroupCommand(const char* description)
|
|
||||||
: INHERITED(kBeginCommentGroup_OpType)
|
|
||||||
, fDescription(description) {
|
|
||||||
SkString* temp = new SkString;
|
|
||||||
temp->appendf("Description: %s", description);
|
|
||||||
fInfo.push(temp);
|
|
||||||
}
|
|
||||||
|
|
||||||
SkCommentCommand::SkCommentCommand(const char* kywd, const char* value)
|
|
||||||
: INHERITED(kComment_OpType)
|
|
||||||
, fKywd(kywd)
|
|
||||||
, fValue(value) {
|
|
||||||
SkString* temp = new SkString;
|
|
||||||
temp->appendf("%s: %s", kywd, value);
|
|
||||||
fInfo.push(temp);
|
|
||||||
}
|
|
||||||
|
|
||||||
SkEndCommentGroupCommand::SkEndCommentGroupCommand()
|
|
||||||
: INHERITED(kEndCommentGroup_OpType) {
|
|
||||||
}
|
|
||||||
|
|
||||||
SkDrawOvalCommand::SkDrawOvalCommand(const SkRect& oval, const SkPaint& paint)
|
SkDrawOvalCommand::SkDrawOvalCommand(const SkRect& oval, const SkPaint& paint)
|
||||||
: INHERITED(kDrawOval_OpType) {
|
: INHERITED(kDrawOval_OpType) {
|
||||||
fOval = oval;
|
fOval = oval;
|
||||||
|
@ -15,13 +15,11 @@
|
|||||||
class SK_API SkDrawCommand {
|
class SK_API SkDrawCommand {
|
||||||
public:
|
public:
|
||||||
enum OpType {
|
enum OpType {
|
||||||
kBeginCommentGroup_OpType,
|
|
||||||
kBeginDrawPicture_OpType,
|
kBeginDrawPicture_OpType,
|
||||||
kClipPath_OpType,
|
kClipPath_OpType,
|
||||||
kClipRegion_OpType,
|
kClipRegion_OpType,
|
||||||
kClipRect_OpType,
|
kClipRect_OpType,
|
||||||
kClipRRect_OpType,
|
kClipRRect_OpType,
|
||||||
kComment_OpType,
|
|
||||||
kConcat_OpType,
|
kConcat_OpType,
|
||||||
kDrawBitmap_OpType,
|
kDrawBitmap_OpType,
|
||||||
kDrawBitmapNine_OpType,
|
kDrawBitmapNine_OpType,
|
||||||
@ -42,7 +40,6 @@ public:
|
|||||||
kDrawTextBlob_OpType,
|
kDrawTextBlob_OpType,
|
||||||
kDrawTextOnPath_OpType,
|
kDrawTextOnPath_OpType,
|
||||||
kDrawVertices_OpType,
|
kDrawVertices_OpType,
|
||||||
kEndCommentGroup_OpType,
|
|
||||||
kEndDrawPicture_OpType,
|
kEndDrawPicture_OpType,
|
||||||
kRestore_OpType,
|
kRestore_OpType,
|
||||||
kSave_OpType,
|
kSave_OpType,
|
||||||
@ -267,41 +264,6 @@ private:
|
|||||||
typedef SkDrawCommand INHERITED;
|
typedef SkDrawCommand INHERITED;
|
||||||
};
|
};
|
||||||
|
|
||||||
class SkBeginCommentGroupCommand : public SkDrawCommand {
|
|
||||||
public:
|
|
||||||
SkBeginCommentGroupCommand(const char* description);
|
|
||||||
void execute(SkCanvas* canvas) const override {
|
|
||||||
canvas->beginCommentGroup(fDescription.c_str());
|
|
||||||
};
|
|
||||||
private:
|
|
||||||
SkString fDescription;
|
|
||||||
|
|
||||||
typedef SkDrawCommand INHERITED;
|
|
||||||
};
|
|
||||||
|
|
||||||
class SkCommentCommand : public SkDrawCommand {
|
|
||||||
public:
|
|
||||||
SkCommentCommand(const char* kywd, const char* value);
|
|
||||||
void execute(SkCanvas* canvas) const override {
|
|
||||||
canvas->addComment(fKywd.c_str(), fValue.c_str());
|
|
||||||
};
|
|
||||||
private:
|
|
||||||
SkString fKywd;
|
|
||||||
SkString fValue;
|
|
||||||
|
|
||||||
typedef SkDrawCommand INHERITED;
|
|
||||||
};
|
|
||||||
|
|
||||||
class SkEndCommentGroupCommand : public SkDrawCommand {
|
|
||||||
public:
|
|
||||||
SkEndCommentGroupCommand();
|
|
||||||
void execute(SkCanvas* canvas) const override {
|
|
||||||
canvas->endCommentGroup();
|
|
||||||
};
|
|
||||||
private:
|
|
||||||
typedef SkDrawCommand INHERITED;
|
|
||||||
};
|
|
||||||
|
|
||||||
class SkDrawOvalCommand : public SkDrawCommand {
|
class SkDrawOvalCommand : public SkDrawCommand {
|
||||||
public:
|
public:
|
||||||
SkDrawOvalCommand(const SkRect& oval, const SkPaint& paint);
|
SkDrawOvalCommand(const SkRect& oval, const SkPaint& paint);
|
||||||
|
@ -348,9 +348,6 @@ SIMPLE_TEST_STEP(ClipRect, clipRect(d.fRect));
|
|||||||
SIMPLE_TEST_STEP(ClipPath, clipPath(d.fPath));
|
SIMPLE_TEST_STEP(ClipPath, clipPath(d.fPath));
|
||||||
SIMPLE_TEST_STEP(ClipRegion, clipRegion(d.fRegion, SkRegion::kReplace_Op));
|
SIMPLE_TEST_STEP(ClipRegion, clipRegion(d.fRegion, SkRegion::kReplace_Op));
|
||||||
SIMPLE_TEST_STEP(Clear, clear(d.fColor));
|
SIMPLE_TEST_STEP(Clear, clear(d.fColor));
|
||||||
SIMPLE_TEST_STEP(BeginGroup, beginCommentGroup(d.fText.c_str()));
|
|
||||||
SIMPLE_TEST_STEP(AddComment, addComment(d.fText.c_str(), d.fText.c_str()));
|
|
||||||
SIMPLE_TEST_STEP(EndGroup, endCommentGroup());
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
// Complex test steps
|
// Complex test steps
|
||||||
|
@ -50,25 +50,6 @@ DEF_TEST(Recorder, r) {
|
|||||||
REPORTER_ASSERT(r, 1 == tally.count<SkRecords::DrawRect>());
|
REPORTER_ASSERT(r, 1 == tally.count<SkRecords::DrawRect>());
|
||||||
}
|
}
|
||||||
|
|
||||||
// All of Skia will work fine without support for comment groups, but
|
|
||||||
// Chrome's inspector can break. This serves as a simple regression test.
|
|
||||||
DEF_TEST(Recorder_CommentGroups, r) {
|
|
||||||
SkRecord record;
|
|
||||||
SkRecorder recorder(&record, 1920, 1080);
|
|
||||||
|
|
||||||
recorder.beginCommentGroup("test");
|
|
||||||
recorder.addComment("foo", "bar");
|
|
||||||
recorder.addComment("baz", "quux");
|
|
||||||
recorder.endCommentGroup();
|
|
||||||
|
|
||||||
Tally tally;
|
|
||||||
tally.apply(record);
|
|
||||||
|
|
||||||
REPORTER_ASSERT(r, 1 == tally.count<SkRecords::BeginCommentGroup>());
|
|
||||||
REPORTER_ASSERT(r, 2 == tally.count<SkRecords::AddComment>());
|
|
||||||
REPORTER_ASSERT(r, 1 == tally.count<SkRecords::EndCommentGroup>());
|
|
||||||
}
|
|
||||||
|
|
||||||
// Regression test for leaking refs held by optional arguments.
|
// Regression test for leaking refs held by optional arguments.
|
||||||
DEF_TEST(Recorder_RefLeaking, r) {
|
DEF_TEST(Recorder_RefLeaking, r) {
|
||||||
// We use SaveLayer to test:
|
// We use SaveLayer to test:
|
||||||
|
Loading…
Reference in New Issue
Block a user