| 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 |
|