Пример #1
0
int roadmap_bar_drag_motion (RoadMapGuiPoint *point)
{
   BarObject *new_bar_object = NULL;

   if (SelectedBarObject == NULL)
      return 0;

   if ( !gHideTopBar )
        new_bar_object = roadmap_bar_by_pos(point, &TopBarObjectTable);

   if (!new_bar_object) {
      if ( !gHideBottomBar )
        new_bar_object = roadmap_bar_by_pos(point, &BottomBarObjectTable);
        if (!new_bar_object){
           SelectedBarObject->image_state = IMAGE_STATE_NORMAL;
           roadmap_screen_redraw();
           return 1;
        }
   }

   if (new_bar_object != SelectedBarObject){
        SelectedBarObject->image_state = IMAGE_STATE_NORMAL;
        SelectedBarObject = new_bar_object;
        new_bar_object->image_state = IMAGE_STATE_SELECTED;
        roadmap_screen_redraw();
        return 1;
   }
   return 1;
}
Пример #2
0
static int roadmap_bar_obj_pressed (RoadMapGuiPoint *point)
{

   BarObject *object = NULL;

   if ( !gHideTopBar )
	   object = roadmap_bar_by_pos(point, &TopBarObjectTable);

   if (!object) {
	  if ( !gHideBottomBar )
		  object = roadmap_bar_by_pos(point, &BottomBarObjectTable);
   	  if (!object)
      	return 0;
   }

   /* There is no dragging for the bar objects !!! */
   //roadmap_pointer_cancel_dragging();

   object->image_state = IMAGE_STATE_SELECTED;

   // Save the selected object
   SelectedBarObject = object;

   roadmap_pointer_register_drag_motion
      (roadmap_bar_drag_motion, POINTER_HIGHEST);

   roadmap_screen_redraw();

   return 1;
}
Пример #3
0
int roadmap_bar_long_click (RoadMapGuiPoint *point) {
   
   BarObject *object = roadmap_bar_by_pos(point, &TopBarObjectTable);

   if (!object) {
   	  object = roadmap_bar_by_pos(point, &BottomBarObjectTable);
   	  if (!object)
      	return 0;
   }

   if (object->action) {
//      static RoadMapSoundList list;
//   
//      if (!list) {
//         list = roadmap_sound_list_create (SOUND_LIST_NO_FREE);
//         roadmap_sound_list_add (list, "click");
//         roadmap_res_get (RES_SOUND, 0, "click");
//      }

//      roadmap_sound_play_list (list);
	  
	  roadmap_screen_redraw();
      (*(object->action->callback)) ();
      
      roadmap_screen_redraw();
   }

   return 1;
}
Пример #4
0
int roadmap_bar_obj_released (RoadMapGuiPoint *point)
{
   BarObject *new_bar_object = NULL;
	// The release event causes the selected object in the press event to be unselected
   if ( SelectedBarObject )
	{
       SelectedBarObject->image_state = IMAGE_STATE_NORMAL;
       roadmap_pointer_unregister_drag_motion(roadmap_bar_drag_motion);

       if ( !gHideTopBar )
          new_bar_object = roadmap_bar_by_pos(point, &TopBarObjectTable);

       if (!new_bar_object) {
         if ( !gHideBottomBar )
            new_bar_object = roadmap_bar_by_pos(point, &BottomBarObjectTable);
            if (!new_bar_object){
               SelectedBarObject = NULL;
               roadmap_screen_redraw();
               return 0;
            }
       }
       if (new_bar_object != SelectedBarObject){
          SelectedBarObject = NULL;
          roadmap_screen_redraw();
          return 1;
       }

	   if ( SelectedBarObject->action )
	   {
	      static RoadMapSoundList list;

	      SelectedBarObject->image_state = IMAGE_STATE_SELECTED;
	      roadmap_screen_redraw();

#ifdef PLAY_CLICK
	      if (!list) {
	         list = roadmap_sound_list_create (SOUND_LIST_NO_FREE);
	         roadmap_sound_list_add (list, "click");
	         roadmap_res_get (RES_SOUND, 0, "click");
	      }

	      roadmap_sound_play_list (list);
#endif

	      roadmap_screen_redraw();

	      (*(SelectedBarObject->action->callback)) ();

	      roadmap_screen_redraw();

	      SelectedBarObject->image_state = IMAGE_STATE_NORMAL;

	   }
	}
   SelectedBarObject = NULL;
   roadmap_screen_redraw();
   return 1;
}
Пример #5
0
int roadmap_bar_obj_released (RoadMapGuiPoint *point) {
   
   BarObject *object = roadmap_bar_by_pos(point, &TopBarObjectTable);

   if (!object) {
   	  object = roadmap_bar_by_pos(point, &BottomBarObjectTable);
   	  if (!object)
      	return 0;
   }
   
   object->image_state = IMAGE_STATE_NORMAL;
  roadmap_screen_redraw();
   return 1;
}