4390
|
1 /* This file is to be used internally by the libgstroke implementation.
|
|
2 It should not be installed or used elsewhere.
|
|
3
|
|
4 See the file COPYING for distribution information.
|
|
5 */
|
|
6
|
|
7 #ifndef _GSTROKE_INTERNAL_H_
|
|
8 #define _GSTROKE_INTERNAL_H_
|
|
9
|
|
10 /* metrics for stroke, they are used while processing a stroke, this
|
|
11 structure should be stored in local widget storage */
|
|
12 struct gstroke_metrics {
|
|
13 GSList *pointList; /* point list */
|
|
14 gint min_x;
|
|
15 gint min_y;
|
|
16 gint max_x;
|
|
17 gint max_y;
|
|
18 gint point_count;
|
|
19 };
|
|
20
|
|
21 #define GSTROKE_METRICS "gstroke_metrics"
|
|
22
|
|
23 /* translate stroke to sequence */
|
|
24 gint _gstroke_trans (gchar *sequence, struct gstroke_metrics *metrics);
|
|
25 gint _gstroke_canonical (gchar* sequence, struct gstroke_metrics *metrics);
|
|
26
|
|
27 /* record point in stroke */
|
|
28 void _gstroke_record (gint x, gint y, struct gstroke_metrics *metrics);
|
|
29
|
|
30 /* initialize stroke functions */
|
|
31 void _gstroke_init (struct gstroke_metrics*);
|
|
32
|
|
33 /* structure for holding point data */
|
|
34 struct s_point {
|
|
35 gint x;
|
|
36 gint y;
|
|
37 };
|
|
38
|
|
39 typedef struct s_point *p_point;
|
|
40
|
|
41 #endif
|