bool b_button_pressed;
int i_last_x, i_last_y;
unsigned int i_pattern;
- int i_num_gestures;
+ unsigned int i_num_gestures;
int i_threshold;
int i_button_mask;
};
/*****************************************************************************
* gesture: return a subpattern within a pattern
*****************************************************************************/
-static int gesture( int i_pattern, int i_num )
+static inline unsigned gesture( unsigned i_pattern, unsigned i_num )
{
return ( i_pattern >> ( i_num * 4 ) ) & 0xF;
}
{
int i_horizontal = newval.coords.x - p_sys->i_last_x;
int i_vertical = newval.coords.y - p_sys->i_last_y;
- int pattern = 0;
+ unsigned int pattern = 0;
i_horizontal = i_horizontal / p_sys->i_threshold;
i_vertical = i_vertical / p_sys->i_threshold;
{
p_sys->i_last_x = newval.coords.x;
p_sys->i_last_y = newval.coords.y;
- if( gesture( p_sys->i_pattern, p_sys->i_num_gestures - 1 )
+ if( p_sys->i_num_gestures > 0
+ && gesture( p_sys->i_pattern, p_sys->i_num_gestures - 1 )
!= pattern )
{
p_sys->i_pattern |= pattern << ( p_sys->i_num_gestures * 4 );