1 /* 2 * Copyright 2012 The Android Open Source Project 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 #ifndef ANDROID_HWUI_VERTEX_H 9 #define ANDROID_HWUI_VERTEX_H 10 11 namespace android { 12 namespace uirenderer { 13 14 /** 15 * Simple structure to describe a vertex with a position and a texture. 16 */ 17 struct Vertex { 18 float position[2]; 19 20 static inline void set(Vertex* vertex, float x, float y) { 21 vertex[0].position[0] = x; 22 vertex[0].position[1] = y; 23 } 24 }; // struct Vertex 25 26 /** 27 * Simple structure to describe a vertex with a position and a texture. 28 */ 29 /*struct TextureVertex { 30 float position[2]; 31 float texture[2]; 32 33 static inline void set(TextureVertex* vertex, float x, float y, float u, float v) { 34 vertex[0].position[0] = x; 35 vertex[0].position[1] = y; 36 vertex[0].texture[0] = u; 37 vertex[0].texture[1] = v; 38 } 39 40 static inline void setUV(TextureVertex* vertex, float u, float v) { 41 vertex[0].texture[0] = u; 42 vertex[0].texture[1] = v; 43 } 44 };*/ // struct TextureVertex 45 46 /** 47 * Simple structure to describe a vertex with a position and an alpha value. 48 */ 49 struct AlphaVertex : Vertex { 50 float alpha; 51 52 static inline void set(AlphaVertex* vertex, float x, float y, float alpha) { 53 Vertex::set(vertex, x, y); 54 vertex[0].alpha = alpha; 55 } 56 57 static inline void setColor(AlphaVertex* vertex, float alpha) { 58 vertex[0].alpha = alpha; 59 } 60 }; // struct AlphaVertex 61 62 /** 63 * Simple structure to describe a vertex with a position and an alpha value. 64 */ 65 /*struct AAVertex : Vertex { 66 float width; 67 float length; 68 69 static inline void set(AAVertex* vertex, float x, float y, float width, float length) { 70 Vertex::set(vertex, x, y); 71 vertex[0].width = width; 72 vertex[0].length = length; 73 } 74 75 static inline void setColor(AAVertex* vertex, float width, float length) { 76 vertex[0].width = width; 77 vertex[0].length = length; 78 } 79 };*/ // struct AlphaVertex 80 81 }; // namespace uirenderer 82 }; // namespace android 83 84 #endif // ANDROID_HWUI_VERTEX_H 85