From f559b3d999ea185b35a165eeef3e56004fbc5d78 Mon Sep 17 00:00:00 2001 From: Stacy Harper Date: Tue, 24 Aug 2021 18:52:05 +0200 Subject: Drop wld and implement our own pangocairo renderer --- drw.h | 45 ++++++++++++++++++++++++++++++++------------- 1 file changed, 32 insertions(+), 13 deletions(-) (limited to 'drw.h') diff --git a/drw.h b/drw.h index 15abbb7..d3d0e95 100644 --- a/drw.h +++ b/drw.h @@ -1,37 +1,56 @@ #ifndef __DRW_H #define __DRW_H +#include +#include + struct drw; struct drwsurf; +struct kbd; void drw_init(struct drw *d, const char *fc_pattern, struct wl_display *dpy, - void *iface); + void *iface); void drwsurf_init(struct drw *d, struct drwsurf *ds, struct wl_surface *surf); void drwsurf_resize(struct drwsurf *ds, uint32_t w, uint32_t h); void drwsurf_flip(struct drwsurf *ds); +typedef union { + uint8_t bgra[4]; + uint32_t color; +} Color; + +void +drw_fill_rectangle(struct drwsurf *d, Color color, uint32_t x, uint32_t y, + uint32_t w, uint32_t h); + +void +drw_draw_text(struct drwsurf *d, Color color, + uint32_t x, uint32_t y, + uint32_t w, uint32_t h, + const char *label); + +uint32_t +setup_buffer(struct drwsurf *drwsurf); + struct drw { - struct wld_context *wld; - struct wld_font_context *fctx; - struct wld_font *font; + struct wl_shm *shm; + PangoFontDescription *font_description; }; struct drwsurf { - uint32_t w, h; + uint32_t w, h, s; bool dirty; struct drw *ctx; struct wl_surface *surf; - struct wld_renderer *render; - struct wld_buffer *buf; - struct wl_buffer *ref; + struct wl_buffer *buf; + struct wl_shm *shm; + unsigned char *pool_data; + + cairo_t *cairo; + PangoLayout *layout; struct wl_callback *cb; }; -typedef union { - uint8_t bgra[4]; - uint32_t color; -} Color; - #endif -- cgit 1.4.1