aboutsummaryrefslogtreecommitdiff
path: root/draw.c
diff options
context:
space:
mode:
authorFederico Angelilli <code@fedang.net>2023-11-02 19:57:11 +0100
committerFederico Angelilli <code@fedang.net>2023-11-02 19:57:11 +0100
commitc2ef5b291c1ef9120ac9d5c29b378317ab189212 (patch)
tree94df5b189fd1e6a01413271c458eeeda48108e09 /draw.c
parent6c7cdd7ccaea3873b84d5e2def15984bfeaf9da0 (diff)
Add basic x11 and drawing scaffolding
Diffstat (limited to 'draw.c')
-rw-r--r--draw.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/draw.c b/draw.c
new file mode 100644
index 0000000..248f59c
--- /dev/null
+++ b/draw.c
@@ -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