suggestion picker: a persistent layer to complement virtual keyboards like wvkbd
Diffstat (limited to 'drw.h')
-rw-r--r--drw.h45
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