¡Millones de gracias a todos!
Ya pude capturar correctamente los eventos del mouse en un DrawingArea
de Gtkmm (era eso un poco lo que me preocupaba).
Con respecto a la lógica, era consciente que seguramente hubiera que
aplicar algún algoritmo que me permitiese identificar si en el lugar
donde se hizo click hay alguna figura.
Para aquellos que utilicen Gtkmm, el DrawingArea no acepta por defecto
los eventos de click del mouse, con lo cual hay que agregarlos.
¿Cómo se hace?
myDrawingArea.add_events(Gdk::BUTTON_PRESS_MASK);
myDrawingArea.add_events(Gdk::BUTTON_RELEASE_MASK);
Luego se hace el binding típico al método que maneje al evento.
Por ejemplo:
myDrawingArea.signal_button_press_event().connect(sigc::mem_fun(*this,
&MyWindow::onClick));
Donde el método onClick debe ser de respetar la siguiente signatura:
bool onClick(GdkEventButton* event) { ... }
Con eso ya estaríamos en condiciones de capturar los eventos del mouse
sobre un DrawingArea.
GdkEventButton posee información útil sobre el evento (posición X,
posición Y, etc, etc...)
Les agradezco una vez más a todos.
Saludos,
Gaby
On Oct 31, 8:04 pm, "Federico Vidueiro" <
viduei...@gmail.com> wrote:
> obviamente que si la figura es una circunferencia es mas fácil, solo
> necesita saber si la distancia entre el centro y el mouse es menor al radio.
> y en el caso de un rectángulo también es sencillo (caso particular de un
> polígono)
>
> El 31 de octubre de 2008 17:37, Mariano Chouza <
mcho...@gmail.com> escribió:
>
>
>
> > 2008/10/31 Ezequiel Damico <
ezedam...@gmail.com>: