Re: RE: Scrolling a drawing area

I used a GtkScrolledWindow with a GtkDrawingArea inside it for OpenGL drawing in my program. I found that yes, I did have to set_size_request when zooming in and out.

Be warned: Due to the way resizing works in GTK+, it's impossible to do "smooth zooming" where your scrolled window remains focused on the same part of the image as you zoom. You can approximate it, but the zoom itself will be jerky. I haven't found any way around this.
I have been reading about the gtk layout widget and that it has native scrolling. If I were to use the gtk layout instead, would that scroll without having to resize it?

From: Diego Rivera [mailto:rive17 gmail com]
Sent: Sat 5/10/2008 4:35 PM
To: Ariel Martinez
Cc: gtk-list gnome org
Subject: Re: Scrolling a drawing area

The GtkDrawingArea isn't a common container, unlike a GtkWindow or something. Drawing a pixmap bigger than the GtkDrawingArea itself, won't change the size of the GtkDrawingArea, pixels out of range from the size of the drawing_area are just clipped away (they aren't in the visible portion of the GtkDrawingArea, so they are ignored).

From my point of view, the gtk_set_size_request() call is required if you want your GtkDrawingArea to be the size of the pixmap you are drawing into it.


2008/5/10 Ariel Martinez <ama0021 hunter cuny edu>:

I am using gtk_scrolled_window_add_with_viewport() to get scrolling capabilities for a drawing area. In my program, I am drawing to a backing pixmap which I in turn draw onto the drawing area with an expose event handler. The problem  I am having is that even though the pixmap is larger than the drawing area, the drawing area does not scroll.  If however, I use gtk_set_size_request() on the drawing area to increase its dimensions, the drawing area scrolls. Any suggestions on what I could be doing wrong? Thanks.


gtk-list mailing list
gtk-list gnome org

gtk-list mailing list
gtk-list gnome org

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