FreeRTOS Tetris
|
A simple interface to manage the active font used by TUM Draw. More...
Macros | |
#define | DEFAULT_FONT_SIZE 15 |
#define | DEFAULT_FONT "IBMPlexSans-Medium.ttf" |
#define | FONTS_DIRECTORY "/../resources/fonts/" |
#define | FONTS_DIR "/" FONTS_DIRECTORY "/" |
#define | MAX_FONT_NAME_LENGTH 256 |
Typedefs | |
typedef void * | font_handle_t |
Handle used to reference a specific font/size configuration when restoring a font using tumFontSelectFontFromHandle(), current font can be retrieved using tumFontGetCurFontHandle(). | |
Functions | |
int | tumFontLoadFont (char *font_name, ssize_t size) |
Loads a font with the given font name from the FONTS_DIRECTORY directory, by default this is in resources/fonts More... | |
int | tumFontInit (char *path) |
Initializes the font backend, the executing binary path is required, this is usually already passed to TUM_Draw init and subsequently to tumFontInit. More... | |
void | tumFontExit (void) |
Exits the font backend. More... | |
TTF_Font * | tumFontGetCurFont (void) |
Retrieved a reference to the current SDL2 TTF font, increasing the reference count of the respective tum_font object. Objects can not be free'd until all references have been put, this for each call to tumFontGetCurFont() a call to tumFontPutFont() must be made, passing in the SDL2 TTF font reference returned from this function. More... | |
void | tumFontPutFont (TTF_Font *font) |
Finds the tum_font object associated with the loaded SDL2 TFF font, decreasing the reference count to the object with each call, once an object's reference count has reached zero and the font backed has flagged the tum_font object as no longer being needed it is then free'd. More... | |
void | tumFontPutFontHandle (font_handle_t font) |
Finds the tum_font object associated with the loaded SDL2 TFF font, decreasing the reference count to the object with each call, once an object's reference count has reached zero and the font backed has flagged the tum_font object as no longer being needed it is then free'd. More... | |
font_handle_t | tumFontGetCurFontHandle (void) |
Retrieved a handle to the current font, unlike tumFontGetCurFont() the handle contains the TUM_Font's metadata structure for the font instance where as tumFontGetCurFont() returns a SDL2 TTF Font reference. More... | |
ssize_t | tumFontGetCurFontSize (void) |
Returns the size of the currently active font. More... | |
char * | tumFontGetCurFontName (void) |
Retrieved the string name of the currently active font. More... | |
int | tumFontSelectFontFromName (char *font_name) |
Sets the active font from a string of the font's filename. The filename is not the absolute file but the font's name within the FONT_DIRECTORY directory. The font is only able to be made active if it was firstly loaded using tumFontLoadFont(). More... | |
int | tumFontSelectFontFromHandle (font_handle_t font_handle) |
Sets the active font based off of a font handle. More... | |
int | tumFontSetSize (ssize_t font_size) |
Sets the size of the current font to be used. The font is set by making a copy of the current font if the current font's configuration (font + size) is being referenced by pending draw jobs. All subsequent text draw jobs will use the currently active font and the specified size until the size and/or font are changed again. More... | |
A simple interface to manage the active font used by TUM Draw.
The TUM Draw API functions on the premise that that is always only a single font active as the "active font" when using the drawing API. String draw calls draw strings using the active font and this API allows for the changing, saving, restoring and scaling of the currently active font.
#define DEFAULT_FONT "IBMPlexSans-Medium.ttf" |
#include <TUM_Font.h>
Default font to be used by the SDL TTF library
#define DEFAULT_FONT_SIZE 15 |
#include <TUM_Font.h>
Defines the default font size used by the SDL TTF library
#define FONTS_DIRECTORY "/../resources/fonts/" |
#include <TUM_Font.h>
Location of font TTF files
#define MAX_FONT_NAME_LENGTH 256 |
#include <TUM_Font.h>
Maximum length of allowed font file names, helps to prevent memory overflows
void tumFontExit | ( | void | ) |
#include <TUM_Font.h>
Exits the font backend.
TTF_Font* tumFontGetCurFont | ( | void | ) |
#include <TUM_Font.h>
Retrieved a reference to the current SDL2 TTF font, increasing the reference count of the respective tum_font object. Objects can not be free'd until all references have been put, this for each call to tumFontGetCurFont() a call to tumFontPutFont() must be made, passing in the SDL2 TTF font reference returned from this function.
font_handle_t tumFontGetCurFontHandle | ( | void | ) |
#include <TUM_Font.h>
Retrieved a handle to the current font, unlike tumFontGetCurFont() the handle contains the TUM_Font's metadata structure for the font instance where as tumFontGetCurFont() returns a SDL2 TTF Font reference.
char* tumFontGetCurFontName | ( | void | ) |
#include <TUM_Font.h>
Retrieved the string name of the currently active font.
ssize_t tumFontGetCurFontSize | ( | void | ) |
#include <TUM_Font.h>
Returns the size of the currently active font.
int tumFontInit | ( | char * | path | ) |
#include <TUM_Font.h>
Initializes the font backend, the executing binary path is required, this is usually already passed to TUM_Draw init and subsequently to tumFontInit.
path | Executing binary's directory path |
int tumFontLoadFont | ( | char * | font_name, |
ssize_t | size | ||
) |
#include <TUM_Font.h>
Loads a font with the given font name from the FONTS_DIRECTORY directory, by default this is in resources/fonts
font_name | A string representation of the fonts filename, including suffix (.ttf) |
size | The size that the font should have, if 0 is passed then the default font size will be used, defined by DEFAULT_FONT_SIZE |
void tumFontPutFont | ( | TTF_Font * | font | ) |
#include <TUM_Font.h>
Finds the tum_font object associated with the loaded SDL2 TFF font, decreasing the reference count to the object with each call, once an object's reference count has reached zero and the font backed has flagged the tum_font object as no longer being needed it is then free'd.
font | SDL2 TTF font reference, retrieved originally via tumFontGetCurFont() |
void tumFontPutFontHandle | ( | font_handle_t | font | ) |
#include <TUM_Font.h>
Finds the tum_font object associated with the loaded SDL2 TFF font, decreasing the reference count to the object with each call, once an object's reference count has reached zero and the font backed has flagged the tum_font object as no longer being needed it is then free'd.
font | Font handle, retrieved originally via tumFontGetCurFontHandle() |
int tumFontSelectFontFromHandle | ( | font_handle_t | font_handle | ) |
#include <TUM_Font.h>
Sets the active font based off of a font handle.
font_handle | A handle retrieved originally using tumFontGetCurFontHandle() |
int tumFontSelectFontFromName | ( | char * | font_name | ) |
#include <TUM_Font.h>
Sets the active font from a string of the font's filename. The filename is not the absolute file but the font's name within the FONT_DIRECTORY directory. The font is only able to be made active if it was firstly loaded using tumFontLoadFont().
font_name | A string of the .ttf file to be loaded, including suffix |
int tumFontSetSize | ( | ssize_t | font_size | ) |
#include <TUM_Font.h>
Sets the size of the current font to be used. The font is set by making a copy of the current font if the current font's configuration (font + size) is being referenced by pending draw jobs. All subsequent text draw jobs will use the currently active font and the specified size until the size and/or font are changed again.
font_size | New size that the currently active font should take |