diff options
| author | Stacy Harper <contact@stacyharper.net> | 2021-08-24 18:52:05 +0200 |
|---|---|---|
| committer | John Sullivan <jsullivan@csumb.edu> | 2021-10-19 23:12:01 -0700 |
| commit | f559b3d999ea185b35a165eeef3e56004fbc5d78 (patch) | |
| tree | 0d4d9b76c593e906e5a4e9da2f579a518760280d /drw.h | |
| parent | 2d6610e3bfb8bbc9d1236eb49e0b1b399df0f24a (diff) | |
| download | suggpicker-f559b3d999ea185b35a165eeef3e56004fbc5d78.tar.gz | |
Drop wld and implement our own pangocairo renderer
Diffstat (limited to 'drw.h')
| -rw-r--r-- | drw.h | 45 |
1 files changed, 32 insertions, 13 deletions
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 <pango/pangocairo.h> +#include <stdbool.h> + 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 |
