32bit scrolling problems in Gtk+ 1.3.1



I am trying to port an audio waveform widget to Gtk+ 1.3.1 and in the
process, convert its scrolling method to take advantage of the 32-bit
window size emulation for X11. (i.e. create a big window inside of a
smaller one and move the inner window around to scroll).

I am only scrolling in the horizontal direction.

Unfortunately, the scrolling only works properly near the beginning and
end of the range (about 16384 from either extent of the large
window).  In the middle of those extremes, scrolling the window using
gdk_window_move causes the widget contents to move to the left
(regardless of the actual direction of the scroll), possibly causes a
refresh of exposed portions, then moves the contents back to the right,
and finally possibly causing another refresh.  If I refresh the window
contents (i.e. by switching workspaces), the widget refreshes properly.

I am also limiting the size of drawn lines and filled rectangles to fit in
a 16-bit size.

I have hacked testgtk.c's GtkLayout demo so that its scrolling range
is long instead of tall but haven't been able to reproduce the scrolling
problem with it.

Has this problem been seen before, or am I forgetting to do something?

Thanks,
David





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