skia2/gpu/include/GrMesh.h

43 lines
892 B
C
Raw Normal View History

#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