/** * Copyright (c) 2021 Dominic Masters * * This software is released under the MIT License. * https://opensource.org/licenses/MIT */ #pragma once #include #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 );