f***ed up and needed to rework packages
This commit is contained in:
parent
b43ab1702f
commit
f7a87d7519
78 changed files with 3713 additions and 0 deletions
78
include/arc/console/element.h
Normal file
78
include/arc/console/element.h
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
#ifndef ARC_NCURSES_ELEMENT_H_
|
||||
#define ARC_NCURSES_ELEMENT_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include "view.h"
|
||||
#include "arc/std/string.h"
|
||||
#include "arc/std/bool.h"
|
||||
#include "arc/math/point.h"
|
||||
|
||||
/**
|
||||
* @brief
|
||||
*/
|
||||
typedef struct ARC_ConsoleElement ARC_ConsoleElement;
|
||||
|
||||
/**
|
||||
* @brief
|
||||
*/
|
||||
typedef void (*ARC_ConsoleElement_RenderFn)(ARC_ConsoleView *view, ARC_ConsoleElement *element);
|
||||
|
||||
/**
|
||||
* @brief
|
||||
*/
|
||||
typedef struct ARC_ConsoleElement {
|
||||
uint32_t type;
|
||||
uint8_t flags;
|
||||
ARC_String *string;
|
||||
|
||||
ARC_Point pos;
|
||||
|
||||
ARC_ConsoleElement_RenderFn renderFn;
|
||||
} ARC_ConsoleElement;
|
||||
|
||||
/**
|
||||
* @brief
|
||||
*/
|
||||
#define ARC_CONSOLE_ELEMENT_FLAG_NONE 0b00000000
|
||||
#define ARC_CONSOLE_ELEMENT_FLAG_SELECTABLE 0b00000001
|
||||
#define ARC_CONSOLE_ELEMENT_FLAG_SELECTED 0b00000010
|
||||
|
||||
/**
|
||||
* @brief
|
||||
*/
|
||||
void ARC_ConsoleElement_Create(ARC_ConsoleElement **element, uint32_t type, uint8_t flags, ARC_String *string, ARC_Point pos, ARC_ConsoleElement_RenderFn renderFn);
|
||||
|
||||
/**
|
||||
* @brief
|
||||
*/
|
||||
void ARC_ConsoleElement_Destroy(ARC_ConsoleElement *element);
|
||||
|
||||
/**
|
||||
* @brief
|
||||
*/
|
||||
void ARC_ConsoleElement_DefaultRenderFn(ARC_ConsoleView *view, ARC_ConsoleElement *element);
|
||||
|
||||
/**
|
||||
* @brief
|
||||
*
|
||||
* @param
|
||||
*/
|
||||
ARC_Bool ARC_ConsoleElement_IsSelectable(ARC_ConsoleElement *element);
|
||||
|
||||
/**
|
||||
* @brief
|
||||
*
|
||||
* @param
|
||||
*/
|
||||
void ARC_ConsoleElement_SetSelected(ARC_ConsoleElement *element, ARC_Bool selected);
|
||||
|
||||
/**
|
||||
* @brief
|
||||
*/
|
||||
void ARC_ConsoleElement_ToggleSelected(ARC_ConsoleElement *element);
|
||||
|
||||
#endif //!ARC_CONSOLE_ELEMENT_H_
|
||||
Loading…
Add table
Add a link
Reference in a new issue