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