1 /*---------------------------------------------------------------------------*
2   Project:  Horizon
3   File:     font_Types.h
4 
5   Copyright (C)2009-2010 Nintendo Co., Ltd./HAL Laboratory, Inc.  All rights reserved.
6 
7   These coded instructions, statements, and computer programs contain
8   proprietary information of Nintendo of America Inc. and/or Nintendo
9   Company Ltd., and are protected by Federal copyright law. They may
10   not be disclosed to third parties or copied or duplicated in any form,
11   in whole or in part, without the prior written consent of Nintendo.
12 
13   $Revision: 25674 $
14  *---------------------------------------------------------------------------*/
15 
16 #ifndef NN_FONT_FONT_TYPES_H_
17 #define NN_FONT_FONT_TYPES_H_
18 
19 #include <nn/types.h>
20 #include <nn/util/util_Color.h>
21 #include <nn/font/font_DrawerTypes.h>
22 
23 namespace nn {
24 namespace font {
25 namespace internal {
26 
27 enum
28 {
29     VERTEX_ATTR_POS,
30     VERTEX_ATTR_POS_Z,
31     VERTEX_ATTR_COLOR,
32     VERTEX_ATTR_TEXCOORD,
33 
34     VERTEX_ATTR_NUM
35 };
36 
37 enum
38 {
39     POS_X,
40     POS_Y,
41 
42     POS_NUM
43 };
44 
45 enum
46 {
47     COLOR_R,
48     COLOR_G,
49     COLOR_B,
50     COLOR_A,
51 
52     COLOR_NUM
53 };
54 
55 enum
56 {
57     TEXCOORD_X,
58     TEXCOORD_Y,
59 
60     TEXCOORD_NUM
61 };
62 
63 enum
64 {
65     TRIFAN_VTX_RT,
66     TRIFAN_VTX_LT,
67     TRIFAN_VTX_LB,
68     TRIFAN_VTX_RB,
69 
70     TRIFAN_VTX_MAX
71 };
72 
73 enum
74 {
75     LOC_PROJECTION,
76     LOC_MODELVIEW,
77 
78     LOC_FRAGMENTLIGHTING_ENABLED,
79     LOC_TEXTURE0_SAMPLERTYPE,
80     LOC_FOG_MODE,
81     LOC_FRAGOPERATION_ENABLEALPHATEST,
82 
83     LOC_MAX
84 };
85 
86 enum
87 {
88     TCLOC_SRCRGB,
89     TCLOC_SRCALPHA,
90     TCLOC_OPERANDRGB,
91     TCLOC_OPERANDALPHA,
92     TCLOC_COMBINERGB,
93     TCLOC_COMBINEALPHA,
94     TCLOC_SCALERGB,
95     TCLOC_SCALEALPHA,
96     TCLOC_CONSTRGBA,
97 
98     TCLOC_MAX
99 };
100 
101 enum
102 {
103     TEXENV_3,
104     TEXENV_4,
105     TEXENV_5,
106 
107     TEXENV_MAX
108 };
109 
110 enum TextColor
111 {
112     TEXTCOLOR_START,        //
113     TEXTCOLOR_END,          //
114 
115     TEXTCOLOR_MAX           //
116 };
117 
118 //
119 const int               VERTEX_INDEX_NUM = 6;
120 
121 struct VertexAttribute
122 {
123     f32                 pos[POS_NUM];
124     util::Color8        color;
125     f32                 tex[TEXCOORD_NUM];
126 };
127 
128 }   // namespace internal
129 }   // namespace font
130 }   // namespace nn
131 
132 #endif //  NN_FONT_FONT_TYPES_H_
133