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 <m...@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 > _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list