From 10a48fdff83668229f18413c7b30827c2596108d Mon Sep 17 00:00:00 2001 From: xengineering Date: Tue, 3 Jan 2023 21:49:22 +0100 Subject: Add minimal cairo sample cairo [1] should be used to implement phonelock. This is just some example code to get started. [1]: https://www.cairographics.org/ --- Makefile | 2 +- main.c | 24 ++++++++++++++++++++++-- 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 #include -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; } -- cgit v1.2.3-70-g09d2