1 /* 2 * This source file is part of MyGUI. For the latest info, see http://mygui.info/ 3 * Distributed under the MIT License 4 * (See accompanying file COPYING.MIT or copy at http://opensource.org/licenses/MIT) 5 */ 6 7 #ifndef MYGUI_VERTEX_DATA_H_ 8 #define MYGUI_VERTEX_DATA_H_ 9 10 #include "MyGUI_Prerequest.h" 11 #include "MyGUI_Types.h" 12 13 namespace MyGUI 14 { 15 16 struct Vertex 17 { setVertex18 void set(float _x, float _y, float _z, float _u, float _v, uint32 _colour) 19 { 20 x = _x; 21 y = _y; 22 z = _z; 23 u = _u; 24 v = _v; 25 colour = _colour; 26 } 27 28 float x, y, z; 29 uint32 colour; 30 float u, v; 31 }; 32 33 struct VertexQuad 34 { 35 enum Enum 36 { 37 CornerLT = 0, 38 CornerRT = 1, 39 CornerLB = 2, 40 CornerLB2 = 3, 41 CornerRT2 = 4, 42 CornerRB = 5, 43 VertexCount = 6 44 }; 45 setVertexQuad46 void set(float _l, float _t, float _r, float _b, float _z, float _u1, float _v1, float _u2, float _v2, uint32 _colour) 47 { 48 vertex[CornerLT].set(_l, _t, _z, _u1, _v1, _colour); 49 vertex[CornerRT].set(_r, _t, _z, _u2, _v1, _colour); 50 vertex[CornerLB].set(_l, _b, _z, _u1, _v2, _colour); 51 vertex[CornerRB].set(_r, _b, _z, _u2, _v2, _colour); 52 vertex[CornerRT2] = vertex[CornerRT]; 53 vertex[CornerLB2] = vertex[CornerLB]; 54 } 55 setVertexQuad56 void set(float _x1, float _y1, float _x2, float _y2, float _x3, float _y3, float _x4, float _y4, float _z, float _u1, float _v1, float _u2, float _v2, uint32 _colour) 57 { 58 vertex[CornerLT].set(_x1, _y1, _z, _u1, _v1, _colour); 59 vertex[CornerRT].set(_x2, _y2, _z, _u2, _v1, _colour); 60 vertex[CornerLB].set(_x4, _y4, _z, _u1, _v2, _colour); 61 vertex[CornerRB].set(_x3, _y3, _z, _u2, _v2, _colour); 62 vertex[CornerRT2] = vertex[CornerRT]; 63 vertex[CornerLB2] = vertex[CornerLB]; 64 } 65 66 Vertex vertex[6]; 67 }; 68 69 } // namespace MyGUI 70 71 #endif // MYGUI_VERTEX_DATA_H_ 72