view plugins/gestures/gstroke-internal.h @ 9070:f13172eed3ad

[gaim-migrate @ 9846] This fixes what is hopefully the last common direct connect segfault. Basicly, we were memcpying cookies, and one was null. This was because our get the cookie function was returning null, because it checked if the conn was a direct im conn and it wasn't. It was a listening conn instead. So this adds NULL checks, and makes the get cookie function do less sanity checking, since it was failing some valid cases. committer: Tailor Script <tailor@pidgin.im>
author Tim Ringenbach <marv@pidgin.im>
date Wed, 26 May 2004 04:55:10 +0000
parents 16540914c963
children
line wrap: on
line source

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