From 87dd7f0d23eba5c09e71ec6efeb34c6844f5e95f Mon Sep 17 00:00:00 2001 From: Michael R Sweet Date: Tue, 29 Dec 1998 14:21:17 +0000 Subject: Revised documentation files. git-svn-id: file:///fltk/svn/fltk/trunk@177 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- documentation/Fl_Scroll.html | 135 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 documentation/Fl_Scroll.html (limited to 'documentation/Fl_Scroll.html') diff --git a/documentation/Fl_Scroll.html b/documentation/Fl_Scroll.html new file mode 100644 index 000000000..41136476c --- /dev/null +++ b/documentation/Fl_Scroll.html @@ -0,0 +1,135 @@ + + + +
+ +

class Fl_Scroll

+ +
+ +

Class Hierarchy

+ + + +

Include Files

+ + + +

Description

+ +This container widget lets you maneuver around a set of widgets +much larger than your window. If the child widgets are larger than +the size of this object then scrollbars will appear so that you can +scroll over to them: + +

+ +

If all of the child widgets are packed together into a solid +rectangle then you want to set box() to FL_NO_BOX or +one of the _FRAME types. This will result in the best output. +However, if the child widgets are a sparse arrangment you must set +box() to a real _BOX type. This can result in some +blinking during redrawing, but that can be solved by using a +Fl_Double_Window. + +

This widget can also be used to pan around a single child widget +"canvas". This child widget should be of your own class, with a +draw() method that draws the contents. The scrolling is done +by changing the x() and y() of the widget, so this +child must use the x() and y() to position it's +drawing. To speed up drawing it should test fl_clip(). + +

Another very useful child is a single Fl_Pack, which is itself a group that +packs it's children together and changes size to surround them. +Filling the Fl_Pack with Fl_Tab +groups (and then putting normal widgets inside those) gives you a very +powerful scrolling list of individually-openable panels. + +

Fluid lets you create these, but you can only lay out objects that +fit inside the Fl_Scroll without scrolling. Be sure to leave +space for the scrollbars, as Fluid won't show these either. + +

You cannot use Fl_Window as a child of this since the +clipping is not conveyed to it when drawn, and it will draw over the +scrollbars and neighboring objects. + +

Methods

+ + + +

Fl_Scroll::Fl_Scroll(int x, int y, int w, int h, const char *label = 0)

+ +Creates a new Fl_Scroll widget using the given position, size, and +label string. The default boxtype is FL_NO_BOX. + +

virtual Fl_Scroll::~Fl_Scroll()

+ +The destructor also deletes all the children. This allows a +whole tree to be deleted at once, without having to keep a pointer to all +the children in the user code. A kludge has been done so the +Fl_Scroll and all of it's children can be automatic (local) +variables, but you must declare the Fl_Scroll first, so +that it is destroyed last. + +

void Fl_Widget::type(int)

+ +By default you can scroll in both directions, and the scrollbars +disappear if the data will fit in the area of the scroll. type() +can change this: + + + +

void Fl_Scroll::scrollbar.align(int)
+void Fl_Scroll::hscrollbar.align(int)

+ +This is used to change what side the scrollbars are drawn on. If the +FL_ALIGN_LEFT bit is on, the vertical scrollbar is on the +left. If the FL_ALIGN_TOP bit is on, the horizontal scrollbar +is on the top. + +

int Fl_Scroll::xposition() const

+ +Gets the current horizontal scrolling position. + +

int Fl_Scroll::yposition() const

+ +Gets the current vertical scrolling position. + +

void Fl_Scroll::position(int w, int h)

+ +Sets the upper-lefthand corner of the scrolling region. + + + -- cgit v1.2.3