summaryrefslogtreecommitdiff
path: root/src/font.h
blob: 90c62cef261269e4883de58129a09e07a43f63f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#ifndef FONT_H_
#define FONT_H_

#include <SDL3/SDL.h>
#define FONT_NAME_SIZE 40
#define PARSER_LINE_SIZE 4096

typedef struct {
  bool active;
  float x, y;
  float width, height;
  float x_offset, y_offset;
  float x_advance;
  unsigned char character;
} font_char;

typedef struct {
  char name[FONT_NAME_SIZE];
  SDL_Texture* spritesheet;
  char smallest_character, largest_character;
  font_char* characters;
} sprite_font;

bool load_sprite_font(SDL_Renderer* renderer, const char* filename, sprite_font* font);
void free_sprite_font(sprite_font* font);
void draw_text_with_spritefont_extended
(
 SDL_Renderer* renderer,
 sprite_font* font,
 const unsigned char* text,
 float x_position, float y_position,
 float scale
);
void draw_text_with_spritefont
(
 SDL_Renderer* renderer,
 sprite_font* font,
 const unsigned char* text,
 float x_position, float y_position
);

#endif // FONT_H_