KallistiOS git master
Independent SDK for the Sega Dreamcast
|
Methods for rendering formatted text/icons. More...
Functions | |
void | bfont_draw_str_ex (void *buffer, uint32_t width, uint32_t fg, uint32_t bg, uint8_t bpp, bool opaque, const char *str) |
Draw a full string of any sort to any sort of buffer. | |
void | bfont_draw_str_ex_fmt (void *buffer, uint32_t width, uint32_t fg, uint32_t bg, uint8_t bpp, bool opaque, const char *fmt,...) __printflike(7 |
Draw a full formatted string of any sort to any sort of buffer. | |
void void | bfont_draw_str_ex_vfmt (void *buffer, uint32_t width, uint32_t fg, uint32_t bg, uint8_t bpp, bool opaque, const char *fmt, va_list *var_args) |
Draw formatted string of any sort to buffer (with va_args). | |
void | bfont_draw_str (void *buffer, uint32_t width, bool opaque, const char *str) |
Draw a full string to a buffer. | |
void | bfont_draw_str_fmt (void *buffer, uint32_t width, bool opaque, const char *fmt,...) __printflike(4 |
Draw a full formatted string to a buffer. | |
void void | bfont_draw_str_vram_vfmt (uint32_t x, uint32_t y, uint32_t fg, uint32_t bg, bool opaque, const char *fmt, va_list *var_args) |
Draw a full formatted string to video ram (with va_args). | |
void | bfont_draw_str_vram_fmt (uint32_t x, uint32_t y, bool opaque, const char *fmt,...) __printflike(4 |
Draw a full string to video ram. | |
#define | DI_CIRCLECOPYRIGHT "\\di00" |
brief Macros for Builtin DC Icons | |
#define | DI_CIRCLER "\\di01" |
#define | DI_TRADEMARK "\\di02" |
#define | DI_UPARROW "\\di03" |
#define | DI_DOWNARROW "\\di04" |
#define | DI_LEFTARROW "\\di05" |
#define | DI_RIGHTARROW "\\di06" |
#define | DI_UPRIGHTARROW "\\di07" |
#define | DI_DOWNRIGHTARROW "\\di08" |
#define | DI_DOWNLEFTARROW "\\di09" |
#define | DI_UPLEFTARROW "\\di0A" |
#define | DI_ABUTTON "\\di0B" |
#define | DI_BBUTTON "\\di0C" |
#define | DI_CBUTTON "\\di0D" |
#define | DI_DBUTTON "\\di0E" |
#define | DI_XBUTTON "\\di0F" |
#define | DI_YBUTTON "\\di10" |
#define | DI_ZBUTTON "\\di11" |
#define | DI_LTRIGGER "\\di12" |
#define | DI_RTRIGGER "\\di13" |
#define | DI_STARTBUTTON "\\di14" |
#define | DI_VMU "\\di15" |
#define | VI_INVALID_VMU "\\vi00" |
brief Macros for Builtin VMU Icons | |
#define | VI_HOURGLASS_ONE "\\vi01" |
#define | VI_HOURGLASS_TWO "\\vi02" |
#define | VI_HOURGLASS_THREE "\\vi03" |
#define | VI_HOURGLASS_FOUR "\\vi04" |
#define | VI_VMUICON "\\vi05" |
#define | VI_EARTH "\\vi06" |
#define | VI_SATURN "\\vi07" |
#define | VI_QUARTER_MOON "\\vi08" |
#define | VI_LAUGHING_FACE "\\vi09" |
#define | VI_SMILING_FACE "\\vi0A" |
#define | VI_CASUAL_FACE "\\vi0B" |
#define | VI_ANGRY_FACE "\\vi0C" |
#define | VI_COW "\\vi0D" |
#define | VI_HORSE "\\vi0E" |
#define | VI_RABBIT "\\vi0F" |
#define | VI_CAT "\\vi10" |
#define | VI_CHICK "\\vi11" |
#define | VI_LION "\\vi12" |
#define | VI_MONKEY "\\vi13" |
#define | VI_PANDA "\\vi14" |
#define | VI_BEAR "\\vi15" |
#define | VI_PIG "\\vi16" |
#define | VI_DOG "\\vi17" |
#define | VI_FISH "\\vi18" |
#define | VI_OCTOPUS "\\vi19" |
#define | VI_SQUID "\\vi1A" |
#define | VI_WHALE "\\vi1B" |
#define | VI_CRAB "\\vi1C" |
#define | VI_BUTTERFLY "\\vi1D" |
#define | VI_LADYBUG "\\vi1E" |
#define | VI_ANGLER_FISH "\\vi1F" |
#define | VI_PENGUIN "\\vi20" |
#define | VI_CHERRIES "\\vi21" |
#define | VI_TULIP "\\vi22" |
#define | VI_LEAF "\\vi23" |
#define | VI_SAKURA "\\vi24" |
#define | VI_APPLE "\\vi25" |
#define | VI_ICECREAM "\\vi26" |
#define | VI_CACTUS "\\vi27" |
#define | VI_PIANO "\\vi28" |
#define | VI_GUITAR "\\vi29" |
#define | VI_EIGHTH_NOTE "\\vi2A" |
#define | VI_TREBLE_CLEF "\\vi2B" |
#define | VI_BOAT "\\vi2C" |
#define | VI_CAR "\\vi2D" |
#define | VI_HELMET "\\vi2E" |
#define | VI_MOTORCYCLE "\\vi2F" |
#define | VI_VAN "\\vi30" |
#define | VI_TRUCK "\\vi31" |
#define | VI_CLOCK "\\vi32" |
#define | VI_TELEPHONE "\\vi33" |
#define | VI_PENCIL "\\vi34" |
#define | VI_CUP "\\vi35" |
#define | VI_SILVERWARE "\\vi36" |
#define | VI_HOUSE "\\vi37" |
#define | VI_BELL "\\vi38" |
#define | VI_CROWN "\\vi39" |
#define | VI_SOCK "\\vi3A" |
#define | VI_CAKE "\\vi3B" |
#define | VI_KEY "\\vi3C" |
#define | VI_BOOK "\\vi3D" |
#define | VI_BASEBALL "\\vi3E" |
#define | VI_SOCCER "\\vi3F" |
#define | VI_BULB "\\vi40" |
#define | VI_TEDDY_BEAR "\\vi41" |
#define | VI_BOW_TIE "\\vi42" |
#define | VI_BOW_ARROW "\\vi43" |
#define | VI_SNOWMAN "\\vi44" |
#define | VI_LIGHTNING "\\vi45" |
#define | VI_SUN "\\vi46" |
#define | VI_CLOUD "\\vi47" |
#define | VI_UMBRELLA "\\vi48" |
#define | VI_ONE_STAR "\\vi49" |
#define | VI_TWO_STARS "\\vi4A" |
#define | VI_THREE_STARS "\\vi4B" |
#define | VI_FOUR_STARS "\\vi4C" |
#define | VI_HEART "\\vi4D" |
#define | VI_DIAMOND "\\vi4E" |
#define | VI_SPADE "\\vi4F" |
#define | VI_CLUB "\\vi50" |
#define | VI_JACK "\\vi51" |
#define | VI_QUEEN "\\vi52" |
#define | VI_KING "\\vi53" |
#define | VI_JOKER "\\vi54" |
#define | VI_ISLAND "\\vi55" |
#define | VI_0 "\\vi56" |
#define | VI_1 "\\vi57" |
#define | VI_2 "\\vi58" |
#define | VI_3 "\\vi59" |
#define | VI_4 "\\vi5A" |
#define | VI_5 "\\vi5B" |
#define | VI_6 "\\vi5C" |
#define | VI_7 "\\vi5D" |
#define | VI_8 "\\vi5E" |
#define | VI_9 "\\vi5F" |
#define | VI_A "\\vi60" |
#define | VI_B "\\vi61" |
#define | VI_C "\\vi62" |
#define | VI_D "\\vi63" |
#define | VI_E "\\vi64" |
#define | VI_F "\\vi65" |
#define | VI_G "\\vi66" |
#define | VI_H "\\vi67" |
#define | VI_I "\\vi68" |
#define | VI_J "\\vi69" |
#define | VI_K "\\vi6A" |
#define | VI_L "\\vi6B" |
#define | VI_M "\\vi6C" |
#define | VI_N "\\vi6D" |
#define | VI_O "\\vi6E" |
#define | VI_P "\\vi6F" |
#define | VI_Q "\\vi70" |
#define | VI_R "\\vi71" |
#define | VI_S "\\vi72" |
#define | VI_T "\\vi73" |
#define | VI_U "\\vi74" |
#define | VI_V "\\vi75" |
#define | VI_W "\\vi76" |
#define | VI_X "\\vi77" |
#define | VI_Y "\\vi78" |
#define | VI_Z "\\vi79" |
#define | VI_CHECKER_BOARD "\\vi7A" |
#define | VI_GRID "\\vi7B" |
#define | VI_LIGHT_GRAY "\\vi7C" |
#define | VI_DIAG_GRID "\\vi7D" |
#define | VI_PACMAN_GRID "\\vi7E" |
#define | VI_DARK_GRAY "\\vi7F" |
#define | VI_EMBROIDERY "\\vi80" |
Methods for rendering formatted text/icons.
#define DI_ABUTTON "\\di0B" |
#define DI_BBUTTON "\\di0C" |
#define DI_CBUTTON "\\di0D" |
#define DI_CIRCLECOPYRIGHT "\\di00" |
brief Macros for Builtin DC Icons
These macros are provided for use in string concatenation for printf and other functions requiring inline representation of DC icons.
#define DI_CIRCLER "\\di01" |
#define DI_DBUTTON "\\di0E" |
#define DI_DOWNARROW "\\di04" |
#define DI_DOWNLEFTARROW "\\di09" |
#define DI_DOWNRIGHTARROW "\\di08" |
#define DI_LEFTARROW "\\di05" |
#define DI_LTRIGGER "\\di12" |
#define DI_RIGHTARROW "\\di06" |
#define DI_RTRIGGER "\\di13" |
#define DI_STARTBUTTON "\\di14" |
#define DI_TRADEMARK "\\di02" |
#define DI_UPARROW "\\di03" |
#define DI_UPLEFTARROW "\\di0A" |
#define DI_UPRIGHTARROW "\\di07" |
#define DI_VMU "\\di15" |
#define DI_XBUTTON "\\di0F" |
#define DI_YBUTTON "\\di10" |
#define DI_ZBUTTON "\\di11" |
#define VI_0 "\\vi56" |
#define VI_1 "\\vi57" |
#define VI_2 "\\vi58" |
#define VI_3 "\\vi59" |
#define VI_4 "\\vi5A" |
#define VI_5 "\\vi5B" |
#define VI_6 "\\vi5C" |
#define VI_7 "\\vi5D" |
#define VI_8 "\\vi5E" |
#define VI_9 "\\vi5F" |
#define VI_A "\\vi60" |
#define VI_ANGLER_FISH "\\vi1F" |
#define VI_ANGRY_FACE "\\vi0C" |
#define VI_APPLE "\\vi25" |
#define VI_B "\\vi61" |
#define VI_BASEBALL "\\vi3E" |
#define VI_BEAR "\\vi15" |
#define VI_BELL "\\vi38" |
#define VI_BOAT "\\vi2C" |
#define VI_BOOK "\\vi3D" |
#define VI_BOW_ARROW "\\vi43" |
#define VI_BOW_TIE "\\vi42" |
#define VI_BULB "\\vi40" |
#define VI_BUTTERFLY "\\vi1D" |
#define VI_C "\\vi62" |
#define VI_CACTUS "\\vi27" |
#define VI_CAKE "\\vi3B" |
#define VI_CAR "\\vi2D" |
#define VI_CASUAL_FACE "\\vi0B" |
#define VI_CAT "\\vi10" |
#define VI_CHECKER_BOARD "\\vi7A" |
#define VI_CHERRIES "\\vi21" |
#define VI_CHICK "\\vi11" |
#define VI_CLOCK "\\vi32" |
#define VI_CLOUD "\\vi47" |
#define VI_CLUB "\\vi50" |
#define VI_COW "\\vi0D" |
#define VI_CRAB "\\vi1C" |
#define VI_CROWN "\\vi39" |
#define VI_CUP "\\vi35" |
#define VI_D "\\vi63" |
#define VI_DARK_GRAY "\\vi7F" |
#define VI_DIAG_GRID "\\vi7D" |
#define VI_DIAMOND "\\vi4E" |
#define VI_DOG "\\vi17" |
#define VI_E "\\vi64" |
#define VI_EARTH "\\vi06" |
#define VI_EIGHTH_NOTE "\\vi2A" |
#define VI_EMBROIDERY "\\vi80" |
#define VI_F "\\vi65" |
#define VI_FISH "\\vi18" |
#define VI_FOUR_STARS "\\vi4C" |
#define VI_G "\\vi66" |
#define VI_GRID "\\vi7B" |
#define VI_GUITAR "\\vi29" |
#define VI_H "\\vi67" |
#define VI_HEART "\\vi4D" |
#define VI_HELMET "\\vi2E" |
#define VI_HORSE "\\vi0E" |
#define VI_HOURGLASS_FOUR "\\vi04" |
#define VI_HOURGLASS_ONE "\\vi01" |
#define VI_HOURGLASS_THREE "\\vi03" |
#define VI_HOURGLASS_TWO "\\vi02" |
#define VI_HOUSE "\\vi37" |
#define VI_I "\\vi68" |
#define VI_ICECREAM "\\vi26" |
#define VI_INVALID_VMU "\\vi00" |
brief Macros for Builtin VMU Icons
These macros are provided for use in string concatenation for printf and other functions requiring inline representation of VMU icons.
#define VI_ISLAND "\\vi55" |
#define VI_J "\\vi69" |
#define VI_JACK "\\vi51" |
#define VI_JOKER "\\vi54" |
#define VI_K "\\vi6A" |
#define VI_KEY "\\vi3C" |
#define VI_KING "\\vi53" |
#define VI_L "\\vi6B" |
#define VI_LADYBUG "\\vi1E" |
#define VI_LAUGHING_FACE "\\vi09" |
#define VI_LEAF "\\vi23" |
#define VI_LIGHT_GRAY "\\vi7C" |
#define VI_LIGHTNING "\\vi45" |
#define VI_LION "\\vi12" |
#define VI_M "\\vi6C" |
#define VI_MONKEY "\\vi13" |
#define VI_MOTORCYCLE "\\vi2F" |
#define VI_N "\\vi6D" |
#define VI_O "\\vi6E" |
#define VI_OCTOPUS "\\vi19" |
#define VI_ONE_STAR "\\vi49" |
#define VI_P "\\vi6F" |
#define VI_PACMAN_GRID "\\vi7E" |
#define VI_PANDA "\\vi14" |
#define VI_PENCIL "\\vi34" |
#define VI_PENGUIN "\\vi20" |
#define VI_PIANO "\\vi28" |
#define VI_PIG "\\vi16" |
#define VI_Q "\\vi70" |
#define VI_QUARTER_MOON "\\vi08" |
#define VI_QUEEN "\\vi52" |
#define VI_R "\\vi71" |
#define VI_RABBIT "\\vi0F" |
#define VI_S "\\vi72" |
#define VI_SAKURA "\\vi24" |
#define VI_SATURN "\\vi07" |
#define VI_SILVERWARE "\\vi36" |
#define VI_SMILING_FACE "\\vi0A" |
#define VI_SNOWMAN "\\vi44" |
#define VI_SOCCER "\\vi3F" |
#define VI_SOCK "\\vi3A" |
#define VI_SPADE "\\vi4F" |
#define VI_SQUID "\\vi1A" |
#define VI_SUN "\\vi46" |
#define VI_T "\\vi73" |
#define VI_TEDDY_BEAR "\\vi41" |
#define VI_TELEPHONE "\\vi33" |
#define VI_THREE_STARS "\\vi4B" |
#define VI_TREBLE_CLEF "\\vi2B" |
#define VI_TRUCK "\\vi31" |
#define VI_TULIP "\\vi22" |
#define VI_TWO_STARS "\\vi4A" |
#define VI_U "\\vi74" |
#define VI_UMBRELLA "\\vi48" |
#define VI_V "\\vi75" |
#define VI_VAN "\\vi30" |
#define VI_VMUICON "\\vi05" |
#define VI_W "\\vi76" |
#define VI_WHALE "\\vi1B" |
#define VI_X "\\vi77" |
#define VI_Y "\\vi78" |
#define VI_Z "\\vi79" |
void bfont_draw_str | ( | void * | buffer, |
uint32_t | width, | ||
bool | opaque, | ||
const char * | str ) |
Draw a full string to a buffer.
This function draws a NUL-terminated string in the set encoding to the given buffer. This will automatically handle mixed half and full-width characters if the encoding is set to one of the Japanese encodings. Draws pre-set 16-bit colors.
buffer | The buffer to draw to. |
width | The width of the buffer in pixels. |
opaque | If true, overwrite blank areas with bfont_bgcolor, otherwise do not change them from what they are. |
str | The string to draw. |
void bfont_draw_str_ex | ( | void * | buffer, |
uint32_t | width, | ||
uint32_t | fg, | ||
uint32_t | bg, | ||
uint8_t | bpp, | ||
bool | opaque, | ||
const char * | str ) |
Draw a full string of any sort to any sort of buffer.
This function draws a NUL-terminated string in the set encoding to the given buffer. This will automatically handle mixed half and full-width characters if the encoding is set to one of the Japanese encodings. Colors and bitdepth can be set.
buffer | The buffer to draw to. |
width | The width of the buffer in pixels. |
fg | The foreground color to use. |
bg | The background color to use. |
bpp | The number of bits per pixel in the buffer. |
opaque | If true, overwrite background areas with black, otherwise do not change them from what they are. |
str | The string to draw. |
void bfont_draw_str_ex_fmt | ( | void * | buffer, |
uint32_t | width, | ||
uint32_t | fg, | ||
uint32_t | bg, | ||
uint8_t | bpp, | ||
bool | opaque, | ||
const char * | fmt, | ||
... ) |
Draw a full formatted string of any sort to any sort of buffer.
This function is equivalent to bfont_draw_str_ex(), except that the string is formatted as with the printf()
function.
buffer | The buffer to draw to. |
width | The width of the buffer in pixels. |
fg | The foreground color to use. |
bg | The background color to use. |
bpp | The number of bits per pixel in the buffer. |
opaque | If true, overwrite background areas with black, otherwise do not change them from what they are. |
fmt | The printf-style format string to draw. |
... | Additional printf-style variadic arguments |
void void bfont_draw_str_ex_vfmt | ( | void * | buffer, |
uint32_t | width, | ||
uint32_t | fg, | ||
uint32_t | bg, | ||
uint8_t | bpp, | ||
bool | opaque, | ||
const char * | fmt, | ||
va_list * | var_args ) |
Draw formatted string of any sort to buffer (with va_args).
This function is equivalent to bfont_draw_str_ex_fmt(), except that the variadic argument list is passed via a pointer to a va_list.
buffer | The buffer to draw to. |
width | The width of the buffer in pixels. |
fg | The foreground color to use. |
bg | The background color to use. |
bpp | The number of bits per pixel in the buffer. |
opaque | If true, overwrite background areas with black, otherwise do not change them from what they are. |
fmt | The printf-style format string to draw. |
var_args | Additional printf-style variadic arguments |
void bfont_draw_str_fmt | ( | void * | buffer, |
uint32_t | width, | ||
bool | opaque, | ||
const char * | fmt, | ||
... ) |
Draw a full formatted string to a buffer.
This function is equvalent to bfont_draw_str(), except that the string is formatted as with the printf()
function.
buffer | The buffer to draw to. |
width | The width of the buffer in pixels. |
opaque | If true, overwrite blank areas with bfont_bgcolor, otherwise do not change them from what they are. |
fmt | The printf-style format string to draw. |
... | Additional printf-style variadic arguments. |
void bfont_draw_str_vram_fmt | ( | uint32_t | x, |
uint32_t | y, | ||
bool | opaque, | ||
const char * | fmt, | ||
... ) |
Draw a full string to video ram.
This function draws a NUL-terminated string in the set encoding to video ram. This will automatically handle mixed half and full-width characters if the encoding is set to one of the Japanese encodings. Draws pre-set 16-bit colors.
x | The x position to start drawing at. |
y | The y position to start drawing at. |
opaque | If true, overwrite blank areas with bfont_bgcolor, otherwise do not change them from what they are. |
fmt | The printf-style format string to draw. |
... | Additional printf-style variadic arguments. |
void void bfont_draw_str_vram_vfmt | ( | uint32_t | x, |
uint32_t | y, | ||
uint32_t | fg, | ||
uint32_t | bg, | ||
bool | opaque, | ||
const char * | fmt, | ||
va_list * | var_args ) |
Draw a full formatted string to video ram (with va_args).
This function is equivalent to bfont_draw_str_ex_vfmt(), except that the variadic argument list is passed via a pointer to a va_list.
x | The x position to start drawing at. |
y | The y position to start drawing at. |
fg | The foreground color to use. |
bg | The background color to use. |
opaque | If true, overwrite background areas with black, otherwise do not change them from what they are. |
fmt | The printf-style format string to draw. |
var_args | Additional printf-style variadic arguments |