53 lines
1.0 KiB
C
53 lines
1.0 KiB
C
/**
|
|
* Copyright (c) 2025 Dominic Masters
|
|
*
|
|
* This software is released under the MIT License.
|
|
* https://opensource.org/licenses/MIT
|
|
*/
|
|
|
|
#pragma once
|
|
#include "dusk.h"
|
|
#include "asset/asset.h"
|
|
#include "display/tileset/tileset.h"
|
|
#include "display/camera.h"
|
|
|
|
typedef struct {
|
|
camera_t camera;
|
|
|
|
ref_t fontRef;
|
|
asset_t *font;
|
|
const tileset_t *fontTileset;
|
|
} ui_t;
|
|
|
|
extern ui_t UI;
|
|
|
|
/**
|
|
* Initializes the UI system, loading necessary resources.
|
|
*
|
|
* @return An errorret_t indicating success or failure.
|
|
*/
|
|
errorret_t uiInit(void);
|
|
|
|
/**
|
|
* Updates the UI state, handling user interactions and animations.
|
|
*/
|
|
void uiUpdate(void);
|
|
|
|
/**
|
|
* Renders the UI elements to the screen.
|
|
*/
|
|
void uiRender(void);
|
|
|
|
/**
|
|
* Sets the font tileset for UI text rendering.
|
|
*
|
|
* @param fontTileset Pointer to the tileset to use for UI fonts.
|
|
*
|
|
* @return An errorret_t indicating success or failure.
|
|
*/
|
|
errorret_t uiSetFont(const tileset_t *fontTileset);
|
|
|
|
/**
|
|
* Cleans up and frees all UI resources.
|
|
*/
|
|
void uiDispose(void); |