Jo Engine
2026.11.1
Jo Sega Saturn Engine
Toggle main menu visibility
Loading...
Searching...
No Matches
jo_engine
jo
font.h
Go to the documentation of this file.
1
/*
2
** Jo Sega Saturn Engine
3
** Copyright (c) 2012-2026, Johannes Fetz (johannesfetz@gmail.com)
4
** All rights reserved.
5
**
6
** Redistribution and use in source and binary forms, with or without
7
** modification, are permitted provided that the following conditions are met:
8
** * Redistributions of source code must retain the above copyright
9
** notice, this list of conditions and the following disclaimer.
10
** * Redistributions in binary form must reproduce the above copyright
11
** notice, this list of conditions and the following disclaimer in the
12
** documentation and/or other materials provided with the distribution.
13
** * Neither the name of the Johannes Fetz nor the
14
** names of its contributors may be used to endorse or promote products
15
** derived from this software without specific prior written permission.
16
**
17
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18
** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19
** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20
** DISCLAIMED. IN NO EVENT SHALL Johannes Fetz BE LIABLE FOR ANY
21
** DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22
** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23
** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24
** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26
** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
*/
33
34
#ifndef __JO_FONT_H__
35
# define __JO_FONT_H__
36
37
typedef
struct
38
{
39
char
start_ascii
;
40
char
end_ascii
;
41
short
*
lookup_table
;
42
char
spacing
;
43
int
z_index
;
44
}
jo_font
;
45
52
# define jo_font_printf(F, X, Y, S, ...) do {jo_sprintf(__jo_sprintf_buf, __VA_ARGS__); jo_font_print((F), (X), (Y), (S), __jo_sprintf_buf);} while(0)
53
60
# define jo_font_printf_centered(F, X, Y, S, ...) do {jo_sprintf(__jo_sprintf_buf, __VA_ARGS__); jo_font_print_centered((F), (X), (Y), (S), __jo_sprintf_buf);} while(0)
61
62
#ifdef JO_COMPILE_WITH_FS_SUPPORT
63
74
jo_font
*
jo_font_load
(
const
char
*
const
sub_dir,
const
char
*
const
filename,
const
jo_color
transparent_color,
const
int
letter_width,
const
int
letter_height,
const
int
letter_spacing,
const
char
*
const
mapping);
75
76
#endif
77
85
void
jo_font_print
(
const
jo_font
*
const
font,
int
x,
int
y,
float
scale,
char
* str);
86
94
void
jo_font_print_centered
(
const
jo_font
*
const
font,
int
x,
int
y,
float
scale,
char
* str);
95
100
void
jo_font_free
(
jo_font
*
const
font);
101
102
#endif
/* !__JO_FONT_H__ */
103
104
/*
105
** END OF FILE
106
*/
jo_font::start_ascii
char start_ascii
Definition
font.h:39
jo_font_free
void jo_font_free(jo_font *const font)
Free a font loaded with jo_font_load().
jo_font::end_ascii
char end_ascii
Definition
font.h:40
jo_font::z_index
int z_index
Definition
font.h:43
jo_font::lookup_table
short * lookup_table
Definition
font.h:41
jo_font_print
void jo_font_print(const jo_font *const font, int x, int y, float scale, char *str)
Print a string using a specific font (using top-left screen coordinates).
jo_font_print_centered
void jo_font_print_centered(const jo_font *const font, int x, int y, float scale, char *str)
Print a string using a specific font (using screen center coordinates).
jo_font::spacing
char spacing
Definition
font.h:42
jo_font_load
jo_font * jo_font_load(const char *const sub_dir, const char *const filename, const jo_color transparent_color, const int letter_width, const int letter_height, const int letter_spacing, const char *const mapping)
Load a font.
jo_font
Definition
font.h:38
jo_color
unsigned short jo_color
15 bits color type
Definition
types.h:42
Generated by
1.18.0