Ejemplo n.º 1
0
static int ssd_dialog_released(RoadMapGuiPoint *point)
{
   LastPointerPoint.x = -1;
   if( !ssd_widget_pointer_up(RoadMapDialogCurrent->container, point))
      return 0;
   roadmap_screen_redraw ();
   return 0;
}
Ejemplo n.º 2
0
int ssd_widget_pointer_up(SsdWidget widget, const RoadMapGuiPoint *point) {

  SsdWidget widget_next = widget;

   if( !widget)
      return 0;

   /* Check all the overlapping ( in terms of click area ) widgets
   * First widget, that it or its children handle the event - wins
   */
   while ( widget_next != NULL )
   {
	   if ( ssd_widget_contains_point( widget_next, point, TRUE ) )
	   {
		   if ( ( widget_next->pointer_up && widget_next->pointer_up( widget_next, point ) ) ||
				   ( widget_next->children && ssd_widget_pointer_up( widget_next->children, point ) ) )
		   {
			  return 1;
		   }
	   }
	   widget_next = widget_next->next;
   }
   return 0;
}