blob: f530313b162d2e92146d07a01d4eb411a7a32ca7 [file] [log] [blame]
epoger@google.comec3ed6a2011-07-28 14:26:00 +00001
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 */
reed@android.com8a1c16f2008-12-17 15:59:43 +00008#include "SkProxyCanvas.h"
9
10SkProxyCanvas::SkProxyCanvas(SkCanvas* proxy) : fProxy(proxy) {
reed@google.com82065d62011-02-07 15:30:46 +000011 SkSafeRef(fProxy);
reed@android.com8a1c16f2008-12-17 15:59:43 +000012}
13
14SkProxyCanvas::~SkProxyCanvas() {
reed@google.com82065d62011-02-07 15:30:46 +000015 SkSafeUnref(fProxy);
reed@android.com8a1c16f2008-12-17 15:59:43 +000016}
reed@google.com82065d62011-02-07 15:30:46 +000017
reed@android.com8a1c16f2008-12-17 15:59:43 +000018void SkProxyCanvas::setProxy(SkCanvas* proxy) {
19 SkRefCnt_SafeAssign(fProxy, proxy);
20}
21
22///////////////////////////////// Overrides ///////////
23
reed@android.com8a1c16f2008-12-17 15:59:43 +000024int SkProxyCanvas::save(SaveFlags flags) {
25 return fProxy->save(flags);
26}
27
28int SkProxyCanvas::saveLayer(const SkRect* bounds, const SkPaint* paint,
29 SaveFlags flags) {
30 return fProxy->saveLayer(bounds, paint, flags);
31}
32
33void SkProxyCanvas::restore() {
34 fProxy->restore();
35}
36
37bool SkProxyCanvas::translate(SkScalar dx, SkScalar dy) {
38 return fProxy->translate(dx, dy);
39}
40
41bool SkProxyCanvas::scale(SkScalar sx, SkScalar sy) {
42 return fProxy->scale(sx, sy);
43}
44
45bool SkProxyCanvas::rotate(SkScalar degrees) {
46 return fProxy->rotate(degrees);
47}
48
49bool SkProxyCanvas::skew(SkScalar sx, SkScalar sy) {
50 return fProxy->skew(sx, sy);
51}
52
53bool SkProxyCanvas::concat(const SkMatrix& matrix) {
54 return fProxy->concat(matrix);
55}
56
57void SkProxyCanvas::setMatrix(const SkMatrix& matrix) {
58 fProxy->setMatrix(matrix);
59}
60
reed@google.com071eef92011-10-12 11:52:53 +000061bool SkProxyCanvas::clipRect(const SkRect& rect, SkRegion::Op op, bool doAA) {
62 return fProxy->clipRect(rect, op, doAA);
reed@android.com8a1c16f2008-12-17 15:59:43 +000063}
64
reed@google.com4ed0fb72012-12-12 20:48:18 +000065bool SkProxyCanvas::clipRRect(const SkRRect& rrect, SkRegion::Op op, bool doAA) {
66 return fProxy->clipRRect(rrect, op, doAA);
67}
68
reed@google.com071eef92011-10-12 11:52:53 +000069bool SkProxyCanvas::clipPath(const SkPath& path, SkRegion::Op op, bool doAA) {
70 return fProxy->clipPath(path, op, doAA);
reed@android.com8a1c16f2008-12-17 15:59:43 +000071}
72
73bool SkProxyCanvas::clipRegion(const SkRegion& deviceRgn, SkRegion::Op op) {
74 return fProxy->clipRegion(deviceRgn, op);
75}
76
77void SkProxyCanvas::drawPaint(const SkPaint& paint) {
78 fProxy->drawPaint(paint);
79}
80
81void SkProxyCanvas::drawPoints(PointMode mode, size_t count,
82 const SkPoint pts[], const SkPaint& paint) {
83 fProxy->drawPoints(mode, count, pts, paint);
84}
85
reed@google.com4ed0fb72012-12-12 20:48:18 +000086void SkProxyCanvas::drawOval(const SkRect& rect, const SkPaint& paint) {
87 fProxy->drawOval(rect, paint);
88}
89
bsalomon@google.com7ce564c2013-10-22 16:54:15 +000090void SkProxyCanvas::drawRect(const SkRect& rect, const SkPaint& paint) {
reed@android.com8a1c16f2008-12-17 15:59:43 +000091 fProxy->drawRect(rect, paint);
92}
93
reed@google.com4ed0fb72012-12-12 20:48:18 +000094void SkProxyCanvas::drawRRect(const SkRRect& rrect, const SkPaint& paint) {
95 fProxy->drawRRect(rrect, paint);
96}
97
bsalomon@google.com7ce564c2013-10-22 16:54:15 +000098void SkProxyCanvas::drawPath(const SkPath& path, const SkPaint& paint) {
reed@android.com8a1c16f2008-12-17 15:59:43 +000099 fProxy->drawPath(path, paint);
100}
101
102void SkProxyCanvas::drawBitmap(const SkBitmap& bitmap, SkScalar x, SkScalar y,
103 const SkPaint* paint) {
104 fProxy->drawBitmap(bitmap, x, y, paint);
105}
106
reed@google.com71121732012-09-18 15:14:33 +0000107void SkProxyCanvas::drawBitmapRectToRect(const SkBitmap& bitmap, const SkRect* src,
commit-bot@chromium.orgeed779d2013-08-16 10:24:37 +0000108 const SkRect& dst, const SkPaint* paint,
109 DrawBitmapRectFlags flags) {
110 fProxy->drawBitmapRectToRect(bitmap, src, dst, paint, flags);
reed@android.com8a1c16f2008-12-17 15:59:43 +0000111}
112
113void SkProxyCanvas::drawBitmapMatrix(const SkBitmap& bitmap, const SkMatrix& m,
114 const SkPaint* paint) {
115 fProxy->drawBitmapMatrix(bitmap, m, paint);
116}
117
118void SkProxyCanvas::drawSprite(const SkBitmap& bitmap, int x, int y,
119 const SkPaint* paint) {
120 fProxy->drawSprite(bitmap, x, y, paint);
121}
122
123void SkProxyCanvas::drawText(const void* text, size_t byteLength, SkScalar x,
124 SkScalar y, const SkPaint& paint) {
125 fProxy->drawText(text, byteLength, x, y, paint);
126}
127
128void SkProxyCanvas::drawPosText(const void* text, size_t byteLength,
129 const SkPoint pos[], const SkPaint& paint) {
130 fProxy->drawPosText(text, byteLength, pos, paint);
131}
132
133void SkProxyCanvas::drawPosTextH(const void* text, size_t byteLength,
134 const SkScalar xpos[], SkScalar constY,
135 const SkPaint& paint) {
136 fProxy->drawPosTextH(text, byteLength, xpos, constY, paint);
137}
138
139void SkProxyCanvas::drawTextOnPath(const void* text, size_t byteLength,
140 const SkPath& path, const SkMatrix* matrix,
141 const SkPaint& paint) {
142 fProxy->drawTextOnPath(text, byteLength, path, matrix, paint);
143}
144
reed@android.comed0bfb02009-05-13 21:01:21 +0000145void SkProxyCanvas::drawPicture(SkPicture& picture) {
146 fProxy->drawPicture(picture);
147}
148
reed@android.com8a1c16f2008-12-17 15:59:43 +0000149void SkProxyCanvas::drawVertices(VertexMode vmode, int vertexCount,
150 const SkPoint vertices[], const SkPoint texs[],
151 const SkColor colors[], SkXfermode* xmode,
152 const uint16_t indices[], int indexCount,
153 const SkPaint& paint) {
154 fProxy->drawVertices(vmode, vertexCount, vertices, texs, colors,
155 xmode, indices, indexCount, paint);
156}
157
reed@android.comcb608442009-12-04 21:32:27 +0000158void SkProxyCanvas::drawData(const void* data, size_t length) {
159 fProxy->drawData(data, length);
160}
161
robertphillips@google.com0a4805e2013-05-29 13:24:23 +0000162void SkProxyCanvas::beginCommentGroup(const char* description) {
163 fProxy->beginCommentGroup(description);
164}
165
166void SkProxyCanvas::addComment(const char* kywd, const char* value) {
167 fProxy->addComment(kywd, value);
168}
169
170void SkProxyCanvas::endCommentGroup() {
171 fProxy->endCommentGroup();
172}
173
reed@android.com8a1c16f2008-12-17 15:59:43 +0000174SkBounder* SkProxyCanvas::setBounder(SkBounder* bounder) {
175 return fProxy->setBounder(bounder);
176}
177
178SkDrawFilter* SkProxyCanvas::setDrawFilter(SkDrawFilter* filter) {
179 return fProxy->setDrawFilter(filter);
180}