74 lines
1.8 KiB
C
74 lines
1.8 KiB
C
/**
|
|
* Copyright (c) 2025 Dominic Masters
|
|
*
|
|
* This software is released under the MIT License.
|
|
* https://opensource.org/licenses/MIT
|
|
*/
|
|
|
|
#pragma once
|
|
#include "dusksdl2.h"
|
|
#include "ui/font.h"
|
|
#include "display/texture/texture.h"
|
|
|
|
extern texture_t RENDER_TEXT_TEXTURE;
|
|
|
|
/**
|
|
* Initializes the text rendering system.
|
|
*/
|
|
void renderTextInit(void);
|
|
|
|
/**
|
|
* Draws a single character at the specified position.
|
|
*
|
|
* @param x The x-coordinate to draw the character at.
|
|
* @param y The y-coordinate to draw the character at.
|
|
* @param c The character to draw.
|
|
* @param r The red component of the color (0-255).
|
|
* @param g The green component of the color (0-255).
|
|
* @param b The blue component of the color (0-255).
|
|
*/
|
|
void renderTextDrawChar(
|
|
const float_t x,
|
|
const float_t y,
|
|
const char_t c,
|
|
const uint8_t r,
|
|
const uint8_t g,
|
|
const uint8_t b
|
|
);
|
|
|
|
/**
|
|
* Draws a string of text at the specified position.
|
|
*
|
|
* @param x The x-coordinate to draw the text at.
|
|
* @param y The y-coordinate to draw the text at.
|
|
* @param text The null-terminated string of text to draw.
|
|
* @param r The red component of the color (0-255).
|
|
* @param g The green component of the color (0-255).
|
|
* @param b The blue component of the color (0-255).
|
|
*/
|
|
void renderTextDraw(
|
|
const float_t x,
|
|
const float_t y,
|
|
const char_t *text,
|
|
const uint8_t r,
|
|
const uint8_t g,
|
|
const uint8_t b
|
|
);
|
|
|
|
/**
|
|
* Measures the width and height of the given text string when rendered.
|
|
*
|
|
* @param text The null-terminated string of text to measure.
|
|
* @param outWidth Pointer to store the measured width in pixels.
|
|
* @param outHeight Pointer to store the measured height in pixels.
|
|
*/
|
|
void renderTextMeasure(
|
|
const char_t *text,
|
|
int32_t *outWidth,
|
|
int32_t *outHeight
|
|
);
|
|
|
|
/**
|
|
* Disposes of the text rendering system, freeing any allocated resources.
|
|
*/
|
|
void renderTextDispose(void); |