| Index: include/gpu/GrTypesPriv.h
|
| ===================================================================
|
| --- include/gpu/GrTypesPriv.h (revision 8407)
|
| +++ include/gpu/GrTypesPriv.h (working copy)
|
| @@ -8,6 +8,8 @@
|
| #ifndef GrTypesPriv_DEFINED
|
| #define GrTypesPriv_DEFINED
|
|
|
| +#include "SkTArray.h"
|
| +
|
| /**
|
| * Types of shader-language-specific boxed variables we can create.
|
| * (Currently only GrGLShaderVars, but should be applicable to other shader
|
| @@ -24,4 +26,34 @@
|
| kSampler2D_GrSLType
|
| };
|
|
|
| +/**
|
| + * Types used to describe format of vertices in arrays
|
| + */
|
| +enum GrVertexAttribType {
|
| + kFloat_GrVertexAttribType = 0,
|
| + kVec2f_GrVertexAttribType,
|
| + kVec3f_GrVertexAttribType,
|
| + kVec4f_GrVertexAttribType,
|
| + kVec4ub_GrVertexAttribType, // vector of 4 unsigned bytes, e.g. colors
|
| +
|
| + kLast_GrVertexAttribType = kVec4ub_GrVertexAttribType
|
| +};
|
| +static const int kGrVertexAttribTypeCount = kLast_GrVertexAttribType + 1;
|
| +
|
| +struct GrVertexAttrib {
|
| + inline void set(GrVertexAttribType type, size_t offset) {
|
| + fType = type; fOffset = offset;
|
| + }
|
| + bool operator==(const GrVertexAttrib& other) const {
|
| + return fType == other.fType && fOffset == other.fOffset;
|
| + };
|
| + bool operator!=(const GrVertexAttrib& other) const { return !(*this == other); }
|
| +
|
| + GrVertexAttribType fType;
|
| + size_t fOffset;
|
| +};
|
| +
|
| +template <int N>
|
| +class GrVertexAttribArray : public SkSTArray<N, GrVertexAttrib, true> {};
|
| +
|
| #endif
|
|
|