#ifndef SkGLDevice_SWLayer_DEFINED #define SkGLDevice_SWLayer_DEFINED #include "SkGLDevice.h" class SkGLDevice_SWLayer : public SkGLDevice { public: SkGLDevice_SWLayer(const SkBitmap& bitmap); virtual ~SkGLDevice_SWLayer(); // overrides from SkGLDevice virtual TexOrientation bindDeviceAsTexture(); // overrides from SkDevice virtual void drawPaint(const SkDraw&, const SkPaint& paint); virtual void drawPoints(const SkDraw&, SkCanvas::PointMode mode, size_t count, const SkPoint[], const SkPaint& paint); virtual void drawRect(const SkDraw&, const SkRect& r, const SkPaint& paint); virtual void drawPath(const SkDraw&, const SkPath& path, const SkPaint& paint); virtual void drawBitmap(const SkDraw&, const SkBitmap& bitmap, const SkMatrix& matrix, const SkPaint& paint); virtual void drawSprite(const SkDraw&, const SkBitmap& bitmap, int x, int y, const SkPaint& paint); virtual void drawText(const SkDraw&, const void* text, size_t len, SkScalar x, SkScalar y, const SkPaint& paint); virtual void drawPosText(const SkDraw&, const void* text, size_t len, const SkScalar pos[], SkScalar constY, int scalarsPerPos, const SkPaint& paint); virtual void drawTextOnPath(const SkDraw&, const void* text, size_t len, const SkPath& path, const SkMatrix* matrix, const SkPaint& paint); 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); virtual void drawDevice(const SkDraw&, SkDevice*, int x, int y, const SkPaint&); private: GLuint fTextureID; typedef SkGLDevice INHERITED; }; #endif