-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAppGame.txt
220 lines (172 loc) · 5.31 KB
/
AppGame.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
/*
autor: esbva, 11-08-2020
Este archivo es una forma de PSeudo diagrama, de la estructura de los controles
y botones que se necesitan en una interface grafica, aunque tiene una tendencia
que se identifican con el lenguaje C/C++, la intension no es representar del
todo su sintaxis, es mas bien la expresion de la idea dentro de la estructura
antes de llevar a cabo implementacion de la programacion correcta.
Esta pensado para que los colaboradores les sea mas facil comprender en que lugar
va ensamblada cada pieza de esta libreria.-
Toda colaboracion en este documento es bienvenida.-
by esbva.-
*/
// Modulo de Pantalla GUI
namespace scr {
//. Esilos con colores predeterminados
enum STYLES {
ColorNormal,
ColorSelect,
ColorActive,
ColorDisable,
}
//. Eventos posibles desde los WIDGET
enum EVENTS {
on_Create,
on_Destroy,
on_Pressed,
on_Released,
on_Update,
on_Display,
on_Resize,
on_Visible,
on_Disabled,
on_Connect,
on_Disconnect,
}
struct Events {
int idKey,
EVENTS event[],
auto_ptr *callfunction;
}
struct COORD {
float x, y;
}
struct DIMENSION {
float x, y, width, height;
}
class Screen {
private:
//. Tabla de Botones en la Screen
TABLA <key, WIDGET>[];
//. Recibe los eventos enviados desde los WIDGETS
//. los procesa y luego los borra de la Queue
QUEUE <key, EVENTS>[];
COORD position //. Coordenada en la pantalla (punto centro)
STYLES styles //. Colores Predeterminados
uint idClass //. Numero identificador del Screen
uint idTypes //. Frame / Dialog / Splash
string idNames //. Nombre identificador
bool visible //. Si es visible (true, false)
bool enabled //. Si esta disponible
bool focused //. Si tiene Focus Activo
WIDGET focusNext //. Siguiente Screen a focalizar
WIDGET focusPrevio //. Anterior Screen a focalizar
DIMENSION dimActual;
DIMENSION dimMinima;
DIMENSION dimMaxima;
FONT myFont; //. Fuente predeterminada
float FontScale //. Escalar proporcional de la Fuente
std::string pathConfig //. ruta a los recursos basicos.
public:
void Display()
void Update()
void Resize()
bool is_visible()
bool is_enabled()
bool in_focused()
bool Connect(EVENT, method, argument)
bool Disconect()
bool MouseEntered()
bool MouseExited()
bool MouseMoved()
bool Search(WIDGET, EVENT SendEvent)
bool remove(WIDGET)
string toString()
Screen_SaveToFile(filename)
Screen_LoadFromFile(filename)
}
}
class Widget {
//. Cada widget crea una tabla de eventos, y la envia
//. a un puntero de una funcion en SCREEN
EVENT<event, callFunction, argument)
private:
COORD position //. Coordenada en la pantalla (punto centro)
STYLES styles //. Colores Predeterminados
uint idClass //. Numero identificador del Widget
uint idTypes //. (1=Label, 2=Button, 3=ButtonTexture ...)
string idNames //. Nombre identificador
bool visible //. Si es visible (true, false)
bool enabled //. Si esta disponible
bool focused //. Si tiene Focus Activo
WIDGET focusNext //. Siguiente Screen a focalizar
WIDGET focusPrevio //. Anterior Screen a focalizar
DIMENSION dimActual //. Dimensiones
DIMENSION dimMinima
DIMENSION dimMaxima
DIMENSION factorMargen //. factor de margen Centrado = (0.5, 0.5, 0.5, 0.5)
//. Funciones a ser heredadas por cada Widget de la lista de abajo.
protected:
void setStyle( STYLES m);
STYLES getStyle();
void setPosition( COORD m) //. Fijar Posicion
COORD getPosition()
void setName(std::string)
std::string getName()
void setVisible(state) //. state = {true, false}
bool is_visible()
void setEnabled(state) //. Si esta disponible
bool is_enabled()
void setFocus(state) //. Si esta focalizado
bool is_focused()
void setFocusNext(WIDGET m)
void setFocusPrevio(WIDGET m)
void setDimension(float width, height) //. Dimension Actual (Ancho, alto)
void setDimensionMin(float width, float height) //. Dimesion Minima
void setDimensionMax(float width, float height) //. Dimesion Maxima
DIMENSION getDimension()
DIMENSION getDimensionMin()
DIMENSION getDimensionMax()
void setFactorMargen(DIMENSION m)
DIMENSION getFactorMargen()
std::string toString() //. Retorna un String texto con los parametros configurados
virtual Display()
virtual Update()
virtual Resize()
//. Clases Heredadas (por hacer)
//. Los Widget Predeterminados solo son dibujados
//. Los Widget Personalizados son revestidos con texturas
class Label;
class Button;
class ButtonTexture;
class ButtonRadio;
class ButtonCheck;
class Rect
class RectTexture;
class RectColor;
class H_BOX;
class V_BOX;
class TextBox;
class TextView;
class ListBox;
class ComboBox;
class SpinBox;
class TabView
class Panel;
class PanelTexture;
class PanelScroller;
class Scroll_V;
class Scroll_H;
class Slider_V;
class Slider_H;
class ColorBox;
class ImageBox;
class TreeView;
class ProgressBar
class ProgressTextureRect;
class ProgressTextureCircle;
class fileOpen;
class fileSave;
class ChooseColor;
class ChooseFonts;
}