summaryrefslogtreecommitdiff
path: root/sys/include/scribble.h
blob: c09e1d7a5cadcf96bfadbafba94caf4395a074c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#pragma src "/sys/src/libscribble"
#pragma lib "libscribble.a"

#pragma incomplete struct graffiti

typedef struct Scribble Scribble;
typedef struct graffiti Graffiti;

typedef struct pen_point {
	Point;
	long	chaincode;
} pen_point;

typedef struct Stroke {
	uint			npts;	/*Number of pen_point in array.*/
	pen_point*	pts;	/*Array of points.*/
} Stroke;

#define CS_LETTERS     0
#define CS_DIGITS      1
#define CS_PUNCTUATION 2

struct Scribble {
	/* private state */
	Point		*pt;
	int			ppasize;
	Stroke	    	ps;
	Graffiti	*graf;
	int			capsLock;
	int			puncShift;
	int			tmpShift;
	int			ctrlShift;
	int			curCharSet;
};

Rune		recognize(Scribble *);
Scribble *	scribblealloc(void);

extern int ScribbleDebug;