change drawPicture in SkRecord to just ref the picture
also fix some int/unsigned/size_t warnings
BUG=skia:
R=mtklein@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/449933002
diff --git a/src/core/SkRecords.h b/src/core/SkRecords.h
index e6d98f7..1de1675 100644
--- a/src/core/SkRecords.h
+++ b/src/core/SkRecords.h
@@ -9,6 +9,24 @@
#define SkRecords_DEFINED
#include "SkCanvas.h"
+#include "SkPicture.h"
+
+class SkPictureBox {
+public:
+ SkPictureBox(const SkPicture* obj) : fObj(SkRef(obj)) {}
+ SkPictureBox(const SkPictureBox& src) : fObj(SkRef(src.fObj)) {}
+ ~SkPictureBox() { fObj->unref(); }
+
+ SkPictureBox& operator=(const SkPictureBox& src) {
+ SkRefCnt_SafeAssign(fObj, src.fObj);
+ return *this;
+ }
+
+ operator const SkPicture*() const { return fObj; }
+
+private:
+ const SkPicture* fObj;
+};
namespace SkRecords {
@@ -46,6 +64,7 @@
M(DrawPaint) \
M(DrawPath) \
M(DrawPatch) \
+ M(DrawPicture) \
M(DrawPoints) \
M(DrawPosText) \
M(DrawPosTextH) \
@@ -219,6 +238,7 @@
RECORD1(DrawPaint, SkPaint, paint);
RECORD2(DrawPath, SkPaint, paint, SkPath, path);
RECORD2(DrawPatch, SkPaint, paint, SkPatch, patch);
+RECORD1(DrawPicture, SkPictureBox, picture);
RECORD4(DrawPoints, SkPaint, paint, SkCanvas::PointMode, mode, size_t, count, SkPoint*, pts);
RECORD4(DrawPosText, SkPaint, paint,
PODArray<char>, text,