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