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

Reply via email to