cmdfx
0.2.1
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
int
type
;
90
void
*
extra
;
98
CmdFX_ButtonCallback
*
callback
;
99
}
CmdFX_Button
;
100
110
CmdFX_Button
**
Canvas_getRegisteredButtons
();
111
121
int
Canvas_getRegisteredButtonsCount
();
122
133
CmdFX_Button
*
Button_create
(
CmdFX_Sprite
* sprite,
CmdFX_ButtonCallback
callback);
134
150
CmdFX_Button
*
Button_createFilled
(
int
width,
int
height,
char
c,
char
* ansi,
int
z,
CmdFX_ButtonCallback
callback);
151
161
void
Button_free
(
CmdFX_Button
* button);
162
175
int
Button_draw
(
int
x,
int
y,
CmdFX_Button
* button);
176
186
int
Button_remove
(
CmdFX_Button
* button);
187
198
int
Button_isHidden
(
CmdFX_Button
* button);
199
211
int
Button_hide
(
CmdFX_Button
* button);
212
222
int
Button_show
(
CmdFX_Button
* button);
223
237
CmdFX_Button
**
Canvas_getAllButtonsAt
(
int
x,
int
y);
238
250
CmdFX_Button
*
Canvas_getButtonAt
(
int
x,
int
y);
251
267
int
Button_setData
(
CmdFX_Button
* button,
char
** data,
char
*** ansi);
268
281
int
Button_moveTo
(
CmdFX_Button
* button,
int
x,
int
y);
282
295
int
Button_moveBy
(
CmdFX_Button
* button,
int
dx,
int
dy);
296
297
#ifdef __cplusplus
298
}
299
#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_moveTo
int Button_moveTo(CmdFX_Button *button, int x, int y)
Moves the button to the given position.
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_moveBy
int Button_moveBy(CmdFX_Button *button, int dx, int dy)
Moves the button by the given offset.
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::type
int type
A unique type of the button.
Definition
button.h:81
CmdFX_Button::y
int y
The Y position of the button.
Definition
button.h:63
CmdFX_Button::extra
void * extra
A pointer to extra data associated with this button.
Definition
button.h:90
CmdFX_Button::callback
CmdFX_ButtonCallback * callback
The callback function to be called when the button is clicked.
Definition
button.h:98
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:102
CmdFX_Sprite
Represents a sprite that can be drawn to the terminal.
Definition
sprites.h:30
Generated by
1.13.2