Re: Mouse events on a Cairo Context



There is another solution that I have used extensively, which is to draw
the cairo commands twice. Once for the actual drawing, and once again in an
offline image (called label image), with the following differences:

   1. Use solid colors corresponding to "labels" of the different graphical
   components.
   2. Turn off anti-aliasing.

When the user clicks on the image, the x,y of the event is referenced in
the label image. The label is then used as a lookup to the component which
can be modified.

You can see an example of how to do this at
https://github.com/dov/dovtk-lasso . Note that there is a special gtk3
branch.

Regards,

Dov


On Mon, Jul 1, 2013 at 7:54 PM, Stefan Salewski <mail ssalewski de> wrote:

On Mon, 2013-07-01 at 17:42 +0200, Borja Mon Serrano wrote:


The problem with (4) is drag&drop. I think it could be very difficult to
deal with it, so I'm going to try the third solution, with goocanvasmm.
Do
you know any example of use of goocanvasmm?


Yes, drag&drop may be not very easy.
And zooming and panning/scrolling for a plain (cairo) drawing area may
be not really trivial, when you need to grab objects with the mouse.
I did try it two years ago from Ruby -- not really difficult, but it
takes some time to get the math right. Have not found time to clean it
up yet. ( http://www.ssalewski.de/PetEd.html.en)

Of course, if you do C++ and have not much experience in GTK already you
may try

https://qt-project.org/doc/qt-4.8/graphicsview.html

I have never find time and motivation to test that.

_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list gnome org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]