void randomSeed(unsigned int seed);
void randomizeByTime(void);
double randomInRange(double min, double max);

double radians(double deg);
void translate(double x, double y);
void rotate360(double deg);
void rotate(double theta);
void scale(double sx, double sy);

void pushMatrix(void);
void popMatrix(void);
void resetMatrix(void);

void strokeWeight(double w);
void stroke(unsigned int color);
void strokeOpacity(double opacity);
void noStroke(void);
void fill(unsigned int color);
void fillOpacity(double opacity);
void noFill(void);
void textFont(char* font, double size);

void setPageSize(double, double);
void a4Portrait(void); 
void a4Landscape(void);
double getWidth(void);
double getHeight(void);
void start(void);
void startEnc(char*);
void finish(void);

void image(char* url, double x, double y, double w, double h);
void use(char* url, double x, double y, double w, double h);

void upperBar(double);
void lowerBar(double);
void guideBars(double);
void rulers(void);
void trimMark(void);

void line(double x1, double y1, double x2, double y2);
void rect(double x, double y, double w, double h);
void ellipse(double x, double y, double w, double h);
void triangle(double x1, double y1, double x2, double y2, double x3, double y3);
void quad(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4);
void quadrilateral(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4);
void arc(double x, double y, double w, double h, double start, double stop);
void arc360(double x, double y, double w, double h, double start, double stop);
void bezier(double ax0, double ay0, double cx0, double cy0, double cx1, double cy1, double ax1, double ay1);
void text(char* str, double x, double y, ...);

void beginShape(void);
void vertex(double x, double y);
void bezierVertex(double cx0, double cy0, double cx1, double cy1, double x1, double y1);
void endShape(int close);

#define CLOSE 1
#define OPEN 0

int hsb1(double h, double s, double v);
int hsb100(double h, double s, double v);
int hsb360(double h, double s, double v);
int hsb255(double h, double s, double v);

int hsl1(double h, double s, double v);
int hsl100(double h, double s, double v);
int hsl360(double h, double s, double v);
int hsl255(double h, double s, double v);

int rgb1(double h, double s, double v);
int rgb100(double h, double s, double v);
int rgb255(double h, double s, double v);

int bw1(double v);
int bw100(double v);
int bw255(double v);

void smilieSymbol1(char* id);
void smilieSymbol2(char* id);
void smilieSymbol3(char* id);
void flowerSymbol(char* id);
void heartSymbol(char* id);

double cos360(double deg);
double sin360(double deg);

#define PI 3.14159265358979323846
#define WIDTH  297
#define HEIGHT 210

/* turtle graphics */
void penUp(void);
void penDown(void);
void forward(double len);
void backward(double len);
void turn(double angle);
void direction(double dir);
void go(double x, double y);
void center(void);
double getX(void);
double getY(void);
double getAngle(void);
