The API
The API of csketch is very simple. It has the following functions.
Drawing fuctions:
Style functions:
File functions:
Sketch Size:
draw_line
void draw_line(float x1, float y1, float x2, float y2);
The draw_line
function draws a line. It takes x1
, y1
, x2
, y2
- the coordinates of the end points of the line.
draw_line(-200, 0, 200, 0);
draw_line(0, -100, 0, 100);
draw_circle
void draw_circle(float x, float y, float r);
The draw_circle
function draws a circle with radius r
and center at point (x, y)
.
draw_circle(0, 0, 200);
set_fill
void set_fill(chat *color);
Sets the fill color. All the shapes that are drawn after calling this function will use the new fill color.
set_fill("red");
draw_circle(0, 0, 150);
set_fill("green");
draw_circle(0, 0, 200);
set_fill("blue");
draw_circle(0, 0, 250);
set_stroke
void set_stroke(chat *color);
Sets the stroke color. All the shapes that are drawn after calling this function will use the new stroke color.
set_stroke("red");
draw_circle(0, 0, 250);
set_stroke("green");
draw_circle(0, 0, 200);
set_stroke("blue");
draw_circle(0, 0, 150);
set_stroke_width
void set_stroke_width(float width);
Sets the stroke width. All the shapes that are drawn after calling this function will use the new storoke width.
set_stroke_width(0.5);
draw_line(-200, 100, 200, 100);
set_stroke_width(1);
draw_line(-200, 0, 200, 0);
set_stroke_width(5);
draw_line(-200, -100, 200, -100);
save_sketch
void save_sketch(char *filename);
Saves all the shapes drawn so far to an svg file.
draw_circle(0, 0, 200);
save_sketch("circle.svg");
Sketch Size
By default the size of the sketch is set to 600x600
. You can change that by calling the set_sketch_size
function. The current sketch size can be found by calling get_sketch_width
and get_sketch_height
functions.
set_sketch_size
void set_sketch_size(int width, int height);
Sets the size of the sketch.
// set the sketch width to 600 and height to 200.
set_sketch_size(600, 200);
draw_circle(-200, 0, 100);
draw_circle(0, 0, 100);
draw_circle(200, 0, 100);
save_sketch("three-circle.svg");
get_sketch_width
int get_sketch_width();
Returns the curent sketch width.
int w;
set_sketch_size(600, 200);
// draw a horizontal line
w = get_sketch_width();
draw_line(-w/2, 0, w/2, 0);
get_sketch_height
int get_sketch_height();
Returns the curent sketch height.
int h;
set_sketch_size(600, 200);
// draw a vertical line
h = get_sketch_height();
draw_line(0, -h/2, 0, h/2);
Colors
The set_fill
and set_stroke
function takes a color as an argument.
Color could be specified as a name or a hexadecimal color code.
red
, blue
, midnightblue
, etc. are some examples are color names.
The special color name none
can be used to disable stroke or fill.
Hexadecimal color codes can be specifed as short form like #fff
with one hex digit for each of R, G and B compoments of the color or like #4B0082
with two hex digits for each component.
It is also possible to include transparency by adding two additional hex digits. For example #4B008280
is color Indigo with 50%
transparency.
Refer to web colors for the list of valid color names and how to specify color in hexadecimal form.