Claude Chappe' Curse - A C Game
Logo Institut d'Informatique Claude Chappe Logo Université de Le Mans Logo Raeptor Production
 
Loading...
Searching...
No Matches
frame.h
Go to the documentation of this file.
1#pragma once
23
30typedef struct ImageFrame {
31 char path[256];
33
40typedef struct RadioButton {
45
46
68typedef struct Slider {
70 bool *checked;
71 float *value;
72 float min;
73 float max;
74} Slider;
75
83typedef struct Button {
85 bool *checked;
86} Button;
87
94typedef struct SelectList {
96 char (*options)[256];
100
107typedef struct Label {
108 char *text;
110} Label;
111
118typedef struct InputArea {
120 char text[256];
121 char defaultText[256];
122} InputArea;
123
130typedef struct Font {
131 TTF_Font *font;
132 char path[256];
133 int size;
134} Font;
135
142typedef struct Theme {
144 SDL_Color textColor;
146 struct Frame *parent;
147} Theme;
148
164
171typedef struct Frame {
172 vec4 overflow;
173 vec2 relPos;
174 vec2 absPos;
175 vec2 scale;
176 vec2 size;
178 vec2 scroll;
180 char unit[4];
181 char alignment[2];
183 SDL_Surface *contentSurface;
185 union {
193 };
195} Frame;
196
203typedef struct RawColor {
208} RawColor;
209
#define u16
Alias for uint16_t (unsigned 16-bit integer).
Definition aliases.h:13
#define u8
Alias for uint8_t (unsigned 8-bit integer).
Definition aliases.h:7
Represents a button.
Definition button.class.c:32
bool * checked
Definition frame.h:85
ButtonState state
Definition frame.h:84
Represents a frame.
Definition frame.class.c:29
vec4 overflow
Definition frame.h:172
vec2 contentSize
Definition frame.h:177
vec2 relPos
Definition frame.h:173
vec2 size
Definition frame.h:176
InputArea * inputArea
Definition frame.h:188
TextureMap contentTexture
Definition frame.h:184
SDL_Surface * contentSurface
Definition frame.h:183
Button * button
Definition frame.h:187
Label * label
Definition frame.h:186
Theme * theme
Definition frame.h:182
RadioButton * radiobutton
Definition frame.h:191
Slider * slider
Definition frame.h:192
vec2 scroll
Definition frame.h:178
char unit[4]
Definition frame.h:180
char alignment[2]
Definition frame.h:181
vec2 absPos
Definition frame.h:174
SelectList * selectList
Definition frame.h:189
vec2 scale
Definition frame.h:175
ImageFrame * imageFrame
Definition frame.h:190
FrameFlags flags
Definition frame.h:194
vec2 scrollTarget
Definition frame.h:179
Represents an image frame.
Definition image_frame.class.c:31
char path[256]
Definition frame.h:31
Represents an input area.
Definition input_area.class.c:32
char text[256]
Definition frame.h:120
ButtonState state
Definition frame.h:119
char defaultText[256]
Definition frame.h:121
Represents a label.
Definition label.class.c:34
char * text
Definition frame.h:108
int displayLength
Definition frame.h:109
Represents a radio button.
Definition radiobutton.class.c:28
u16 id
Definition frame.h:43
ButtonState state
Definition frame.h:41
u16 * checked
Definition frame.h:42
Represents a selectable list.
Definition selectlist.class.c:28
ButtonState state
Definition frame.h:95
char(* options)[256]
Definition frame.h:96
u16 * selected
Definition frame.h:97
u16 count
Definition frame.h:98
Represents a slider component in the GUI.
Definition slider.class.c:28
float * value
Definition frame.h:71
float max
Definition frame.h:73
float min
Definition frame.h:72
ButtonState state
Definition frame.h:69
bool * checked
Definition frame.h:70
FrameFlags
Flags for frame properties.
Definition frame.h:155
@ OVERFLOW_SCROLL
Definition frame.h:159
@ FRAME_NEEDS_INIT
Definition frame.h:162
@ FRAME_VISIBLE
Definition frame.h:161
@ FRAME_NEEDS_REFRESH
Definition frame.h:158
@ OVERFLOW_VISIBLE
Definition frame.h:160
@ FRAME_CONTENT
Definition frame.h:157
@ FRAME_BACKGROUND
Definition frame.h:156
ButtonState
Represents the state of a button.
Definition frame.h:18
@ BUTTON_STATE_NORMAL
Definition frame.h:19
@ BUTTON_STATE_PRESSED
Definition frame.h:21
@ BUTTON_STATE_HOVERED
Definition frame.h:20
u32 TextureMap
Alias for u32 representing a texture map.
Definition memory.h:25
Represents a font.
Definition frame.h:130
char path[256]
Definition frame.h:132
int size
Definition frame.h:133
TTF_Font * font
Definition frame.h:131
Represents a raw color.
Definition frame.h:203
u8 a
Definition frame.h:207
u8 g
Definition frame.h:205
u8 b
Definition frame.h:206
u8 r
Definition frame.h:204
Represents a theme.
Definition frame.h:142
struct Frame * parent
Definition frame.h:146
Font font
Definition frame.h:143
SDL_Color textColor
Definition frame.h:144
TextureMap windowSkin
Definition frame.h:145