gfx/skia/trunk/include/utils/SkMeshUtils.h

branch
TOR_BUG_3246
changeset 7
129ffea94266
equal deleted inserted replaced
-1:000000000000 0:a786f34df360
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
14 class SkBitmap;
15 class SkCanvas;
16 class SkPaint;
17
18 class SkMeshIndices {
19 public:
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
36 private:
37 int fIndexCount, fTexCount;
38 SkPoint* fTex;
39 uint16_t* fIndices;
40 void* fStorage; // may be null
41 };
42
43 class SkMeshUtils {
44 public:
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

mercurial