shithub: pain

ref: 0cd1f6455c02fe0c2ade3e630debb315f054b253
dir: /dat.h/

View raw version
typedef struct Layer
{
 	Image * image;
 	struct Layer * prev, * next;
	int changed, id;
	Point offset;
} Layer;

enum
{
	BMouse,
	BKeyboard
};
enum
{
	BEleave,
	BEenter,
	BEin,
};

typedef struct Binding
{
	struct Binding * prev, * next;
	int code;
	int type;
	int state;
	int pressed, lastPressed;
	char * command;
	void (*func)(int);
} Binding;

typedef struct Task
{
	ulong start;
	void (*func)(void);
} Task;

extern Rectangle CanvasSize = {0};
extern Layer * LayerRoot;
extern Layer * CurrentLayer;
extern Binding * BindingRoot;
extern Image * ViewImage;
extern int RunLoop;
extern float ZoomSensitivity;
extern Point MousePosition;
extern Point PastMousePosition;
extern Point CanvasAt;
extern int CanvasMoved;
extern int DrawAllLayers;
extern ulong LastUpdate;
extern float TargetZoom;
extern Layer * CurrentLayer = nil;