18ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com/* 28ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com * Copyright 2012 The Android Open Source Project 38ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com * 48ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com * Use of this source code is governed by a BSD-style license that can be 58ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com * found in the LICENSE file. 68ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com */ 78ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com 88ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com#ifndef ANDROID_HWUI_VERTEX_H 98ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com#define ANDROID_HWUI_VERTEX_H 108ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com 118ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.comnamespace android { 128ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.comnamespace uirenderer { 138ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com 148ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com/** 158ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com * Simple structure to describe a vertex with a position and a texture. 168ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com */ 178ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.comstruct Vertex { 188ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com float position[2]; 198ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com 208ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com static inline void set(Vertex* vertex, float x, float y) { 218ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com vertex[0].position[0] = x; 228ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com vertex[0].position[1] = y; 238ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com } 248ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com}; // struct Vertex 258ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com 268ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com/** 278ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com * Simple structure to describe a vertex with a position and a texture. 288ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com */ 298ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com/*struct TextureVertex { 308ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com float position[2]; 318ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com float texture[2]; 328ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com 338ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com static inline void set(TextureVertex* vertex, float x, float y, float u, float v) { 348ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com vertex[0].position[0] = x; 358ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com vertex[0].position[1] = y; 368ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com vertex[0].texture[0] = u; 378ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com vertex[0].texture[1] = v; 388ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com } 398ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com 408ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com static inline void setUV(TextureVertex* vertex, float u, float v) { 418ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com vertex[0].texture[0] = u; 428ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com vertex[0].texture[1] = v; 438ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com } 448ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com};*/ // struct TextureVertex 458ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com 468ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com/** 478ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com * Simple structure to describe a vertex with a position and an alpha value. 488ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com */ 498ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.comstruct AlphaVertex : Vertex { 508ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com float alpha; 518ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com 528ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com static inline void set(AlphaVertex* vertex, float x, float y, float alpha) { 538ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com Vertex::set(vertex, x, y); 548ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com vertex[0].alpha = alpha; 558ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com } 568ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com 578ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com static inline void setColor(AlphaVertex* vertex, float alpha) { 588ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com vertex[0].alpha = alpha; 598ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com } 608ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com}; // struct AlphaVertex 618ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com 628ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com/** 638ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com * Simple structure to describe a vertex with a position and an alpha value. 648ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com */ 658ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com/*struct AAVertex : Vertex { 668ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com float width; 678ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com float length; 688ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com 698ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com static inline void set(AAVertex* vertex, float x, float y, float width, float length) { 708ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com Vertex::set(vertex, x, y); 718ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com vertex[0].width = width; 728ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com vertex[0].length = length; 738ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com } 748ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com 758ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com static inline void setColor(AAVertex* vertex, float width, float length) { 768ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com vertex[0].width = width; 778ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com vertex[0].length = length; 788ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com } 798ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com};*/ // struct AlphaVertex 808ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com 818ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com}; // namespace uirenderer 828ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com}; // namespace android 838ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com 848ffb7046cb789ade4dde1ad588fb8ae995fd3f9ajvanverth@google.com#endif // ANDROID_HWUI_VERTEX_H 85