Blame demo/src/drawing.c

Ivan Mahonin ba9f06
Ivan Mahonin ba9f06
#include <math.h>
Ivan Mahonin ba9f06
Ivan Mahonin ba9f06
#include <helianthus.h>
Ivan Mahonin ba9f06
Ivan Mahonin ba9f06
#include "drawing.h"
Ivan Mahonin ba9f06
Ivan Mahonin ba9f06
Ivan Mahonin deef1d
static Animation texture;
Ivan Mahonin deef1d
Ivan Mahonin ba9f06
Ivan Mahonin ba9f06
void drawingInit() {
Ivan Mahonin d4e89f
	background(colorByName("yellow"));
Ivan Mahonin f8dca4
	texture = createAnimationEx("data/sprite/bricks-tile.png", TRUE, TRUE, TRUE);
Ivan Mahonin ba9f06
}
Ivan Mahonin ba9f06
Ivan Mahonin ba9f06
Ivan Mahonin ba9f06
void drawingDraw() {
Ivan Mahonin deef1d
	saveState();
Ivan Mahonin 3954ba
Ivan Mahonin ba9f06
	double x = 512;
Ivan Mahonin ba9f06
	double y = 512 - 64;
Ivan Mahonin ba9f06
	
Ivan Mahonin deef1d
	strokeWidth(20);
Ivan Mahonin ba9f06
	
Ivan Mahonin d4e89f
	fill(colorByName("red"));
Ivan Mahonin d4e89f
	stroke(colorByName("blue"));
Ivan Mahonin ba9f06
	rect(x, y, 48*2, 48);
Ivan Mahonin ba9f06
	x += 48*2 + 16;
Ivan Mahonin ba9f06
	
Ivan Mahonin d4e89f
	fill(colorByName("#C71585AA"));
Ivan Mahonin d4e89f
	stroke(colorByName("0 0 1 0.5"));
Ivan Mahonin ba9f06
	ellipse(x, y, 48*2, 48);
Ivan Mahonin ba9f06
	x += 48*2 + 16;
Ivan Mahonin ba9f06
	
Ivan Mahonin d4e89f
	fill(colorByName("green"));
Ivan Mahonin d4e89f
	stroke(colorByName("magenta"));
Ivan Mahonin ba9f06
	regularPolygon(x + 24, y + 24, 6, 48);
Ivan Mahonin ba9f06
	x += 64;
Ivan Mahonin ba9f06
	
Ivan Mahonin d4e89f
	stroke(colorByName("brown"));
Ivan Mahonin ba9f06
	point(x, y);
Ivan Mahonin d4e89f
	stroke(colorByName("cyan"));
Ivan Mahonin ba9f06
	line(x, y + 48, x + 48, y);
Ivan Mahonin d4e89f
	stroke(colorByName("brown"));
Ivan Mahonin ba9f06
	arc(x, y, 48, 48, 0, 90);
Ivan Mahonin ba9f06
	x += 64;
Ivan Mahonin ba9f06
	
Ivan Mahonin d4e89f
	stroke(colorByName("gray"));
Ivan Mahonin ba9f06
	moveTo(x, y + 24);
Ivan Mahonin ba9f06
	arcPath(x, y, 48, 48, 180, 360);
Ivan Mahonin ba9f06
	lineTo(x + 48, y + 48);
Ivan Mahonin ba9f06
	lineTo(x, y + 48);
Ivan Mahonin ba9f06
	strokePath();
Ivan Mahonin ba9f06
	x += 64;
Ivan Mahonin ba9f06
	
Ivan Mahonin d4e89f
	fill(colorByName("red"));
Ivan Mahonin deef1d
	fillTexture(texture, 0, 0, 32, 32, FALSE);
Ivan Mahonin d4e89f
	stroke(colorByName("transparent"));
Ivan Mahonin ba9f06
	moveTo(x, y + 24);
Ivan Mahonin ba9f06
	arcPath(x, y, 48, 48, 180, 360);
Ivan Mahonin ba9f06
	lineTo(x + 48, y + 48);
Ivan Mahonin ba9f06
	lineTo(x, y + 48);
Ivan Mahonin ba9f06
	lineTo(x + 24, y + 24);
Ivan Mahonin ba9f06
	closePath();
Ivan Mahonin ba9f06
Ivan Mahonin deef1d
	restoreState();
Ivan Mahonin 3954ba
}