#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