summaryrefslogtreecommitdiff
path: root/applications/hello/source/main.cpp
blob: 1f45407336f8f32d02f9d785bb3d43ffcfb0a0d1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <pake/widgets/fixed-text.hpp>
#include <daguerre/psf.hpp>
#include <pake/window.hpp>

daguerre::fixed_font<bool> *font;

int main(int, char **) {

  font = new daguerre::fixed_font<bool>(
    daguerre::try_load_psf("/assets/terminus-bold-18x10.psf").value());

  pake::widgets::fixed_text *text =
    new pake::widgets::fixed_text("Hello, world!", font,
      euler::syscall::encode_color(0xaa, 0xaa, 0xaa),
      euler::syscall::encode_color(0x00, 0x00, 0x00));

  pake::window w(300, 200, "Hello");
  w.set_root(std::unique_ptr<pake::widget>(text));
  w.render_and_send_to_compositor();
  w.show();

  //TODO: call event loop

  euler::syscall::stream_handle h1, h2;
  euler::syscall::create_private_socket(h1, h2);
  uint8_t byte;
  while (1)
    euler::syscall::read_from_stream(h1, 1, &byte);

}