#include "SkProxyCanvas.h" SkProxyCanvas::SkProxyCanvas(SkCanvas* proxy) : fProxy(proxy) { fProxy->safeRef(); } SkProxyCanvas::~SkProxyCanvas() { fProxy->safeUnref(); } void SkProxyCanvas::setProxy(SkCanvas* proxy) { SkRefCnt_SafeAssign(fProxy, proxy); } ///////////////////////////////// Overrides /////////// bool SkProxyCanvas::getViewport(SkIPoint* size) const { return fProxy->getViewport(size); } bool SkProxyCanvas::setViewport(int x, int y) { return fProxy->setViewport(x, y); } SkDevice* SkProxyCanvas::setBitmapDevice(const SkBitmap& bitmap) { return fProxy->setBitmapDevice(bitmap); } int SkProxyCanvas::save(SaveFlags flags) { return fProxy->save(flags); } int SkProxyCanvas::saveLayer(const SkRect* bounds, const SkPaint* paint, SaveFlags flags) { return fProxy->saveLayer(bounds, paint, flags); } void SkProxyCanvas::restore() { fProxy->restore(); } bool SkProxyCanvas::translate(SkScalar dx, SkScalar dy) { return fProxy->translate(dx, dy); } bool SkProxyCanvas::scale(SkScalar sx, SkScalar sy) { return fProxy->scale(sx, sy); } bool SkProxyCanvas::rotate(SkScalar degrees) { return fProxy->rotate(degrees); } bool SkProxyCanvas::skew(SkScalar sx, SkScalar sy) { return fProxy->skew(sx, sy); } bool SkProxyCanvas::concat(const SkMatrix& matrix) { return fProxy->concat(matrix); } void SkProxyCanvas::setMatrix(const SkMatrix& matrix) { fProxy->setMatrix(matrix); } bool SkProxyCanvas::clipRect(const SkRect& rect, SkRegion::Op op) { return fProxy->clipRect(rect, op); } bool SkProxyCanvas::clipPath(const SkPath& path, SkRegion::Op op) { return fProxy->clipPath(path, op); } bool SkProxyCanvas::clipRegion(const SkRegion& deviceRgn, SkRegion::Op op) { return fProxy->clipRegion(deviceRgn, op); } void SkProxyCanvas::drawPaint(const SkPaint& paint) { fProxy->drawPaint(paint); } void SkProxyCanvas::drawPoints(PointMode mode, size_t count, const SkPoint pts[], const SkPaint& paint) { fProxy->drawPoints(mode, count, pts, paint); } void SkProxyCanvas::drawRect(const SkRect& rect, const SkPaint& paint) { fProxy->drawRect(rect, paint); } void SkProxyCanvas::drawPath(const SkPath& path, const SkPaint& paint) { fProxy->drawPath(path, paint); } void SkProxyCanvas::drawBitmap(const SkBitmap& bitmap, SkScalar x, SkScalar y, const SkPaint* paint) { fProxy->drawBitmap(bitmap, x, y, paint); } void SkProxyCanvas::drawBitmapRect(const SkBitmap& bitmap, const SkIRect* src, const SkRect& dst, const SkPaint* paint) { fProxy->drawBitmapRect(bitmap, src, dst, paint); } void SkProxyCanvas::drawBitmapMatrix(const SkBitmap& bitmap, const SkMatrix& m, const SkPaint* paint) { fProxy->drawBitmapMatrix(bitmap, m, paint); } void SkProxyCanvas::drawSprite(const SkBitmap& bitmap, int x, int y, const SkPaint* paint) { fProxy->drawSprite(bitmap, x, y, paint); } void SkProxyCanvas::drawText(const void* text, size_t byteLength, SkScalar x, SkScalar y, const SkPaint& paint) { fProxy->drawText(text, byteLength, x, y, paint); } void SkProxyCanvas::drawPosText(const void* text, size_t byteLength, const SkPoint pos[], const SkPaint& paint) { fProxy->drawPosText(text, byteLength, pos, paint); } void SkProxyCanvas::drawPosTextH(const void* text, size_t byteLength, const SkScalar xpos[], SkScalar constY, const SkPaint& paint) { fProxy->drawPosTextH(text, byteLength, xpos, constY, paint); } void SkProxyCanvas::drawTextOnPath(const void* text, size_t byteLength, const SkPath& path, const SkMatrix* matrix, const SkPaint& paint) { fProxy->drawTextOnPath(text, byteLength, path, matrix, paint); } void SkProxyCanvas::drawPicture(SkPicture& picture) { fProxy->drawPicture(picture); } void SkProxyCanvas::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) { fProxy->drawVertices(vmode, vertexCount, vertices, texs, colors, xmode, indices, indexCount, paint); } SkBounder* SkProxyCanvas::setBounder(SkBounder* bounder) { return fProxy->setBounder(bounder); } SkDrawFilter* SkProxyCanvas::setDrawFilter(SkDrawFilter* filter) { return fProxy->setDrawFilter(filter); } SkDevice* SkProxyCanvas::createDevice(SkBitmap::Config config, int width, int height, bool isOpaque, bool isForLayer) { return fProxy->createDevice(config, width, height, isOpaque, isForLayer); }