1 2/* 3 * Copyright 2011 Google Inc. 4 * 5 * Use of this source code is governed by a BSD-style license that can be 6 * found in the LICENSE file. 7 */ 8#ifndef SkMeshUtils_DEFINED 9#define SkMeshUtils_DEFINED 10 11#include "SkPoint.h" 12#include "SkColor.h" 13 14class SkBitmap; 15class SkCanvas; 16class SkPaint; 17 18class SkMeshIndices { 19public: 20 SkMeshIndices(); 21 ~SkMeshIndices(); 22 23 bool init(int texW, int texH, int rows, int cols) { 24 return this->init(NULL, NULL, texW, texH, rows, cols); 25 } 26 27 bool init(SkPoint tex[], uint16_t indices[], 28 int texW, int texH, int rows, int cols); 29 30 int indexCount() const { return fIndexCount; } 31 const uint16_t* indices() const { return fIndices; } 32 33 size_t texCount() const { return fTexCount; } 34 const SkPoint* tex() const { return fTex; } 35 36private: 37 int fIndexCount, fTexCount; 38 SkPoint* fTex; 39 uint16_t* fIndices; 40 void* fStorage; // may be null 41}; 42 43class SkMeshUtils { 44public: 45 static void Draw(SkCanvas*, const SkBitmap&, int rows, int cols, 46 const SkPoint verts[], const SkColor colors[], 47 const SkPaint& paint); 48}; 49 50#endif 51