Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(164)

Unified Diff: src/core/SkRecords.h

Issue 585523003: Simplify a little in SkRecords.h: (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: safe ref Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/core/SkRecordDraw.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/core/SkRecords.h
diff --git a/src/core/SkRecords.h b/src/core/SkRecords.h
index c1c5596b1585c1719f789dd075f8f76b614156a1..c06d276cfaa2e4a6a3ce4835030a41f785e9cc81 100644
--- a/src/core/SkRecords.h
+++ b/src/core/SkRecords.h
@@ -118,17 +118,15 @@ struct T { \
A a; B b; C c; D d; E e; \
};
-#define ACT_AS_PTR(ptr) \
- operator T*() { return ptr; } \
tfarina 2014/09/18 17:35:43 why not keep non-const and const versions? it see
mtklein 2014/09/18 17:52:38 Mostly this is because it is inconvenient to use t
- operator const T*() const { return ptr; } \
- T* operator->() { return ptr; } \
- const T* operator->() const { return ptr; }
+#define ACT_AS_PTR(ptr) \
+ operator T*() const { return ptr; } \
+ T* operator->() const { return ptr; }
template <typename T>
class RefBox : SkNoncopyable {
public:
- RefBox(T* obj) : fObj(SkRef(obj)) {}
- ~RefBox() { fObj->unref(); }
+ RefBox(T* obj) : fObj(SkSafeRef(obj)) {}
+ ~RefBox() { SkSafeUnref(fObj); }
ACT_AS_PTR(fObj);
@@ -239,7 +237,6 @@ RECORD3(DrawDRRect, SkPaint, paint, SkRRect, outer, SkRRect, inner);
RECORD2(DrawOval, SkPaint, paint, SkRect, oval);
RECORD1(DrawPaint, SkPaint, paint);
RECORD2(DrawPath, SkPaint, paint, SkPath, path);
-//RECORD2(DrawPatch, SkPaint, paint, SkPatch, patch);
RECORD3(DrawPicture, Optional<SkPaint>, paint,
RefBox<const SkPicture>, picture,
Optional<SkMatrix>, matrix);
@@ -273,6 +270,12 @@ RECORD5(DrawTextOnPath, SkPaint, paint,
RECORD2(DrawData, PODArray<char>, data, size_t, length);
+RECORD5(DrawPatch, SkPaint, paint,
+ PODArray<SkPoint>, cubics,
+ PODArray<SkColor>, colors,
+ PODArray<SkPoint>, texCoords,
+ RefBox<SkXfermode>, xmode);
+
// This guy is so ugly we just write it manually.
struct DrawVertices {
static const Type kType = DrawVertices_Type;
@@ -307,24 +310,6 @@ struct DrawVertices {
int indexCount;
};
-struct DrawPatch {
- static const Type kType = DrawPatch_Type;
-
- DrawPatch(const SkPaint& paint, SkPoint cubics[12], SkColor colors[4],
- SkPoint texCoords[4], SkXfermode* xmode)
- : paint(paint)
- , cubics(cubics)
- , colors(colors)
- , texCoords(texCoords)
- , xmode(SkSafeRef(xmode)) { }
-
- SkPaint paint;
- PODArray<SkPoint> cubics;
- PODArray<SkColor> colors;
- PODArray<SkPoint> texCoords;
- SkAutoTUnref<SkXfermode> xmode;
-};
-
#undef RECORD0
#undef RECORD1
#undef RECORD2
« no previous file with comments | « src/core/SkRecordDraw.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698