#include #include template void overlay(color_t &to, const bool &from, const color_t ¶m) { if (from) to = param; } int main(int, char **) { auto bg = euler::syscall::encode_color(0xaa, 0xaa, 0xaa); auto fg = euler::syscall::encode_color(0x00, 0x00, 0x00); daguerre::image image(300, 200); image.fill(bg); auto font = daguerre::try_load_psf("/assets/terminus-bold-18x10.psf"); image.render_text(*font, fg, 10, 10, "Hello, world!", &overlay); euler::syscall::stream_handle s; euler::syscall::connect_to_socket("hilbert.compositor", s); goldman::protocol::send_open_window(s, 300, 200); uint8_t byte; euler::syscall::read_from_stream(s, 1, &byte); auto w = goldman::protocol::get_window_opened_body(s); goldman::protocol::send_update_window_region( s, w, 0, 0, 300, 200, image.buffer, image.buffer_pitch); euler::syscall::read_from_stream(s, 1, &byte); __builtin_unreachable(); }