wvkbd/drw.h

57 lines
1.0 KiB
C
Raw Normal View History

2020-09-11 01:25:28 -07:00
#ifndef __DRW_H
#define __DRW_H
#include <pango/pangocairo.h>
#include <stdbool.h>
2020-09-11 01:25:28 -07:00
struct drw;
struct drwsurf;
struct kbd;
2020-09-11 01:25:28 -07:00
void drw_init(struct drw *d, const char *fc_pattern, struct wl_display *dpy,
void *iface);
2020-09-11 01:25:28 -07:00
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);
2020-09-11 01:25:28 -07:00
struct drw {
struct wl_shm *shm;
PangoFontDescription *font_description;
2020-09-11 01:25:28 -07:00
};
struct drwsurf {
uint32_t w, h, s;
2020-09-11 01:25:28 -07:00
bool dirty;
struct drw *ctx;
struct wl_surface *surf;
struct wl_buffer *buf;
struct wl_shm *shm;
unsigned char *pool_data;
cairo_t *cairo;
PangoLayout *layout;
2020-09-11 01:25:28 -07:00
struct wl_callback *cb;
};
#endif