xref: /plan9/sys/src/cmd/abaco/fns.h (revision 7ab27030036b6c877a6f81728daeda263d1ca3cf)
1*7ab27030SDavid du Colombier #define	runemalloc(a)		emalloc((a)*sizeof(Rune))
2*7ab27030SDavid du Colombier #define	runerealloc(a, b)	erealloc(a, (b)*sizeof(Rune))
3*7ab27030SDavid du Colombier #define	runemove(a, b, c)	memmove(a, b, (c)*sizeof(Rune))
4*7ab27030SDavid du Colombier 
5*7ab27030SDavid du Colombier #define	hasbrk(x)	((x)&IFbrk || (x)&IFbrksp)
6*7ab27030SDavid du Colombier #define	istrue(x)	((x) ? "true" : "false")
7*7ab27030SDavid du Colombier 
8*7ab27030SDavid du Colombier void plumblook(Plumbmsg*m);
9*7ab27030SDavid du Colombier int plumbrunestr(Runestr *, char *);
10*7ab27030SDavid du Colombier void putsnarf(Runestr *);
11*7ab27030SDavid du Colombier void getsnarf(Runestr *);
12*7ab27030SDavid du Colombier 
13*7ab27030SDavid du Colombier void tablesize(Table *, int);
14*7ab27030SDavid du Colombier void drawtable(Box *, Page *, Image *);
15*7ab27030SDavid du Colombier void laytable(Itable *, Rectangle);
16*7ab27030SDavid du Colombier void settables(Page *);
17*7ab27030SDavid du Colombier void laysnarf(Page *, Lay *, Runestr *);
18*7ab27030SDavid du Colombier Timer* timerstart(int);
19*7ab27030SDavid du Colombier void timerstop(Timer*);
20*7ab27030SDavid du Colombier void timercancel(Timer*);
21*7ab27030SDavid du Colombier void timerinit(void);
22*7ab27030SDavid du Colombier 
23*7ab27030SDavid du Colombier void cut(Text *, Text *, int, int, Rune *, int);
24*7ab27030SDavid du Colombier void get(Text *, Text *, int, int, Rune *, int);
25*7ab27030SDavid du Colombier void paste(Text *, Text *, int, int, Rune *, int);
26*7ab27030SDavid du Colombier void execute(Text *, uint, uint, Text *);
27*7ab27030SDavid du Colombier void look3(Text *, uint, uint);
28*7ab27030SDavid du Colombier int search(Text *, Rune *, uint);
29*7ab27030SDavid du Colombier 
30*7ab27030SDavid du Colombier void scrsleep(uint);
31*7ab27030SDavid du Colombier void scrlresize(void);
32*7ab27030SDavid du Colombier void tmpresize(void);
33*7ab27030SDavid du Colombier 
34*7ab27030SDavid du Colombier void	initfontpaths(void);
35*7ab27030SDavid du Colombier void cvttorunes(char*, int, Rune*, int*, int*, int*);
36*7ab27030SDavid du Colombier void error(char *);
37*7ab27030SDavid du Colombier void closerunestr(Runestr *);
38*7ab27030SDavid du Colombier void copyrunestr(Runestr *, Runestr *);
39*7ab27030SDavid du Colombier int runestreq(Runestr, Runestr);
40*7ab27030SDavid du Colombier int validurl(Rune *);
41*7ab27030SDavid du Colombier int runeeq(Rune *, uint, Rune *, uint);
42*7ab27030SDavid du Colombier int min(int, int);
43*7ab27030SDavid du Colombier int max(int, int);
44*7ab27030SDavid du Colombier int isalnum(Rune);
45*7ab27030SDavid du Colombier Rune* skipbl(Rune *, int, int *);
46*7ab27030SDavid du Colombier Rune* findbl(Rune *r, int, int *);
47*7ab27030SDavid du Colombier char* estrdup(char *);
48*7ab27030SDavid du Colombier Rune* erunestrdup(Rune *);
49*7ab27030SDavid du Colombier Rune* ucvt(Rune *s);
50*7ab27030SDavid du Colombier int dimwidth(Dimen , int);
51*7ab27030SDavid du Colombier void frdims(Dimen *, int, int, int **);
52*7ab27030SDavid du Colombier Image* getbg(Page *);
53*7ab27030SDavid du Colombier Rune* getbase(Page *);
54*7ab27030SDavid du Colombier Image* eallocimage(Display *, Rectangle, ulong, int, int);
55*7ab27030SDavid du Colombier Image* getcolor(int);
56*7ab27030SDavid du Colombier void freecolors(void);
57*7ab27030SDavid du Colombier Font* getfont(int);
58*7ab27030SDavid du Colombier void freefonts(void);
59*7ab27030SDavid du Colombier void colarray(Image **, Image *, Image *, Image *, int);
60*7ab27030SDavid du Colombier void rect3d(Image *, Rectangle, int, Image **, Point);
61*7ab27030SDavid du Colombier void ellipse3d(Image *, Point, int, int, Image **, Point);
62*7ab27030SDavid du Colombier void reverseimages(Iimage **);
63*7ab27030SDavid du Colombier void setstatus(Window *, char *, ...);
64*7ab27030SDavid du Colombier int istextfield(Item *);
65*7ab27030SDavid du Colombier int forceitem(Item *);
66*7ab27030SDavid du Colombier int xtofchar(Rune *, Font *, long);
67*7ab27030SDavid du Colombier int istextsel(Page *, Rectangle, int *, int *, Rune *, Font *);
68*7ab27030SDavid du Colombier char* convert(Runestr, char *, long *);
69*7ab27030SDavid du Colombier void execproc(void *);
70*7ab27030SDavid du Colombier void getimage(Cimage *, Rune *);
71*7ab27030SDavid du Colombier Point getpt(Page *p, Point);
72*7ab27030SDavid du Colombier Rune *urlcombine(Rune *, Rune *);
73*7ab27030SDavid du Colombier void fixtext(Page *);
74*7ab27030SDavid du Colombier void addrefresh(Page *, char *, ...);
75*7ab27030SDavid du Colombier void flushrefresh(void);
76*7ab27030SDavid du Colombier void savemouse(Window *);
77*7ab27030SDavid du Colombier void restoremouse(Window *);
78*7ab27030SDavid du Colombier void clearmouse(void);
79*7ab27030SDavid du Colombier void bytetorunestr(char *, Runestr *);
80*7ab27030SDavid du Colombier Window* makenewwindow(Page *);
81*7ab27030SDavid du Colombier 
82*7ab27030SDavid du Colombier Line* linewhich(Lay *, Point);
83*7ab27030SDavid du Colombier Box* pttobox(Line *, Point);
84*7ab27030SDavid du Colombier Box* boxwhich(Lay *, Point);
85*7ab27030SDavid du Colombier 
86