diff options
| author | Federico Angelilli <code@fedang.net> | 2023-11-02 19:57:11 +0100 |
|---|---|---|
| committer | Federico Angelilli <code@fedang.net> | 2023-11-02 19:57:11 +0100 |
| commit | c2ef5b291c1ef9120ac9d5c29b378317ab189212 (patch) | |
| tree | 94df5b189fd1e6a01413271c458eeeda48108e09 /draw.c | |
| parent | 6c7cdd7ccaea3873b84d5e2def15984bfeaf9da0 (diff) | |
Add basic x11 and drawing scaffolding
Diffstat (limited to 'draw.c')
| -rw-r--r-- | draw.c | 34 |
1 files changed, 34 insertions, 0 deletions
@@ -0,0 +1,34 @@ +#include <stdbool.h> +#include <math.h> +#include <cairo.h> + +#include "x11.h" + +void draw(Window *win) +{ + double scale = window_get_scale(win); + + int w = 1000, h = 1000; + cairo_surface_t *surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, + round(w * scale), + round(h * scale)); + + cairo_t *cr = cairo_create(surface); + + + cairo_set_source_rgb(cr, 0.0, 1.0, 0.0); + cairo_rectangle(cr, 0, 0, 10000, 10000); + cairo_fill(cr); + + cairo_select_font_face(cr, "serif", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD); + cairo_set_font_size(cr, 50.0); + cairo_set_source_rgb(cr, 0, 0, 0); + cairo_move_to(cr, 50, 50); + cairo_show_text(cr, "Hello, world"); + + cairo_destroy(cr); + window_paint_surface(win, surface, w, h); + cairo_surface_destroy(surface); +} + +// vim: set ts=4 sw=4 et |
