55 lines
890 B
C
55 lines
890 B
C
#ifndef ARC_STD_TEXT_H_
|
|
#define ARC_STD_TEXT_H_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include <stdint.h>
|
|
#include "arc/graphics/color.h"
|
|
#include "arc/graphics/renderer.h"
|
|
#include "arc/math/point.h"
|
|
#include "arc/math/rectangle.h"
|
|
#include "arc/std/string.h"
|
|
|
|
typedef struct ARC_Text {
|
|
ARC_String *name;
|
|
|
|
int32_t fontSize;
|
|
ARC_FRect bounds;
|
|
|
|
ARC_Color color;
|
|
|
|
void *backendData;
|
|
} ARC_Text;
|
|
|
|
/**
|
|
* @brief
|
|
*/
|
|
void ARC_Text_Create(ARC_Text **text, ARC_String *path, int32_t size, ARC_Color color);
|
|
|
|
/**
|
|
* @brief
|
|
*/
|
|
void ARC_Text_Destroy(ARC_Text *text);
|
|
|
|
/**
|
|
* @brief
|
|
*/
|
|
void ARC_Text_SetString(ARC_Text *text, ARC_Renderer *renderer, ARC_String *string);
|
|
|
|
/**
|
|
* @brief
|
|
*/
|
|
void ARC_Text_Render(ARC_Text *text, ARC_Renderer *renderer);
|
|
|
|
/**
|
|
* @brief
|
|
*/
|
|
void ARC_Text_SetPos(ARC_Text *text, ARC_Point pos);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif //ARC_STD_STRING_H_
|