blob: 9c94d598e3a09de8b303750596b026d3c28f7319 [file] [log] [blame]
reed@android.com8a1c16f2008-12-17 15:59:43 +00001#include "SkProxyCanvas.h"
2
3SkProxyCanvas::SkProxyCanvas(SkCanvas* proxy) : fProxy(proxy) {
reed@google.com82065d62011-02-07 15:30:46 +00004 SkSafeRef(fProxy);
reed@android.com8a1c16f2008-12-17 15:59:43 +00005}
6
7SkProxyCanvas::~SkProxyCanvas() {
reed@google.com82065d62011-02-07 15:30:46 +00008 SkSafeUnref(fProxy);
reed@android.com8a1c16f2008-12-17 15:59:43 +00009}
reed@google.com82065d62011-02-07 15:30:46 +000010
reed@android.com8a1c16f2008-12-17 15:59:43 +000011void SkProxyCanvas::setProxy(SkCanvas* proxy) {
12 SkRefCnt_SafeAssign(fProxy, proxy);
13}
14
15///////////////////////////////// Overrides ///////////
16
reed@android.com8a1c16f2008-12-17 15:59:43 +000017int SkProxyCanvas::save(SaveFlags flags) {
18 return fProxy->save(flags);
19}
20
21int SkProxyCanvas::saveLayer(const SkRect* bounds, const SkPaint* paint,
22 SaveFlags flags) {
23 return fProxy->saveLayer(bounds, paint, flags);
24}
25
26void SkProxyCanvas::restore() {
27 fProxy->restore();
28}
29
30bool SkProxyCanvas::translate(SkScalar dx, SkScalar dy) {
31 return fProxy->translate(dx, dy);
32}
33
34bool SkProxyCanvas::scale(SkScalar sx, SkScalar sy) {
35 return fProxy->scale(sx, sy);
36}
37
38bool SkProxyCanvas::rotate(SkScalar degrees) {
39 return fProxy->rotate(degrees);
40}
41
42bool SkProxyCanvas::skew(SkScalar sx, SkScalar sy) {
43 return fProxy->skew(sx, sy);
44}
45
46bool SkProxyCanvas::concat(const SkMatrix& matrix) {
47 return fProxy->concat(matrix);
48}
49
50void SkProxyCanvas::setMatrix(const SkMatrix& matrix) {
51 fProxy->setMatrix(matrix);
52}
53
54bool SkProxyCanvas::clipRect(const SkRect& rect, SkRegion::Op op) {
55 return fProxy->clipRect(rect, op);
56}
57
58bool SkProxyCanvas::clipPath(const SkPath& path, SkRegion::Op op) {
59 return fProxy->clipPath(path, op);
60}
61
62bool SkProxyCanvas::clipRegion(const SkRegion& deviceRgn, SkRegion::Op op) {
63 return fProxy->clipRegion(deviceRgn, op);
64}
65
66void SkProxyCanvas::drawPaint(const SkPaint& paint) {
67 fProxy->drawPaint(paint);
68}
69
70void SkProxyCanvas::drawPoints(PointMode mode, size_t count,
71 const SkPoint pts[], const SkPaint& paint) {
72 fProxy->drawPoints(mode, count, pts, paint);
73}
74
75void SkProxyCanvas::drawRect(const SkRect& rect, const SkPaint& paint) {
76 fProxy->drawRect(rect, paint);
77}
78
79void SkProxyCanvas::drawPath(const SkPath& path, const SkPaint& paint) {
80 fProxy->drawPath(path, paint);
81}
82
83void SkProxyCanvas::drawBitmap(const SkBitmap& bitmap, SkScalar x, SkScalar y,
84 const SkPaint* paint) {
85 fProxy->drawBitmap(bitmap, x, y, paint);
86}
87
88void SkProxyCanvas::drawBitmapRect(const SkBitmap& bitmap, const SkIRect* src,
89 const SkRect& dst, const SkPaint* paint) {
90 fProxy->drawBitmapRect(bitmap, src, dst, paint);
91}
92
93void SkProxyCanvas::drawBitmapMatrix(const SkBitmap& bitmap, const SkMatrix& m,
94 const SkPaint* paint) {
95 fProxy->drawBitmapMatrix(bitmap, m, paint);
96}
97
98void SkProxyCanvas::drawSprite(const SkBitmap& bitmap, int x, int y,
99 const SkPaint* paint) {
100 fProxy->drawSprite(bitmap, x, y, paint);
101}
102
103void SkProxyCanvas::drawText(const void* text, size_t byteLength, SkScalar x,
104 SkScalar y, const SkPaint& paint) {
105 fProxy->drawText(text, byteLength, x, y, paint);
106}
107
108void SkProxyCanvas::drawPosText(const void* text, size_t byteLength,
109 const SkPoint pos[], const SkPaint& paint) {
110 fProxy->drawPosText(text, byteLength, pos, paint);
111}
112
113void SkProxyCanvas::drawPosTextH(const void* text, size_t byteLength,
114 const SkScalar xpos[], SkScalar constY,
115 const SkPaint& paint) {
116 fProxy->drawPosTextH(text, byteLength, xpos, constY, paint);
117}
118
119void SkProxyCanvas::drawTextOnPath(const void* text, size_t byteLength,
120 const SkPath& path, const SkMatrix* matrix,
121 const SkPaint& paint) {
122 fProxy->drawTextOnPath(text, byteLength, path, matrix, paint);
123}
124
reed@android.comed0bfb02009-05-13 21:01:21 +0000125void SkProxyCanvas::drawPicture(SkPicture& picture) {
126 fProxy->drawPicture(picture);
127}
128
reed@android.com8a1c16f2008-12-17 15:59:43 +0000129void SkProxyCanvas::drawVertices(VertexMode vmode, int vertexCount,
130 const SkPoint vertices[], const SkPoint texs[],
131 const SkColor colors[], SkXfermode* xmode,
132 const uint16_t indices[], int indexCount,
133 const SkPaint& paint) {
134 fProxy->drawVertices(vmode, vertexCount, vertices, texs, colors,
135 xmode, indices, indexCount, paint);
136}
137
reed@android.comcb608442009-12-04 21:32:27 +0000138void SkProxyCanvas::drawData(const void* data, size_t length) {
139 fProxy->drawData(data, length);
140}
141
reed@android.com8a1c16f2008-12-17 15:59:43 +0000142SkBounder* SkProxyCanvas::setBounder(SkBounder* bounder) {
143 return fProxy->setBounder(bounder);
144}
145
146SkDrawFilter* SkProxyCanvas::setDrawFilter(SkDrawFilter* filter) {
147 return fProxy->setDrawFilter(filter);
148}
149