lite-xl/src/renderer.h

36 lines
1.3 KiB
C
Raw Normal View History

2019-12-28 12:16:32 +01:00
#ifndef RENDERER_H
#define RENDERER_H
2020-06-29 15:24:08 +02:00
#include <SDL.h>
2019-12-28 12:16:32 +01:00
#include <stdint.h>
2021-09-11 04:22:30 +02:00
#include <stdbool.h>
2021-10-13 05:24:52 +02:00
#define FONT_FALLBACK_MAX 4
2021-09-11 04:22:30 +02:00
typedef struct RenFont RenFont;
typedef enum { FONT_HINTING_NONE, FONT_HINTING_SLIGHT, FONT_HINTING_FULL } ERenFontHinting;
2021-09-17 01:00:56 +02:00
typedef enum { FONT_STYLE_BOLD = 1, FONT_STYLE_ITALIC = 2, FONT_STYLE_UNDERLINE = 4 } ERenFontStyle;
2019-12-28 12:16:32 +01:00
typedef struct { uint8_t b, g, r, a; } RenColor;
typedef struct { int x, y, width, height; } RenRect;
RenFont* ren_font_load(const char *filename, float size, bool subpixel, unsigned char hinting, unsigned char style);
2021-09-11 04:22:30 +02:00
RenFont* ren_font_copy(RenFont* font, float size);
void ren_font_free(RenFont *font);
2021-10-13 05:24:52 +02:00
int ren_font_group_get_tab_size(RenFont **font);
int ren_font_group_get_height(RenFont **font);
float ren_font_group_get_size(RenFont **font);
void ren_font_group_set_tab_size(RenFont **font, int n);
float ren_font_group_get_width(RenFont **font, const char *text);
float ren_draw_text(RenFont **font, const char *text, float x, int y, RenColor color);
2021-09-11 04:22:30 +02:00
void ren_draw_rect(RenRect rect, RenColor color);
2019-12-28 12:16:32 +01:00
void ren_init(SDL_Window *win);
2021-04-29 14:15:24 +02:00
void ren_resize_window();
2019-12-28 12:16:32 +01:00
void ren_update_rects(RenRect *rects, int count);
void ren_set_clip_rect(RenRect rect);
void ren_get_size(int *x, int *y); /* Reports the size in points. */
void ren_free_window_resources();
2019-12-28 12:16:32 +01:00
#endif