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