Greg Ercolano wrote:
> I noticed this comment in Fl_Browser_.cxx:
> 
>       // Scrollbar size should be part of the Fl class, but is left here for
>       // binary compatibility in 1.1.x - M. Sweet
>       int Fl_Browser_::scrollbar_width_ = 16;
> 
> I'm thinking 'now's the time to do it' here in the 1.3.x release
> if it's an ABI issue..

        *Seems* like maybe this is just a matter of:

                1) Creating the integer declaration in the Fl:: class

                2) Creating Set/Get methods for Fl::scrollbar_width()

                3) Changing Fl_Browser and Fl_Text_Display to have a
                   local integer to keep track of the value, and have
                   the ctor's initialize this local value from the Fl:: value.

                4) Change the widget's scroll_width() method to reference
                   this local per-class integer. (I'm guessing the classes
                   need their own copy, so that when a window is resized,
                   their resize() code can force the scrollbars to that size.

        Or, something like that.

        I grepped the code for scrollbar_width_, looks like it wouldn't
        be all that big a job, though there are some other widgets not
        shown here, like Fl_Scroll, that might need tweaks as well..

        If anyone feels solid to take this on, be my guest, otherwise
        I'll be willing to try..

Wed 03/18/09 18:28:15 /net/tmp/fltk-1.3.x-svn-ercofix
[r...@tahoe] ## ROOT ## 1130 # grep -r scrollbar_width_ src FL | grep -v \\\.svn

src/Fl_Browser_.cxx:int Fl_Browser_::scrollbar_width_ = 16;
src/Fl_Browser_.cxx:    W -= scrollbar_width_;
src/Fl_Browser_.cxx:    if (scrollbar.align() & FL_ALIGN_LEFT) X += 
scrollbar_width_;
src/Fl_Browser_.cxx:    H -= scrollbar_width_;
src/Fl_Browser_.cxx:    if (scrollbar.align() & FL_ALIGN_TOP) Y += 
scrollbar_width_;
src/Fl_Browser_.cxx:    scrollbar.align()&FL_ALIGN_LEFT ? X-scrollbar_width_ : 
X+W,
src/Fl_Browser_.cxx:    Y, scrollbar_width_, H);
src/Fl_Browser_.cxx:    X, scrollbar.align()&FL_ALIGN_TOP ? Y-scrollbar_width_ 
: Y+H,
src/Fl_Browser_.cxx:    W, scrollbar_width_);
src/Fl_Browser_.cxx:    scrollbar.align()&FL_ALIGN_LEFT ? X-scrollbar_width_ : 
X+W,
src/Fl_Browser_.cxx:    Y, scrollbar_width_, H);
src/Fl_Browser_.cxx:    X, scrollbar.align()&FL_ALIGN_TOP ? Y-scrollbar_width_ 
: Y+H,
src/Fl_Browser_.cxx:    W, scrollbar_width_);
src/Fl_Browser_.cxx:    fl_rectf(scrollbar.x(), hscrollbar.y(), 
scrollbar_width_,scrollbar_width_);
FL/Fl_Text_Display.H:    int scrollbar_width() { return scrollbar_width_; }
FL/Fl_Text_Display.H:    void scrollbar_width(int W) { scrollbar_width_ = W; }
FL/Fl_Text_Display.H:    int scrollbar_width_;
FL/Fl_Browser_.H:  static int scrollbar_width_;
FL/Fl_Browser_.H:  static int scrollbar_width() {return scrollbar_width_;}
FL/Fl_Browser_.H:  static void scrollbar_width(int b) {scrollbar_width_ = b;}

Wed 03/18/09 18:28:31 /net/tmp/fltk-1.3.x-svn
[r...@tahoe] ## ROOT ## 1131 #
_______________________________________________
fltk-dev mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-dev

Reply via email to