/** * \fn bool Dessin::on_event_happend (GdkEvent* event) * \brief Méthode gérant les évènements de la souris * \param event Evènement (appui souris, mouvement en restant appuyé ou relâchement de la souris) ayant provoqué l'instanciation de la méthode * \return Indicateur de bon deroulement de la méthode */ bool Dessin::on_event_happend(GdkEvent* event){ if (event->type == GDK_BUTTON_PRESS) { x = event->button.x; y = event->button.y; type_bouton = event->button.button; } if (event->type == GDK_MOTION_NOTIFY) { dessiner_cadre_selection_zoom(event->button.x, event->button.y); } if (event->type == GDK_BUTTON_RELEASE) { switch (type_bouton){ case 1: zoom(event->button.x, event->button.y); break; case 2: dezoom(); break; case 3: dezoom(); break; default: break; } type_bouton = 0; } return false; }
int ft_mouse_hook(int button, int x, int y, t_frac *frac) { (void)x; (void)y; if (button == 4) zoom(frac); if (button == 5) dezoom(frac); draw(frac); return (0); }
int mouse_zoom(int click, int x, int y, t_data *data) { if (x < data->map_x && y < data->map_y && x >= 0 && y >= 0) { if (click == 4) zoom(x, y, data); if (click == 5) dezoom(x, y, data); } return (0); }