Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / skia / src / utils / SkProxyCanvas.cpp
1
2 /*
3  * Copyright 2011 Google Inc.
4  *
5  * Use of this source code is governed by a BSD-style license that can be
6  * found in the LICENSE file.
7  */
8 #include "SkProxyCanvas.h"
9
10 SkProxyCanvas::SkProxyCanvas(SkCanvas* proxy) : fProxy(proxy) {
11     SkSafeRef(fProxy);
12 }
13
14 SkProxyCanvas::~SkProxyCanvas() {
15     SkSafeUnref(fProxy);
16 }
17
18 void SkProxyCanvas::setProxy(SkCanvas* proxy) {
19     SkRefCnt_SafeAssign(fProxy, proxy);
20 }
21
22 ///////////////////////////////// Overrides ///////////
23
24 void SkProxyCanvas::willSave() {
25     fProxy->save();
26     this->INHERITED::willSave();
27 }
28
29 SkCanvas::SaveLayerStrategy SkProxyCanvas::willSaveLayer(const SkRect* bounds, const SkPaint* paint,
30                                                          SaveFlags flags) {
31     fProxy->saveLayer(bounds, paint, flags);
32     this->INHERITED::willSaveLayer(bounds, paint, flags);
33     // No need for a layer.
34     return kNoLayer_SaveLayerStrategy;
35 }
36
37 void SkProxyCanvas::willRestore() {
38     fProxy->restore();
39     this->INHERITED::willRestore();
40 }
41
42 void SkProxyCanvas::didConcat(const SkMatrix& matrix) {
43     fProxy->concat(matrix);
44     this->INHERITED::didConcat(matrix);
45 }
46
47 void SkProxyCanvas::didSetMatrix(const SkMatrix& matrix) {
48     fProxy->setMatrix(matrix);
49     this->INHERITED::didSetMatrix(matrix);
50 }
51
52 void SkProxyCanvas::onClipRect(const SkRect& rect, SkRegion::Op op, ClipEdgeStyle edgeStyle) {
53     fProxy->clipRect(rect, op, kSoft_ClipEdgeStyle == edgeStyle);
54 }
55
56 void SkProxyCanvas::onClipRRect(const SkRRect& rrect, SkRegion::Op op, ClipEdgeStyle edgeStyle) {
57     fProxy->clipRRect(rrect, op, kSoft_ClipEdgeStyle == edgeStyle);
58 }
59
60 void SkProxyCanvas::onClipPath(const SkPath& path, SkRegion::Op op, ClipEdgeStyle edgeStyle) {
61     fProxy->clipPath(path, op, kSoft_ClipEdgeStyle == edgeStyle);
62 }
63
64 void SkProxyCanvas::onClipRegion(const SkRegion& deviceRgn, SkRegion::Op op) {
65     fProxy->clipRegion(deviceRgn, op);
66 }
67
68 void SkProxyCanvas::drawPaint(const SkPaint& paint) {
69     fProxy->drawPaint(paint);
70 }
71
72 void SkProxyCanvas::drawPoints(PointMode mode, size_t count,
73                                const SkPoint pts[], const SkPaint& paint) {
74     fProxy->drawPoints(mode, count, pts, paint);
75 }
76
77 void SkProxyCanvas::drawOval(const SkRect& rect, const SkPaint& paint) {
78     fProxy->drawOval(rect, paint);
79 }
80
81 void SkProxyCanvas::drawRect(const SkRect& rect, const SkPaint& paint) {
82     fProxy->drawRect(rect, paint);
83 }
84
85 void SkProxyCanvas::drawRRect(const SkRRect& rrect, const SkPaint& paint) {
86     fProxy->drawRRect(rrect, paint);
87 }
88
89 void SkProxyCanvas::onDrawDRRect(const SkRRect& outer, const SkRRect& inner,
90                                  const SkPaint& paint) {
91     fProxy->drawDRRect(outer, inner, paint);
92 }
93
94 void SkProxyCanvas::drawPath(const SkPath& path, const SkPaint& paint) {
95     fProxy->drawPath(path, paint);
96 }
97
98 void SkProxyCanvas::drawImage(const SkImage* image, SkScalar left, SkScalar top,
99                        const SkPaint* paint) {
100     fProxy->drawImage(image, left, top, paint);
101 }
102
103 void SkProxyCanvas::drawImageRect(const SkImage* image, const SkRect* src,
104                            const SkRect& dst,
105                            const SkPaint* paint) {
106     fProxy->drawImageRect(image, src, dst, paint);
107 }
108
109 void SkProxyCanvas::drawBitmap(const SkBitmap& bitmap, SkScalar x, SkScalar y,
110                                const SkPaint* paint) {
111     fProxy->drawBitmap(bitmap, x, y, paint);
112 }
113
114 void SkProxyCanvas::drawBitmapRectToRect(const SkBitmap& bitmap, const SkRect* src,
115                                    const SkRect& dst, const SkPaint* paint,
116                                    DrawBitmapRectFlags flags) {
117     fProxy->drawBitmapRectToRect(bitmap, src, dst, paint, flags);
118 }
119
120 void SkProxyCanvas::drawBitmapMatrix(const SkBitmap& bitmap, const SkMatrix& m,
121                                      const SkPaint* paint) {
122     fProxy->drawBitmapMatrix(bitmap, m, paint);
123 }
124
125 void SkProxyCanvas::drawSprite(const SkBitmap& bitmap, int x, int y,
126                                const SkPaint* paint) {
127     fProxy->drawSprite(bitmap, x, y, paint);
128 }
129
130 void SkProxyCanvas::onDrawText(const void* text, size_t byteLength, SkScalar x, SkScalar y,
131                                const SkPaint& paint) {
132     fProxy->drawText(text, byteLength, x, y, paint);
133 }
134
135 void SkProxyCanvas::onDrawPosText(const void* text, size_t byteLength, const SkPoint pos[],
136                                   const SkPaint& paint) {
137     fProxy->drawPosText(text, byteLength, pos, paint);
138 }
139
140 void SkProxyCanvas::onDrawPosTextH(const void* text, size_t byteLength, const SkScalar xpos[],
141                                    SkScalar constY, const SkPaint& paint) {
142     fProxy->drawPosTextH(text, byteLength, xpos, constY, paint);
143 }
144
145 void SkProxyCanvas::onDrawTextOnPath(const void* text, size_t byteLength, const SkPath& path,
146                                      const SkMatrix* matrix, const SkPaint& paint) {
147     fProxy->drawTextOnPath(text, byteLength, path, matrix, paint);
148 }
149
150 void SkProxyCanvas::onDrawTextBlob(const SkTextBlob* blob, SkScalar x, SkScalar y,
151                                    const SkPaint& paint) {
152     fProxy->drawTextBlob(blob, x, y, paint);
153 }
154
155 void SkProxyCanvas::onDrawPicture(const SkPicture* picture, const SkMatrix* matrix,
156                                   const SkPaint* paint) {
157     fProxy->drawPicture(picture, matrix, paint);
158 }
159
160 void SkProxyCanvas::drawVertices(VertexMode vmode, int vertexCount,
161                                  const SkPoint vertices[], const SkPoint texs[],
162                                  const SkColor colors[], SkXfermode* xmode,
163                                  const uint16_t indices[], int indexCount,
164                                  const SkPaint& paint) {
165     fProxy->drawVertices(vmode, vertexCount, vertices, texs, colors,
166                                      xmode, indices, indexCount, paint);
167 }
168
169 void SkProxyCanvas::onDrawPatch(const SkPoint cubics[12], const SkColor colors[4],
170                                 const SkPoint texCoords[4], SkXfermode* xmode,
171                                 const SkPaint& paint) {
172     fProxy->drawPatch(cubics, colors, texCoords, xmode, paint);
173 }
174
175 void SkProxyCanvas::drawData(const void* data, size_t length) {
176     fProxy->drawData(data, length);
177 }
178
179 void SkProxyCanvas::beginCommentGroup(const char* description) {
180     fProxy->beginCommentGroup(description);
181 }
182
183 void SkProxyCanvas::addComment(const char* kywd, const char* value) {
184     fProxy->addComment(kywd, value);
185 }
186
187 void SkProxyCanvas::endCommentGroup() {
188     fProxy->endCommentGroup();
189 }
190
191 SkDrawFilter* SkProxyCanvas::setDrawFilter(SkDrawFilter* filter) {
192     return fProxy->setDrawFilter(filter);
193 }