diff options
author | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2010-12-22 21:39:39 +0000 |
---|---|---|
committer | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2010-12-22 21:39:39 +0000 |
commit | ac10a2d039c5d52eed66e27cbbc503ab523c1cd5 (patch) | |
tree | c5be0c3dd15052016e7d32f376507cb1ea7101dd /gpu/include/GrMesh.h | |
parent | ea8509cd3b1771b36054313d3ccd56679df56044 (diff) |
add gpu backend (not hooked up yet)
git-svn-id: http://skia.googlecode.com/svn/trunk@649 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'gpu/include/GrMesh.h')
-rw-r--r-- | gpu/include/GrMesh.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/gpu/include/GrMesh.h b/gpu/include/GrMesh.h new file mode 100644 index 0000000000..4d904e41bd --- /dev/null +++ b/gpu/include/GrMesh.h @@ -0,0 +1,42 @@ +#ifndef GrMesh_DEFINED +#define GrMesh_DEFINED + +#include "SkRect.h" +#include "SkPoint.h" + +class SkCanvas; +class SkPaint; + +class GrMesh { +public: + GrMesh(); + ~GrMesh(); + + GrMesh& operator=(const GrMesh& src); + + void init(const SkRect& bounds, int rows, int cols, + const SkRect& texture); + + const SkRect& bounds() const { return fBounds; } + + int rows() const { return fRows; } + int cols() const { return fCols; } + SkPoint& pt(int row, int col) { + return fPts[row * (fRows + 1) + col]; + } + + void draw(SkCanvas*, const SkPaint&); + void drawWireframe(SkCanvas* canvas, const SkPaint& paint); + +private: + SkRect fBounds; + int fRows, fCols; + SkPoint* fPts; + SkPoint* fTex; // just points into fPts, not separately allocated + int fCount; + uint16_t* fIndices; + int fIndexCount; +}; + +#endif + |