1 #include "SkProxyCanvas.h"
2
SkProxyCanvas(SkCanvas * proxy)3 SkProxyCanvas::SkProxyCanvas(SkCanvas* proxy) : fProxy(proxy) {
4 fProxy->safeRef();
5 }
6
~SkProxyCanvas()7 SkProxyCanvas::~SkProxyCanvas() {
8 fProxy->safeUnref();
9 }
10
setProxy(SkCanvas * proxy)11 void SkProxyCanvas::setProxy(SkCanvas* proxy) {
12 SkRefCnt_SafeAssign(fProxy, proxy);
13 }
14
15 ///////////////////////////////// Overrides ///////////
16
getViewport(SkIPoint * size) const17 bool SkProxyCanvas::getViewport(SkIPoint* size) const {
18 return fProxy->getViewport(size);
19 }
20
setViewport(int x,int y)21 bool SkProxyCanvas::setViewport(int x, int y) {
22 return fProxy->setViewport(x, y);
23 }
24
setBitmapDevice(const SkBitmap & bitmap)25 SkDevice* SkProxyCanvas::setBitmapDevice(const SkBitmap& bitmap) {
26 return fProxy->setBitmapDevice(bitmap);
27 }
28
save(SaveFlags flags)29 int SkProxyCanvas::save(SaveFlags flags) {
30 return fProxy->save(flags);
31 }
32
saveLayer(const SkRect * bounds,const SkPaint * paint,SaveFlags flags)33 int SkProxyCanvas::saveLayer(const SkRect* bounds, const SkPaint* paint,
34 SaveFlags flags) {
35 return fProxy->saveLayer(bounds, paint, flags);
36 }
37
restore()38 void SkProxyCanvas::restore() {
39 fProxy->restore();
40 }
41
translate(SkScalar dx,SkScalar dy)42 bool SkProxyCanvas::translate(SkScalar dx, SkScalar dy) {
43 return fProxy->translate(dx, dy);
44 }
45
scale(SkScalar sx,SkScalar sy)46 bool SkProxyCanvas::scale(SkScalar sx, SkScalar sy) {
47 return fProxy->scale(sx, sy);
48 }
49
rotate(SkScalar degrees)50 bool SkProxyCanvas::rotate(SkScalar degrees) {
51 return fProxy->rotate(degrees);
52 }
53
skew(SkScalar sx,SkScalar sy)54 bool SkProxyCanvas::skew(SkScalar sx, SkScalar sy) {
55 return fProxy->skew(sx, sy);
56 }
57
concat(const SkMatrix & matrix)58 bool SkProxyCanvas::concat(const SkMatrix& matrix) {
59 return fProxy->concat(matrix);
60 }
61
setMatrix(const SkMatrix & matrix)62 void SkProxyCanvas::setMatrix(const SkMatrix& matrix) {
63 fProxy->setMatrix(matrix);
64 }
65
clipRect(const SkRect & rect,SkRegion::Op op)66 bool SkProxyCanvas::clipRect(const SkRect& rect, SkRegion::Op op) {
67 return fProxy->clipRect(rect, op);
68 }
69
clipPath(const SkPath & path,SkRegion::Op op)70 bool SkProxyCanvas::clipPath(const SkPath& path, SkRegion::Op op) {
71 return fProxy->clipPath(path, op);
72 }
73
clipRegion(const SkRegion & deviceRgn,SkRegion::Op op)74 bool SkProxyCanvas::clipRegion(const SkRegion& deviceRgn, SkRegion::Op op) {
75 return fProxy->clipRegion(deviceRgn, op);
76 }
77
drawPaint(const SkPaint & paint)78 void SkProxyCanvas::drawPaint(const SkPaint& paint) {
79 fProxy->drawPaint(paint);
80 }
81
drawPoints(PointMode mode,size_t count,const SkPoint pts[],const SkPaint & paint)82 void SkProxyCanvas::drawPoints(PointMode mode, size_t count,
83 const SkPoint pts[], const SkPaint& paint) {
84 fProxy->drawPoints(mode, count, pts, paint);
85 }
86
drawRect(const SkRect & rect,const SkPaint & paint)87 void SkProxyCanvas::drawRect(const SkRect& rect, const SkPaint& paint) {
88 fProxy->drawRect(rect, paint);
89 }
90
drawPath(const SkPath & path,const SkPaint & paint)91 void SkProxyCanvas::drawPath(const SkPath& path, const SkPaint& paint) {
92 fProxy->drawPath(path, paint);
93 }
94
drawBitmap(const SkBitmap & bitmap,SkScalar x,SkScalar y,const SkPaint * paint)95 void SkProxyCanvas::drawBitmap(const SkBitmap& bitmap, SkScalar x, SkScalar y,
96 const SkPaint* paint) {
97 fProxy->drawBitmap(bitmap, x, y, paint);
98 }
99
drawBitmapRect(const SkBitmap & bitmap,const SkIRect * src,const SkRect & dst,const SkPaint * paint)100 void SkProxyCanvas::drawBitmapRect(const SkBitmap& bitmap, const SkIRect* src,
101 const SkRect& dst, const SkPaint* paint) {
102 fProxy->drawBitmapRect(bitmap, src, dst, paint);
103 }
104
drawBitmapMatrix(const SkBitmap & bitmap,const SkMatrix & m,const SkPaint * paint)105 void SkProxyCanvas::drawBitmapMatrix(const SkBitmap& bitmap, const SkMatrix& m,
106 const SkPaint* paint) {
107 fProxy->drawBitmapMatrix(bitmap, m, paint);
108 }
109
drawSprite(const SkBitmap & bitmap,int x,int y,const SkPaint * paint)110 void SkProxyCanvas::drawSprite(const SkBitmap& bitmap, int x, int y,
111 const SkPaint* paint) {
112 fProxy->drawSprite(bitmap, x, y, paint);
113 }
114
drawText(const void * text,size_t byteLength,SkScalar x,SkScalar y,const SkPaint & paint)115 void SkProxyCanvas::drawText(const void* text, size_t byteLength, SkScalar x,
116 SkScalar y, const SkPaint& paint) {
117 fProxy->drawText(text, byteLength, x, y, paint);
118 }
119
drawPosText(const void * text,size_t byteLength,const SkPoint pos[],const SkPaint & paint)120 void SkProxyCanvas::drawPosText(const void* text, size_t byteLength,
121 const SkPoint pos[], const SkPaint& paint) {
122 fProxy->drawPosText(text, byteLength, pos, paint);
123 }
124
drawPosTextH(const void * text,size_t byteLength,const SkScalar xpos[],SkScalar constY,const SkPaint & paint)125 void SkProxyCanvas::drawPosTextH(const void* text, size_t byteLength,
126 const SkScalar xpos[], SkScalar constY,
127 const SkPaint& paint) {
128 fProxy->drawPosTextH(text, byteLength, xpos, constY, paint);
129 }
130
drawTextOnPath(const void * text,size_t byteLength,const SkPath & path,const SkMatrix * matrix,const SkPaint & paint)131 void SkProxyCanvas::drawTextOnPath(const void* text, size_t byteLength,
132 const SkPath& path, const SkMatrix* matrix,
133 const SkPaint& paint) {
134 fProxy->drawTextOnPath(text, byteLength, path, matrix, paint);
135 }
136
drawPicture(SkPicture & picture)137 void SkProxyCanvas::drawPicture(SkPicture& picture) {
138 fProxy->drawPicture(picture);
139 }
140
drawShape(SkShape * shape)141 void SkProxyCanvas::drawShape(SkShape* shape) {
142 fProxy->drawShape(shape);
143 }
144
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)145 void SkProxyCanvas::drawVertices(VertexMode vmode, int vertexCount,
146 const SkPoint vertices[], const SkPoint texs[],
147 const SkColor colors[], SkXfermode* xmode,
148 const uint16_t indices[], int indexCount,
149 const SkPaint& paint) {
150 fProxy->drawVertices(vmode, vertexCount, vertices, texs, colors,
151 xmode, indices, indexCount, paint);
152 }
153
setBounder(SkBounder * bounder)154 SkBounder* SkProxyCanvas::setBounder(SkBounder* bounder) {
155 return fProxy->setBounder(bounder);
156 }
157
setDrawFilter(SkDrawFilter * filter)158 SkDrawFilter* SkProxyCanvas::setDrawFilter(SkDrawFilter* filter) {
159 return fProxy->setDrawFilter(filter);
160 }
161
createDevice(SkBitmap::Config config,int width,int height,bool isOpaque,bool isForLayer)162 SkDevice* SkProxyCanvas::createDevice(SkBitmap::Config config, int width,
163 int height, bool isOpaque, bool isForLayer) {
164 return fProxy->createDevice(config, width, height, isOpaque, isForLayer);
165 }
166
167