summary refs log tree commit diff
path: root/drw.h
diff options
context:
space:
mode:
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