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