Blob Blame Raw
#ifndef HELI_DRAWING_H
#define HELI_DRAWING_H


#include "common.h"


typedef struct _Font *Font;


typedef enum _HAlign {
	HALIGN_LEFT,
	HALIGN_CENTER,
	HALIGN_RIGHT
} HAlign;

typedef enum _VAlign {
	VALIGN_TOP,
	VALIGN_CENTER,
	VALIGN_BOTTOM
} VAlign;


void background(const char *color);
void fill(const char *color);
void noFill();
void stroke(const char *color);
void noStroke();
void strokeWeight(double weight);
const char* rgb(double r, double g, double b);
const char* rgba(double r, double g, double b, double a);
void rect(double x, double y, double width, double height);
void ellipse(double x, double y, double width, double height);
void arc(double x, double y, double w, double h, double start, double stop);
void arcPath(double x, double y, double w, double h, double start, double stop);
void line(double x1, double y1, double x2, double y2);
void point(double x, double y);
void regularPolygon(double x, double y, int sides, double size);

void moveTo(double x, double y);
void lineTo(double x, double y);
void resetPath();
void closePath();
void strokePath();

void text(const char *text, double x, double y);
void textAlign(HAlign hor, VAlign vert);
void textFontFamily(const char *family);
void textFontDefault();
void textSize(double size);

Font createFont(const char *path);
void fontDestroy(Font font);
void textFont(Font font);


#endif