| Index: src/record/SkRecorder.h
|
| diff --git a/src/record/SkRecorder.h b/src/record/SkRecorder.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..9d722b4b2bccba49df12c9b5b2d9b213ed236cb5
|
| --- /dev/null
|
| +++ b/src/record/SkRecorder.h
|
| @@ -0,0 +1,70 @@
|
| +#ifndef SkRecorder_DEFINED
|
| +#define SkRecorder_DEFINED
|
| +
|
| +#include "SkCanvas.h"
|
| +#include "SkRecord.h"
|
| +#include "SkRecords.h"
|
| +
|
| +// SkRecorder provides an SkCanvas interface for recording into an SkRecord.
|
| +
|
| +class SkRecorder : public SkCanvas {
|
| +public:
|
| + // Does not take ownership of the SkRecord.
|
| + SkRecorder(SkRecord*, int width, int height);
|
| +
|
| + void clear(SkColor);
|
| + void drawPaint(const SkPaint& paint);
|
| + void drawPoints(PointMode mode, size_t count, const SkPoint pts[], const SkPaint& paint);
|
| + void drawRect(const SkRect& rect, const SkPaint& paint);
|
| + void drawOval(const SkRect& oval, const SkPaint&);
|
| + void drawRRect(const SkRRect& rrect, const SkPaint& paint);
|
| + void drawPath(const SkPath& path, const SkPaint& paint);
|
| + void drawBitmap(const SkBitmap& bitmap, SkScalar left, SkScalar top,
|
| + const SkPaint* paint = NULL);
|
| + void drawBitmapRectToRect(const SkBitmap& bitmap, const SkRect* src, const SkRect& dst,
|
| + const SkPaint* paint = NULL,
|
| + DrawBitmapRectFlags flags = kNone_DrawBitmapRectFlag);
|
| + void drawBitmapMatrix(const SkBitmap& bitmap, const SkMatrix& m, const SkPaint* paint = NULL);
|
| + void drawBitmapNine(const SkBitmap& bitmap, const SkIRect& center, const SkRect& dst,
|
| + const SkPaint* paint = NULL);
|
| + void drawSprite(const SkBitmap& bitmap, int left, int top, const SkPaint* paint = NULL);
|
| + void drawText(const void* text, size_t byteLength, SkScalar x, SkScalar y,
|
| + const SkPaint& paint);
|
| + void drawPosText(const void* text, size_t byteLength, const SkPoint pos[],
|
| + const SkPaint& paint);
|
| + void drawPosTextH(const void* text, size_t byteLength, const SkScalar xpos[], SkScalar constY,
|
| + const SkPaint& paint);
|
| + void drawTextOnPath(const void* text, size_t byteLength,
|
| + const SkPath& path, const SkMatrix* matrix, const SkPaint& paint);
|
| + void drawPicture(SkPicture& picture);
|
| + void drawVertices(VertexMode vmode,
|
| + int vertexCount, const SkPoint vertices[],
|
| + const SkPoint texs[], const SkColor colors[],
|
| + SkXfermode* xmode,
|
| + const uint16_t indices[], int indexCount,
|
| + const SkPaint& paint);
|
| +
|
| + void willSave(SkCanvas::SaveFlags);
|
| + SaveLayerStrategy willSaveLayer(const SkRect*, const SkPaint*, SkCanvas::SaveFlags);
|
| + void willRestore();
|
| +
|
| + void didConcat(const SkMatrix&);
|
| + void didSetMatrix(const SkMatrix&);
|
| +
|
| + void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint&);
|
| + void onClipRect(const SkRect& rect, SkRegion::Op op, ClipEdgeStyle edgeStyle);
|
| + void onClipRRect(const SkRRect& rrect, SkRegion::Op op, ClipEdgeStyle edgeStyle);
|
| + void onClipPath(const SkPath& path, SkRegion::Op op, ClipEdgeStyle edgeStyle);
|
| + void onClipRegion(const SkRegion& deviceRgn, SkRegion::Op op);
|
| +
|
| +private:
|
| + template <typename T>
|
| + T* copy(const T*);
|
| +
|
| + template <typename T>
|
| + T* copy(const T[], unsigned count);
|
| +
|
| + SkRecord* fRecord;
|
| +};
|
| +
|
| +#endif//SkRecorder_DEFINED
|
|
|