#pragma once

#include <stdint.h>

namespace hilbert::kernel::framebuffer {

  extern uint64_t paddr;
  extern int width;
  extern int height;
  extern int dword_pitch;

  void init_framebuffer(
    uint64_t paddr, uint64_t vaddr, uint64_t width,
    uint64_t height, uint64_t pitch);

  typedef uint32_t color;
  color encode_color(uint8_t r, uint8_t g, uint8_t b);

  void set_pixel(int x, int y, color c);

  void fill_color(color c);

}
