pidgin/plugins/gestures/gstroke-internal.h

Fri, 24 Jul 2020 04:43:46 -0500

author
Elliott S <quantum.analyst@gmail.com>
date
Fri, 24 Jul 2020 04:43:46 -0500
changeset 40497
2f45a03838e9
parent 15435
4b933b06d75e
child 16238
33bf2fd32108
child 18068
b6554e3c8224
child 20478
46933dc62880
permissions
-rw-r--r--

Fix gestures plugin

Update gestures plugin for gtkplugin.h removal.

Use correct alloc/free functions for gestures.

Use a GtkEventBox for the gestures event handling.

Convert gesture stroke drawing to Gdk/Cairo.

Always enable building the gestures plugin.
It no longer requires a platform-specific library.

Reviewed at https://reviews.imfreedom.org/r/47/

/* This file is to be used internally by the libgstroke implementation.
   It should not be installed or used elsewhere.

   See the file COPYING for distribution information.
*/

#ifndef _GSTROKE_INTERNAL_H_
#define _GSTROKE_INTERNAL_H_

/* metrics for stroke, they are used while processing a stroke, this
   structure should be stored in local widget storage */
struct gstroke_metrics {
  GSList *pointList;     /* point list */
  gint min_x;
  gint min_y;
  gint max_x;
  gint max_y;
  gint point_count;
};

#define GSTROKE_METRICS "gstroke_metrics"

/* translate stroke to sequence */
gint _gstroke_trans (gchar *sequence, struct gstroke_metrics *metrics);
gint _gstroke_canonical (gchar* sequence, struct gstroke_metrics *metrics);

/* record point in stroke */
void _gstroke_record (gint x, gint y, struct gstroke_metrics *metrics);

/* initialize stroke functions */
void _gstroke_init (struct gstroke_metrics*);

/* structure for holding point data */
struct s_point {
  gint x;
  gint y;
};

typedef struct s_point *p_point;

#endif

mercurial