Re: fixed position, fixed size



>I have a gnomecanvas object (is this the right list?).  The user can
>move around in the object by pressing arrows that are drawn in the
>lower right hand corner of the object.
>
>I'm guessing when the user clicks a move arrow, I'd use
>gnome_canvas_scroll_to(cx, cy) to scroll on the canvas.
>
>The user can also zoom in and out on the canvas.
>
>So each time the user moves or zooms, I'd need to rerdraw those
>movement arrows so they stay in the same place and say the same size
>(in pixels on the user's screen).
>
>Is there an easy way to do this?  Or do I need to delete the old
>arrows, figure out where in the world coordinates to draw the new
>arrows, and query the current zooming level to figure out how large
>the arrows should be?

my experience of canvas zooming is that its mostly useless.

as soon as you put multiple objects on the canvas whose behaviour
under zoom differs from each other, using the affine transform method
of zooming the whole canvas becomes more of an impediment than a
benefit. 

your mileage may vary. and check out http://ardour.org/ for a very,
very heavyduty canvas application (though we're still stuck using
GtkCanvas for the next month or so).

--p




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