cmdfx
0.2.0
Lightweight game engine for your terminal
Loading...
Searching...
No Matches
include
cmdfx
ui
button.h
Go to the documentation of this file.
1
11
#pragma once
12
13
#include "
cmdfx/core/sprites.h
"
14
#include "
cmdfx/core/events.h
"
15
16
#ifdef __cplusplus
17
extern
"C"
{
18
#endif
19
20
// use void pointer becuase not declared yet
21
33
typedef
void (*
CmdFX_ButtonCallback
)(
void
* button,
CmdFX_MouseEvent
* event,
unsigned
long
long
time);
34
42
typedef
struct
CmdFX_Button
{
49
CmdFX_Sprite
*
sprite
;
56
int
x
;
63
int
y
;
73
int
id
;
81
CmdFX_ButtonCallback
*
callback
;
82
}
CmdFX_Button
;
83
93
CmdFX_Button
**
Canvas_getRegisteredButtons
();
94
104
int
Canvas_getRegisteredButtonsCount
();
105
116
CmdFX_Button
*
Button_create
(
CmdFX_Sprite
* sprite,
CmdFX_ButtonCallback
callback);
117
133
CmdFX_Button
*
Button_createFilled
(
int
width,
int
height,
char
c,
char
* ansi,
int
z,
CmdFX_ButtonCallback
callback);
134
144
void
Button_free
(
CmdFX_Button
* button);
145
158
int
Button_draw
(
int
x,
int
y,
CmdFX_Button
* button);
159
169
int
Button_remove
(
CmdFX_Button
* button);
170
181
int
Button_isHidden
(
CmdFX_Button
* button);
182
194
int
Button_hide
(
CmdFX_Button
* button);
195
205
int
Button_show
(
CmdFX_Button
* button);
206
220
CmdFX_Button
**
Canvas_getAllButtonsAt
(
int
x,
int
y);
221
233
CmdFX_Button
*
Canvas_getButtonAt
(
int
x,
int
y);
234
250
int
Button_setData
(
CmdFX_Button
* button,
char
** data,
char
*** ansi);
251
252
#ifdef __cplusplus
253
}
254
#endif
Canvas_getAllButtonsAt
CmdFX_Button ** Canvas_getAllButtonsAt(int x, int y)
Gets all buttons at the given position.
Button_isHidden
int Button_isHidden(CmdFX_Button *button)
Checks if a button is hidden.
Canvas_getButtonAt
CmdFX_Button * Canvas_getButtonAt(int x, int y)
Gets the button at the given position.
Canvas_getRegisteredButtons
CmdFX_Button ** Canvas_getRegisteredButtons()
Gets an array of registered buttons.
Button_show
int Button_show(CmdFX_Button *button)
Shows a button in the UI manager if it is already hidden.
Button_free
void Button_free(CmdFX_Button *button)
Frees the memory associated with a button.
Canvas_getRegisteredButtonsCount
int Canvas_getRegisteredButtonsCount()
Gets the number of registered buttons.
CmdFX_ButtonCallback
void(* CmdFX_ButtonCallback)(void *button, CmdFX_MouseEvent *event, unsigned long long time)
The callback function to be called when the button is clicked.
Definition
button.h:33
Button_create
CmdFX_Button * Button_create(CmdFX_Sprite *sprite, CmdFX_ButtonCallback callback)
Creates a new button.
Button_hide
int Button_hide(CmdFX_Button *button)
Hides a button from the UI manager.
Button_draw
int Button_draw(int x, int y, CmdFX_Button *button)
Draws the button on the screen.
Button_createFilled
CmdFX_Button * Button_createFilled(int width, int height, char c, char *ansi, int z, CmdFX_ButtonCallback callback)
Creates a new filled button.
Button_remove
int Button_remove(CmdFX_Button *button)
Removes a button from the UI manager.
Button_setData
int Button_setData(CmdFX_Button *button, char **data, char ***ansi)
Sets the data for a button.
events.h
Events API for CmdFX.
sprites.h
Sprites API for CmdFX.
CmdFX_Button
Represents a CmdFX button.
Definition
button.h:42
CmdFX_Button::sprite
CmdFX_Sprite * sprite
The sprite associated with this button.
Definition
button.h:49
CmdFX_Button::y
int y
The Y position of the button.
Definition
button.h:63
CmdFX_Button::callback
CmdFX_ButtonCallback * callback
The callback function to be called when the button is clicked.
Definition
button.h:81
CmdFX_Button::id
int id
The unique ID of the button.
Definition
button.h:73
CmdFX_Button::x
int x
The X position of the button.
Definition
button.h:56
CmdFX_MouseEvent
The payload for the CMDFX_EVENT_MOUSE event.
Definition
events.h:100
CmdFX_Sprite
Represents a sprite that can be drawn to the terminal.
Definition
sprites.h:30
Generated by
1.13.2