Thank you Greg for your fast reply,
I got it working using your little example and the correct version of fltk
(1.1.7 , it did not work with 1.1.4 which was installed on my linux).
Regards Jens
> Jens Grunert wrote:
> > How do I make the Fl_Scroll widget automatically redraw the window when I
> > move the sliders?
> >
> > In the little program below I'm able to move the image with the sliders but
> > to refresh the screen I have to resize the main window.
>
> Widgets are responsible for their backgrounds..
> be sure to draw a rectf() (and not just a rect()) for your widgets.
> Note the scroller combines screen-to-screen copying to optimize
> scrolling,
> and only calls your draw routine to draw the little parts that are
> revealed.
>
> Here's a modified version of your app:
>
> #include <FL/Fl.H>
> #include <FL/fl_draw.H>
> #include <FL/Fl_Double_Window.H>
> #include <FL/Fl_Scroll.H>
>
> class Draw : public Fl_Widget {
> public:
> Draw(long int x, long int y, long int w, long int h, const char *l=0) :
> Fl_Widget(x, y ,w ,h, l) {}
> void draw() {
> fl_color(FL_RED);
> fl_rectf(x(), y(), w(), h()); // *** draw your widget's background
> fl_color(FL_BLACK);
> fl_rect(x(), y(), w(), h());
> }
> };
>
> int main() {
> Fl_Double_Window win(800,800); // I changed the window size
> Fl_Scroll scroll(10,10,800-20,800-20); // to be more manageable for my
> screen: shouldn't matter
> Draw *draw;
>
> for(int i = 0; i < 100; i+=10) { // smaller number of widgets,
> different
> draw = new Draw(10+i*10,10+i*10,400,400); // logic for window placement:
> shouldn't matter
> }
>
> scroll.end();
> win.resizable(scroll);
> win.end();
> win.show();
> return(Fl::run());
> }
_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk