| |
| /* |
| * Copyright 2011 Google Inc. |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| #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 |
| |