2011-07-28 14:26:00 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Copyright 2011 Google Inc.
|
|
|
|
*
|
|
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
|
|
* found in the LICENSE file.
|
|
|
|
*/
|
2009-10-28 14:25:34 +00:00
|
|
|
#ifndef SkMeshUtils_DEFINED
|
|
|
|
#define SkMeshUtils_DEFINED
|
|
|
|
|
|
|
|
#include "SkPoint.h"
|
|
|
|
#include "SkColor.h"
|
|
|
|
|
|
|
|
class SkBitmap;
|
|
|
|
class SkCanvas;
|
|
|
|
class SkPaint;
|
|
|
|
|
|
|
|
class SkMeshIndices {
|
|
|
|
public:
|
|
|
|
SkMeshIndices();
|
|
|
|
~SkMeshIndices();
|
2012-08-23 18:09:54 +00:00
|
|
|
|
2009-10-28 14:25:34 +00:00
|
|
|
bool init(int texW, int texH, int rows, int cols) {
|
|
|
|
return this->init(NULL, NULL, texW, texH, rows, cols);
|
|
|
|
}
|
|
|
|
|
|
|
|
bool init(SkPoint tex[], uint16_t indices[],
|
|
|
|
int texW, int texH, int rows, int cols);
|
|
|
|
|
2013-10-14 21:53:24 +00:00
|
|
|
int indexCount() const { return fIndexCount; }
|
2009-10-28 14:25:34 +00:00
|
|
|
const uint16_t* indices() const { return fIndices; }
|
|
|
|
|
|
|
|
size_t texCount() const { return fTexCount; }
|
|
|
|
const SkPoint* tex() const { return fTex; }
|
|
|
|
|
|
|
|
private:
|
2013-10-14 21:53:24 +00:00
|
|
|
int fIndexCount, fTexCount;
|
2009-10-28 14:25:34 +00:00
|
|
|
SkPoint* fTex;
|
|
|
|
uint16_t* fIndices;
|
|
|
|
void* fStorage; // may be null
|
|
|
|
};
|
|
|
|
|
|
|
|
class SkMeshUtils {
|
|
|
|
public:
|
|
|
|
static void Draw(SkCanvas*, const SkBitmap&, int rows, int cols,
|
|
|
|
const SkPoint verts[], const SkColor colors[],
|
|
|
|
const SkPaint& paint);
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|