47 lines
1.5 KiB
C
47 lines
1.5 KiB
C
/**
|
|
* Copyright (c) 2021 Dominic Masters
|
|
*
|
|
* This software is released under the MIT License.
|
|
* https://opensource.org/licenses/MIT
|
|
*/
|
|
|
|
#pragma once
|
|
#include <dawn/dawn.h>
|
|
#include "../spritebatch.h"
|
|
|
|
/**
|
|
* Get the division for a given character.
|
|
*
|
|
* @param tileset Tileset to get the division from.
|
|
* @param character Character to get the division for.
|
|
* @return The division from the tileset for the character.
|
|
*/
|
|
tilesetdiv_t * bitmapFontGetCharacterDivision(tileset_t *tileset, char character);
|
|
|
|
/**
|
|
* Measures a string's fully rendered size.
|
|
*
|
|
* @param string The string to measure
|
|
* @param charWidth The width of each character.
|
|
* @param charHeight The height of each character.
|
|
* @return The measured string.
|
|
*/
|
|
bitmapfontmeasure_t bitmapFontMeasure(char *string, float charWidth, float charHeight);
|
|
|
|
/**
|
|
* Renders a set of font characters to the sprite. Coordinates are anchored to
|
|
* the top left (0,0) origin.
|
|
*
|
|
* @param batch Sprite Batch to render to.
|
|
* @param tileset Tileset for the font.
|
|
* @param string String to render.
|
|
* @param x Position in X space.
|
|
* @param y Position in Y space.
|
|
* @param z Position in Z space.
|
|
* @param charWidth Width of each character. Set to -1 to use the height ratio.
|
|
* @param charHeight Height of each character. Set to -1 to be the width ratio.
|
|
* @returns The string measurement.
|
|
*/
|
|
bitmapfontmeasure_t bitmapFontSpriteBatchBuffer(spritebatch_t *batch, tileset_t *tileset,
|
|
char *string, float x, float y, float z, float charWidth, float charHeight
|
|
); |