view plugins/gestures/gstroke.h @ 8815:ada0cf2f49fe

[gaim-migrate @ 9577] " This patch creates the subsystem like most of the core to connect to signals and emit them. It also adds a "gtkblist-created" signal so plugins that want to add something to the gtkblist know when it's created. Using the same subsytem setup as the rest of gaim helps plugin authors avoid connecting to the buddy signon even to know when they can connect to the "drawing-menu" signal." --Gary Kramlich committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Mon, 26 Apr 2004 16:10:16 +0000
parents ea2d07ad05a9
children a99a0cc67713
line wrap: on
line source

/*
   libgstroke - a GNOME stroke interface library
   Copyright (c) 1996,1997,1998,1999,2000,2001  Mark F. Willey, ETLA Technical

   See the file COPYING for distribution information.
*/

/* largest number of points allowed to be sampled */
#ifndef _GSTROKE_H_
#define _GSTROKE_H_

#define GSTROKE_MAX_POINTS 10000

/* number of sample points required to have a valid stroke */
#define GSTROKE_MIN_POINTS 50

/* maximum number of numbers in stroke */
#define GSTROKE_MAX_SEQUENCE 32

/* threshold of size of smaller axis needed for it to define its own
   bin size */
#define GSTROKE_SCALE_RATIO 4

/* minimum percentage of points in bin needed to add to sequence */
#define GSTROKE_BIN_COUNT_PERCENT 0.07

void gstroke_set_draw_strokes(gboolean draw);
gboolean gstroke_draw_strokes(void);

void gstroke_set_mouse_button(gint button);
guint gstroke_get_mouse_button(void);

/* enable strokes for the widget */
void gstroke_enable (GtkWidget *widget);

guint gstroke_signal_connect (GtkWidget *widget,
                              const gchar *name,
                              void (*func)(GtkWidget *widget, void *data),
                              gpointer data);

/* frees all the memory allocated for stroke, should be called when
   the widget is destroyed*/
void gstroke_cleanup (GtkWidget *widget);

#endif