diff options
| author | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2022-06-24 16:55:18 +0200 |
|---|---|---|
| committer | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2022-06-26 20:00:27 +0200 |
| commit | 7c75118429596dcfd86dbefb32e9ae79585c4da0 (patch) | |
| tree | d06478b8e303d0e2729c57b079f481fbcf5b9adf /src/button/inc | |
| parent | f17c76c4007563389188c147d4e1c766039fb686 (diff) | |
| download | rts-7c75118429596dcfd86dbefb32e9ae79585c4da0.tar.gz | |
Revamp gui component
`gui` was tighly coupled to game logic, and could not be extended for
other purposes. Therefore, a generic GUI implementation, loosely
inspired by well-known GUI frameworks such as GTK, is now provided, with
the following properties:
- Does not depend on dynamic or static memory allocation, only automatic
(i.e., stack) memory allocation required.
- Portable among existing implementations.
- Simple to extend.
- Tiny memory footprint.
`gui` is now composed by GUI elements that can be chained to form a tree
structure. This is useful e.g.: to calculate X/Y coordinates for a given
GUI element given its parent(s).
This commit also refactors the older implementation, moving
game-specific logic into `player` and making use of the new component.
Diffstat (limited to 'src/button/inc')
| -rw-r--r-- | src/button/inc/button.h | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/src/button/inc/button.h b/src/button/inc/button.h deleted file mode 100644 index 062cb07..0000000 --- a/src/button/inc/button.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef BUTTON_H -#define BUTTON_H - -#include <gfx.h> -#include <stdbool.h> - -#ifdef __cplusplus -extern "C" -{ -#endif - -enum -{ - BUTTON_LEFT, - BUTTON_MID, - BUTTON_RIGHT, - - MAX_BUTTON_SPRITES -}; - -struct button -{ - const char *text; - short x, y, w; -}; - -bool button_is_pressed(const struct button *b); -int button_render(const struct button *b); - -extern struct sprite button_sprites[MAX_BUTTON_SPRITES]; - -#ifdef __cplusplus -} -#endif - -#endif /* BUTTON_H */ |
