| Index: experimental/svg/SkSVGDevice.h
|
| diff --git a/experimental/svg/SkSVGDevice.h b/experimental/svg/SkSVGDevice.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d6c48e2c0fcf44e5396ab256828fc304685bb732
|
| --- /dev/null
|
| +++ b/experimental/svg/SkSVGDevice.h
|
| @@ -0,0 +1,72 @@
|
| +/*
|
| + * Copyright 2015 Google Inc.
|
| + *
|
| + * Use of this source code is governed by a BSD-style license that can be
|
| + * found in the LICENSE file.
|
| + */
|
| +
|
| +#ifndef SkSVGDevice_DEFINED
|
| +#define SkSVGDevice_DEFINED
|
| +
|
| +#include "SkDevice.h"
|
| +
|
| +class SkWStream;
|
| +class SkXMLWriter;
|
| +
|
| +class SkSVGDevice : public SkBaseDevice {
|
| +public:
|
| + static SkBaseDevice* Create(const SkISize& size, SkWStream* wstream);
|
| +
|
| + virtual SkImageInfo imageInfo() const SK_OVERRIDE;
|
| +
|
| +protected:
|
| + virtual void drawPaint(const SkDraw&, const SkPaint& paint) SK_OVERRIDE;
|
| + virtual void drawPoints(const SkDraw&, SkCanvas::PointMode mode, size_t count,
|
| + const SkPoint[], const SkPaint& paint) SK_OVERRIDE;
|
| + virtual void drawRect(const SkDraw&, const SkRect& r, const SkPaint& paint) SK_OVERRIDE;
|
| + virtual void drawOval(const SkDraw&, const SkRect& oval, const SkPaint& paint) SK_OVERRIDE;
|
| + virtual void drawRRect(const SkDraw&, const SkRRect& rr, const SkPaint& paint) SK_OVERRIDE;
|
| + virtual void drawPath(const SkDraw&, const SkPath& path,
|
| + const SkPaint& paint,
|
| + const SkMatrix* prePathMatrix = NULL,
|
| + bool pathIsMutable = false) SK_OVERRIDE;
|
| +
|
| + virtual void drawBitmap(const SkDraw&, const SkBitmap& bitmap,
|
| + const SkMatrix& matrix, const SkPaint& paint) SK_OVERRIDE;
|
| + virtual void drawSprite(const SkDraw&, const SkBitmap& bitmap,
|
| + int x, int y, const SkPaint& paint) SK_OVERRIDE;
|
| + virtual void drawBitmapRect(const SkDraw&, const SkBitmap&,
|
| + const SkRect* srcOrNull, const SkRect& dst,
|
| + const SkPaint& paint,
|
| + SkCanvas::DrawBitmapRectFlags flags) SK_OVERRIDE;
|
| +
|
| + virtual void drawText(const SkDraw&, const void* text, size_t len,
|
| + SkScalar x, SkScalar y, const SkPaint& paint) SK_OVERRIDE;
|
| + virtual void drawPosText(const SkDraw&, const void* text, size_t len,
|
| + const SkScalar pos[], int scalarsPerPos,
|
| + const SkPoint& offset, const SkPaint& paint) SK_OVERRIDE;
|
| + virtual void drawTextOnPath(const SkDraw&, const void* text, size_t len,
|
| + const SkPath& path, const SkMatrix* matrix,
|
| + const SkPaint& paint) SK_OVERRIDE;
|
| + virtual void drawVertices(const SkDraw&, SkCanvas::VertexMode, int vertexCount,
|
| + const SkPoint verts[], const SkPoint texs[],
|
| + const SkColor colors[], SkXfermode* xmode,
|
| + const uint16_t indices[], int indexCount,
|
| + const SkPaint& paint) SK_OVERRIDE;
|
| +
|
| + virtual void drawDevice(const SkDraw&, SkBaseDevice*, int x, int y,
|
| + const SkPaint&) SK_OVERRIDE;
|
| + virtual const SkBitmap& onAccessBitmap() SK_OVERRIDE;
|
| +
|
| +private:
|
| + SkSVGDevice(const SkISize& size, SkWStream* wstream);
|
| + virtual ~SkSVGDevice();
|
| +
|
| + void addPaint(const SkPaint& paint);
|
| + void addTransform(const SkMatrix& t);
|
| +
|
| + SkXMLWriter* fWriter;
|
| + SkBitmap fLegacyBitmap;
|
| +};
|
| +
|
| +#endif // SkSVGDevice_DEFINED
|
|
|