maug
Quick and dirty C mini-augmentation library.
|
Data Structures | |
struct | RETROGUI_CTL_BASE |
Fields common to ALL RETROGUI_CTL types. More... | |
union | RETROGUI_CTL |
Macros | |
#define | RETROGUI_CTL_TABLE_BASE(f) |
Table defining all control types and their specific fields in RETROGUI_CTL. | |
#define | RETROGUI_CTL_TABLE(f) |
#define | retrogui_can_focus_ctl(ctl) |
Determine if a RETROGUI_CTL can hold RETROGUI::focus. | |
#define | RETROGUI_CTL_TABLE_FIELDS(idx, c_name, c_fields) |
Creates the corresponding RETROGUI_* structs from RETROGUI_CTL_TABLE that populate union RETROGUI_CTL. | |
#define | RETROGUI_CTL_TABLE_TYPES(idx, c_name, c_fields) |
Adds the structs created by RETROGUI_CTL_TABLE_FIELDS to union RETROGUI_CTL. | |
#define retrogui_can_focus_ctl | ( | ctl | ) |
Determine if a RETROGUI_CTL can hold RETROGUI::focus.
#define RETROGUI_CTL_TABLE | ( | f | ) |
#define RETROGUI_CTL_TABLE_BASE | ( | f | ) |
Table defining all control types and their specific fields in RETROGUI_CTL.
This table takes a macro as an argument, itself with the argumentS:
type_idx | Index passed to RETROGUI_CTL_BASE::type. |
struct | Name of the struct under the RETROGUI_CTL union. |
fields | Semicolon-separated list of fields for the type struct. |
Each such macro defines a new control type.
All entries in this table have corresponding retrogui_redraw_*, retrogui_poll_*, retrogui_init_*, and retrogui_push_* functions which are called internally from retrogui_redraw_ctls(), retrogui_poll_ctls(), retrogui_init_ctl(), and retrogui_push_ctl(), respectively.
#define RETROGUI_CTL_TABLE_FIELDS | ( | idx, | |
c_name, | |||
c_fields ) |
Creates the corresponding RETROGUI_* structs from RETROGUI_CTL_TABLE that populate union RETROGUI_CTL.
#define RETROGUI_CTL_TABLE_TYPES | ( | idx, | |
c_name, | |||
c_fields ) |
Adds the structs created by RETROGUI_CTL_TABLE_FIELDS to union RETROGUI_CTL.