From 05861ed6737f6b7b139895c4eeb26791edc333b4 Mon Sep 17 00:00:00 2001 From: Phil Jones Date: Wed, 8 Jun 2022 23:14:38 +0100 Subject: Add Harfbuzz backend. Another source of slow startup is initialising Pango. If the user supplies a ttf file, we can skip any Pango stuff and use Harfbuzz directly with Cairo to do our font rendering, providing a large speedup. --- src/entry_backend/pango.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 src/entry_backend/pango.h (limited to 'src/entry_backend/pango.h') diff --git a/src/entry_backend/pango.h b/src/entry_backend/pango.h new file mode 100644 index 0000000..08572ae --- /dev/null +++ b/src/entry_backend/pango.h @@ -0,0 +1,19 @@ +#ifndef ENTRY_BACKEND_PANGO_H +#define ENTRY_BACKEND_PANGO_H + +#include + +struct entry; + +struct entry_backend { + PangoContext *context; + PangoLayout *prompt_layout; + PangoLayout *entry_layout; + PangoLayout *result_layouts[5]; +}; + +void entry_backend_init(struct entry *entry, uint32_t width, uint32_t height, uint32_t scale); +void entry_backend_destroy(struct entry *entry); +void entry_backend_update(struct entry *entry); + +#endif /* ENTRY_BACKEND_PANGO_H */ -- cgit v1.2.3