KallistiOS git master
Independent SDK for the Sega Dreamcast
|
BIOS font drawing functions. More...
#include <kos/cdefs.h>
#include <stdint.h>
#include <stdbool.h>
#include <stdarg.h>
#include <arch/types.h>
Go to the source code of this file.
Macros | |
#define | BFONT_THIN_WIDTH 12 |
Width of Thin Font (ISO8859_1, half-JP) | |
#define | BFONT_WIDE_WIDTH (BFONT_THIN_WIDTH * 2) |
Width of Wide Font (full-JP) | |
#define | BFONT_HEIGHT 24 |
Height of All Fonts. | |
#define | BFONT_ICON_DIMEN 32 |
Dimension of vmu icons. | |
#define | BFONT_BYTES_PER_CHAR (BFONT_THIN_WIDTH * BFONT_HEIGHT / 8) |
Number of bytes to represent a single thin character within the BIOS font. | |
#define | BFONT_BYTES_PER_WIDE_CHAR (BFONT_WIDE_WIDTH * BFONT_HEIGHT / 8) |
Number of bytes to represent a single wide character within the BIOS font. | |
#define | BFONT_BYTES_PER_VMU_ICON (BFONT_ICON_DIMEN * BFONT_ICON_DIMEN / 8) |
Number of bytes to represent a vmu icon within the BIOS font. | |
#define | BFONT_NARROW_START 0 |
Start of Narrow Characters in Font Block. | |
#define | BFONT_OVERBAR BFONT_NARROW_START |
#define | BFONT_ISO_8859_1_33_126 (BFONT_NARROW_START + ( 1 * BFONT_BYTES_PER_CHAR)) |
#define | BFONT_YEN (BFONT_NARROW_START + (95 * BFONT_BYTES_PER_CHAR)) |
#define | BFONT_ISO_8859_1_160_255 (BFONT_NARROW_START + (96 * BFONT_BYTES_PER_CHAR)) |
#define | JISX_0208_ROW_SIZE 94 |
Size of a row for JISX-0208 characters. | |
#define | BFONT_WIDE_START (288 * BFONT_BYTES_PER_CHAR) |
Start of Wide Characters in Font Block. | |
#define | BFONT_JISX_0208_ROW1 BFONT_WIDE_START |
Start of JISX-0208 Rows 1-7 in Font Block. | |
#define | BFONT_JISX_0208_ROW16 (BFONT_WIDE_START + (658 * BFONT_BYTES_PER_WIDE_CHAR)) |
Start of JISX-0208 Row 16-47 (Start of Level 1) in Font Block. | |
#define | BFONT_JISX_0208_ROW48 (BFONT_JISX_0208_ROW16 + ((32 * JISX_0208_ROW_SIZE) * BFONT_BYTES_PER_WIDE_CHAR)) |
JISX-0208 Row 48-84 (Start of Level 2) in Font Block. | |
#define | BFONT_DREAMCAST_SPECIFIC (BFONT_WIDE_START + (7056 * BFONT_BYTES_PER_WIDE_CHAR)) |
Start of DC Specific Icons in Font Block. | |
#define | BFONT_VMU_DREAMCAST_SPECIFIC (BFONT_DREAMCAST_SPECIFIC+(22 * BFONT_BYTES_PER_WIDE_CHAR)) |
Start of VMU Specific Icons in Font Block. | |
#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" |
Functions | |
void | bfont_set_encoding (bfont_code_t enc) |
Set the font encoding. | |
size_t | bfont_draw_ex (void *buffer, uint32_t bufwidth, uint32_t fg, uint32_t bg, uint8_t bpp, bool opaque, uint32_t c, bool wide, bool iskana) |
Draw a single character of any sort to a buffer. | |
size_t | bfont_draw (void *buffer, uint32_t bufwidth, bool opaque, uint32_t c) |
Draw a single character to a buffer. | |
size_t | bfont_draw_thin (void *buffer, uint32_t bufwidth, bool opaque, uint32_t c, bool iskana) |
Draw a single thin character to a buffer. | |
size_t | bfont_draw_wide (void *buffer, uint32_t bufwidth, bool opaque, uint32_t c) |
Draw a single wide character to a buffer. | |
size_t | bfont_draw_vmu_icon_ex (void *buffer, uint32_t bufwidth, uint32_t fg, uint32_t bg, uint8_t bpp, bool opaque, bfont_vmu_icon_t icon) |
Draw a VMU icon to the buffer. | |
size_t | bfont_draw_vmu_icon (void *buffer, uint32_t bufwidth, bool opaque, bfont_vmu_icon_t icon) |
Draw a VMU icon to a buffer. | |
size_t | bfont_draw_dc_icon_ex (void *buffer, uint32_t bufwidth, uint32_t fg, uint32_t bg, uint8_t bpp, bool opaque, bfont_dc_icon_t icon) |
Draw a DC icon to the buffer. | |
size_t | bfont_draw_dc_icon (void *buffer, uint32_t bufwidth, bool opaque, bfont_dc_icon_t icon) |
Draw a DC icon to a buffer. | |
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. | |
Coloring | |
Methods for modifying the text color. | |
uint32_t | bfont_set_foreground_color (uint32_t c) |
Set the font foreground color. | |
uint32_t | bfont_set_background_color (uint32_t c) |
Set the font background color. | |
Character Lookups | |
Methods for finding various font characters and icons. | |
const uint8_t * | bfont_find_char (uint32_t ch) |
Find an ISO-8859-1 character in the font. | |
uint8_t * | bfont_find_char_jp (uint32_t ch) |
Find an full-width Japanese character in the font. | |
uint8_t * | bfont_find_char_jp_half (uint32_t ch) |
Find an half-width Japanese character in the font. | |
uint8_t * | bfont_find_icon (bfont_vmu_icon_t icon) |
Find a VMU icon. | |
uint8_t * | bfont_find_dc_icon (bfont_dc_icon_t icon) |
Find a DC icon. | |
BIOS font drawing functions.
This file provides support for utilizing the font built into the Dreamcast's BIOS. These functions allow access to both the western character set and Japanese characters.