summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxengineering <me@xengineering.eu>2023-01-03 21:49:22 +0100
committerxengineering <me@xengineering.eu>2023-01-06 14:23:55 +0100
commit10a48fdff83668229f18413c7b30827c2596108d (patch)
tree2ed4d594a6ec658e4ad909e4d3472895c4224f32
parentc1ab3b92c596694b760ca6d9a86ef6b50e5564e3 (diff)
downloadphonelock-cairo.tar
phonelock-cairo.tar.zst
phonelock-cairo.zip
Add minimal cairo samplecairo
cairo [1] should be used to implement phonelock. This is just some example code to get started. [1]: https://www.cairographics.org/
-rw-r--r--Makefile2
-rw-r--r--main.c24
2 files changed, 23 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index f855e96..e9a7956 100644
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,7 @@ all: build/phonelock
build/phonelock: main.c
mkdir -p build
- gcc -Wall -o build/phonelock main.c
+ gcc -o build/phonelock -Wall `pkg-config --cflags --libs cairo` main.c
clean:
rm -rf build
diff --git a/main.c b/main.c
index 5663924..9a645b5 100644
--- a/main.c
+++ b/main.c
@@ -1,9 +1,29 @@
+#include <cairo.h>
#include <stdio.h>
-int main(void) {
- printf("Hello world!\n");
+int main(void)
+{
+ printf("Starting phonelock ...");
+
+ cairo_surface_t *surface =
+ cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 240, 80);
+ cairo_t *cr = cairo_create (surface);
+
+ cairo_select_font_face(cr, "serif", CAIRO_FONT_SLANT_NORMAL,
+ CAIRO_FONT_WEIGHT_BOLD);
+ cairo_set_font_size(cr, 32.0);
+ cairo_set_source_rgb(cr, 0.0, 0.0, 1.0);
+ cairo_move_to(cr, 10.0, 50.0);
+ cairo_show_text(cr, "Hello, world");
+
+ cairo_destroy(cr);
+ cairo_surface_write_to_png(surface, "hello.png");
+ cairo_surface_destroy(surface);
+
+ printf(" done!\n");
+
return 0;
}