summaryrefslogtreecommitdiff
path: root/src/entry_backend/harfbuzz.h
blob: 8404032407c074f90e9304bfcc7b2f4c0cfcd462 (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
#ifndef ENTRY_BACKEND_HARFBUZZ_H
#define ENTRY_BACKEND_HARFBUZZ_H

#include <cairo/cairo-ft.h>
#include <ft2build.h>
#include FT_FREETYPE_H
#include <harfbuzz/hb.h>

struct entry;

struct entry_backend_harfbuzz {
	FT_Library ft_library;
	FT_Face ft_face;

	cairo_font_face_t *cairo_face;

	hb_font_t *hb_font;
	hb_buffer_t *hb_buffer;
};

void entry_backend_harfbuzz_init(struct entry *entry, uint32_t *width, uint32_t *height);
void entry_backend_harfbuzz_destroy(struct entry *entry);
void entry_backend_harfbuzz_update(struct entry *entry);

#endif /* ENTRY_BACKEND_HARFBUZZ_H */