#define WIN_WIDTH  620
#define WIN_HEIGHT 620
#define HALF_WIN_WIDTH   (WIN_WIDTH / 2)  
#define HALF_WIN_HEIGHT  (WIN_HEIGHT / 2)

typedef struct {
  int coluns;
  int rows;
  int planes;
  char *title;
} ScreenSpecs;

int init_driver(ScreenSpecs *screen_specs);

void get_mouse(int *x, int *y, int *buttons);

int rgb_pixel(int R, int G, int B);

int refresh_screen();

int get_key(int *key, int *mods);

int draw_pixel(int x, int y, int pixel);

int draw_line(int x0, int y0, int x1, int y1);

int draw_point(int x0, int y0);
 
int draw_circle(int x0, int y0, int radius);

int draw_elipse(int x0, int y0, int radius1, int radius2);

