forsyth20121205-174063a80cc13 years agoHistory
82 lines · 1.1 KB · Brainfuck
RawDownload
implement Graph; include "common.m"; sys : Sys;drawm : Draw;dat : Dat;gui : Gui;utils : Utils; Image, Point, Rect, Font, Display : import drawm;black, white, display : import gui;error : import utils; refp : ref Point;pixarr : array of byte; init(mods : ref Dat->Mods){	sys = mods.sys;	drawm = mods.draw;	dat = mods.dat;	gui = mods.gui;	utils = mods.utils; 	refp = ref Point;	refp.x = refp.y = 0;} charwidth(f : ref Font, c : int) : int{	s : string = "z"; 	s[0] = c;	return f.width(s);} strwidth(f : ref Font, s : string) : int{	return f.width(s);} balloc(r : Rect, c : Draw->Chans, col : int) : ref Image{	im := display.newimage(r, c, 0, col);	if (im == nil)		error("failed to get new image");	return im;} draw(d : ref Image, r : Rect, s : ref Image, m : ref Image, p : Point){	d.draw(r, s, m, p);} stringx(d : ref Image, p : Point, f : ref Font, s : string, c : ref Image){	d.text(p, c, (0, 0), f, s);} cursorset(p : Point){	gui->cursorset(p);} cursorswitch(c : ref Dat->Cursor){	gui->cursorswitch(c);} binit(){} bflush(){} berror(s : string){	error(s);}