From 46f509f7de8b069eccaa081bbb7112a532c33e51 Mon Sep 17 00:00:00 2001 From: Michael R Sweet Date: Thu, 14 Jan 1999 22:14:01 +0000 Subject: [PATCH] More image updates, minor typos, etc. git-svn-id: file:///fltk/svn/fltk/trunk@227 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- documentation/Fl_Gl_Window.html | 21 +++++++++------------ documentation/Fl_Group.html | 6 ++---- documentation/Fl_Input.html | 8 ++++---- documentation/Fl_Menu_.html | 6 +++--- documentation/Fl_Menu_Bar.html | 4 ++-- documentation/Fl_Menu_Button.html | 8 ++++---- documentation/Fl_Positioner.html | 4 ++-- documentation/Fl_Scroll.html | 4 ++-- documentation/Fl_Single_Window.html | 5 +++-- documentation/Fl_Tabs.html | 4 ++-- documentation/Fl_Tile.html | 15 ++++++++------- documentation/Fl_Valuator.html | 8 ++++---- documentation/Fl_Value_Slider.html | 4 ++-- documentation/Fl_Widget.html | 19 +++++++++---------- documentation/Makefile | 8 ++++---- documentation/forms.html | 4 ++-- documentation/functions.html | 6 ++---- documentation/menu_button.gif | Bin 2874 -> 1632 bytes documentation/menubar.gif | Bin 4537 -> 3798 bytes documentation/value_slider.gif | Bin 3357 -> 8401 bytes 20 files changed, 64 insertions(+), 70 deletions(-) diff --git a/documentation/Fl_Gl_Window.html b/documentation/Fl_Gl_Window.html index 205d3225c..f4010f756 100644 --- a/documentation/Fl_Gl_Window.html +++ b/documentation/Fl_Gl_Window.html @@ -127,8 +127,7 @@ context for this window or when the window resizes, and is turned on afterdraw() is called. You can use this inside your draw() method to avoid unneccessarily initializing the OpenGL context. Just do this: - + +You can turn valid() on by calling valid(1). You should only do this after fixing the transformation inside a draw() - or after make_current(). This is done automatically after +or after make_current(). This is done automatically after draw() returns.

void Fl_Gl_Window::invalidate()

The invalidate() method turns off valid() and is @@ -215,4 +212,4 @@ Fl_Gl_Window::valid()
and set the same transformation. If you don't your code may not work on other systems. Depending on the OS, and on whether overlays are real or simulated, the OpenGL context may be the same or different between the overlay and main window.

- \ No newline at end of file + diff --git a/documentation/Fl_Group.html b/documentation/Fl_Group.html index 16e8e4f58..e307d71b4 100644 --- a/documentation/Fl_Group.html +++ b/documentation/Fl_Group.html @@ -87,9 +87,7 @@ automatically called by the constructor for Fl_Group (and thus for Fl_Window as well). begin() does current(this).

Don't forget to end() the group or window!

Fl_Widget *Fl_Group::child(int n) const

- Returns child n, where 0 - -. + Returns child n, where 0 <= n < children().

int Fl_Group::children() const

Returns how many child widgets the group has.

static Fl_Group *Fl_Group::current() @@ -133,4 +131,4 @@ and distance from the top-left corner.

It is possible to achieve any type of resize behavior by using an invisible Fl_Box as the resizable and/or by using a hierarchy of child Fl_Group's.

-
\ No newline at end of file + diff --git a/documentation/Fl_Input.html b/documentation/Fl_Input.html index 98614ffb9..8e4317022 100644 --- a/documentation/Fl_Input.html +++ b/documentation/Fl_Input.html @@ -27,8 +27,8 @@ will correctly display anything, using ^X notation for unprintable control characters and \nnn notation for unprintable characters with the high bit set. It assummes the font can draw any characters in the ISO8859-1 character set. - -
Mouse button 1Moves the cursor to this point. +
+ -
Mouse button 1Moves the cursor to this point. Drag selects characters. Double click selects words. Triple click selects all text. Shift+click extends the selection.
Mouse button 2Insert the current X selection at @@ -71,7 +71,7 @@ into a single "undo". Often this will undo a lot more than you expected.
Shift+moveMove the cursor but also extend the selection.
+

Methods

@@ -176,4 +176,4 @@ fields.

Fl_Color Fl_Input::cursor_color() const
void Fl_Input::cursor_color(Fl_Color)

- Get or set the color of the cursor. This is black by default. \ No newline at end of file + Get or set the color of the cursor. This is black by default. diff --git a/documentation/Fl_Menu_.html b/documentation/Fl_Menu_.html index 93fafc7e7..3120ccb76 100644 --- a/documentation/Fl_Menu_.html +++ b/documentation/Fl_Menu_.html @@ -96,9 +96,9 @@ focus when you type it. This is done by using Fl::add_handler(). This Fl_Menu_ widget does not have to be visible (ie the window it is in can be hidden, or it does not have to be put in a window at all). -

Currently there can be only one global()menu. Setting a new +

Currently there can be only one global()menu. Setting a new one will replace the old one. There is no way to remove the -global() setting (including destroying the menu).

+global() setting (including destroying the menu).

const char* Fl_Menu_::text() const
const char* Fl_Menu_::text(int i) const

Returns the title of the last item chosen, or of item i. @@ -160,4 +160,4 @@ Fl_Menu_ widget if it uses it's own array. This box type is used to surround the currently-selected items in the menus. If this is FL_NO_BOX then it acts like FL_THIN_UP_BOX and selection_color() acts like -FL_WHITE, for back compatability. \ No newline at end of file +FL_WHITE, for back compatability. diff --git a/documentation/Fl_Menu_Bar.html b/documentation/Fl_Menu_Bar.html index 38cfbe521..208d7fa36 100644 --- a/documentation/Fl_Menu_Bar.html +++ b/documentation/Fl_Menu_Bar.html @@ -27,7 +27,7 @@ single Fl_Menu_Item top level menu defines the items in the menubar, while the submenus define the pull-down menus. Sub-sub menus and lower pop up to the right of the submenus.

-

+

If there is an item in the top menu that is not a title of a submenu, then it acts like a "button" in the menubar. Clicking on it will pick it.

@@ -60,4 +60,4 @@ put it outside the menubar.

virtual Fl_Menu_Bar::~Fl_Menu_Bar()

The destructor removes the Fl_Menu_Bar widget and all of its -menu items. \ No newline at end of file +menu items. diff --git a/documentation/Fl_Menu_Button.html b/documentation/Fl_Menu_Button.html index f3b7eaac0..b1df98060 100644 --- a/documentation/Fl_Menu_Button.html +++ b/documentation/Fl_Menu_Button.html @@ -20,7 +20,7 @@ This is a button that when pushed pops up a menu (or hierarchy of menus) defined by an array of Fl_Menu_Item objects. -

+

Normally any mouse button will pop up a menu and it is lined up below the button as shown in the picture. However an Fl_Menu_Button may also control a pop-up menu. This is done by setting the type() @@ -59,8 +59,8 @@ its menu items. shortcut key. The menu appears, it waits for the user to pick an item, and if they pick one it sets value() and does the callback or sets changed() as described above. The menu item is returned -or NULLif the user dismisses the menu. -

void Fl_Widget::type(uchar)

+or NULLif the user dismisses the menu. +

void Fl_Menu_Button::type(uchar)

If type() is zero a normal menu button is produced. If it is nonzero then this is a pop-up menu. The bits in type() indicate what mouse buttons pop up the menu. For convienece the @@ -76,4 +76,4 @@ widgets covering different areas for context-sensitive popup menus.

selected item. This is a feature. If you don't like it, do value(0) after the menu items are picked to forget the current item.

-
\ No newline at end of file + diff --git a/documentation/Fl_Positioner.html b/documentation/Fl_Positioner.html index d714cc6b1..720b4b2e8 100644 --- a/documentation/Fl_Positioner.html +++ b/documentation/Fl_Positioner.html @@ -21,7 +21,7 @@ It would be useful if this could be put atop another widget so that the crosshairs are on top, but this is not implemented. The color of the crosshairs is selection_color(). -

+

Methods

@@ -66,4 +66,4 @@ float *y) const Sets the stepping value for the Y axis.

float Fl_Positioner::yvalue(void) const
void Fl_Positioner::yvalue(float y)

- Gets or sets the Y axis coordinate. \ No newline at end of file + Gets or sets the Y axis coordinate. diff --git a/documentation/Fl_Scroll.html b/documentation/Fl_Scroll.html index 2140e93d1..cd5bef9b2 100644 --- a/documentation/Fl_Scroll.html +++ b/documentation/Fl_Scroll.html @@ -21,7 +21,7 @@ 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. @@ -96,4 +96,4 @@ the top. Gets the current vertical scrolling position.

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

- Sets the upper-lefthand corner of the scrolling region. \ No newline at end of file + Sets the upper-lefthand corner of the scrolling region. diff --git a/documentation/Fl_Single_Window.html b/documentation/Fl_Single_Window.html index f0f628d0f..2c97cb467 100644 --- a/documentation/Fl_Single_Window.html +++ b/documentation/Fl_Single_Window.html @@ -17,7 +17,7 @@

Description

- This is the same as Fl_Window. However, it is possible that + This is the same as Fl_Window. However, it is possible that some implementations will provide double-buffered windows by default. This subclass can be used to force single-buffering. This may be useful for modifying existing programs that use incremental update, or @@ -34,4 +34,5 @@ char *label = 0) position, size, and label (title) string.

virtual Fl_Single_Window::~Fl_Single_Window()

- Destroys the window and all child widgets.
\ No newline at end of file + Destroys the window and all child widgets. + diff --git a/documentation/Fl_Tabs.html b/documentation/Fl_Tabs.html index e0f7196f1..88b37a249 100644 --- a/documentation/Fl_Tabs.html +++ b/documentation/Fl_Tabs.html @@ -20,7 +20,7 @@ The Fl_Tabs widget is the "file card tabs" interface that allows you to put lots and lots of buttons and switches in a panel, as popularized by many toolkits. -

+

Clicking the tab makes a child visible() (by calling show() on it) and all other children are invisible (by calling hide() on them). Usually the children are @@ -61,4 +61,4 @@ variables, but you must declare the Fl_Tabfirst, so that it is destroyed last.

Fl_Widget* Fl_Tabs::value() const
int Fl_Tabs::value(Fl_Widget*)

- Gets or sets the currently visible widget/tab. \ No newline at end of file + Gets or sets the currently visible widget/tab. diff --git a/documentation/Fl_Tile.html b/documentation/Fl_Tile.html index abbd8fc5f..fb837d70b 100644 --- a/documentation/Fl_Tile.html +++ b/documentation/Fl_Tile.html @@ -21,7 +21,7 @@

Description

The Fl_Tile class lets you resize the children by dragging the border between them: -

+

Fl_Tile allows objects to be resized to zero dimensions. To prevent this you can use the resizable() to limit where corners can be dragged to.

@@ -30,10 +30,10 @@ initially have non-zero sizes so the Fl_Tile can figure out their layout. If desired, call position() after creating the children but before displaying the window to set the borders where you want.

-

The "borders" are part of the children, an Fl_Tiledoes not +

The "borders" are part of the children, an Fl_Tiledoes not draw any graphics of it's own. In the above example all the final children have FL_DOWN_BOX types, and the "ridges" you see are -two adjacent FL_DOWN_BOX's drawn next to each other.

+two adjacent FL_DOWN_BOX's drawn next to each other.

Methods

  • Fl_Tile
  • @@ -56,10 +56,11 @@ that it is destroyed last. to_x, to_y) Drag the intersection at from_x,from_y to to_x,to_y. This redraws all the necessary children. -

    void Fl_Tile::resizable(Fl_Widget The -"resizable" child widget (which should be invisible) limits where the +

    void Fl_Tile::resizable(Fl_Widget &w)
    +void Fl_Tile::resizable(Fl_Widget *w)

    +The "resizable" child widget (which should be invisible) limits where the border can be dragged to. If you don't set it, it will be possible to drag the borders right to the edge, and thus resize objects on the edge to zero width or height. The resizable() widget is not -resized by dragging any borders.

    - \ No newline at end of file +resized by dragging any borders. + diff --git a/documentation/Fl_Valuator.html b/documentation/Fl_Valuator.html index ea0c8ca36..b192d8f62 100644 --- a/documentation/Fl_Valuator.html +++ b/documentation/Fl_Valuator.html @@ -24,13 +24,13 @@ and provides a consistent interface to set the value, range, and step, and insures that callbacks are done the same for every object.

    There are probably more of these classes in fltk than any others:

    -

    +

    In the above diagram each box surrounds an actual subclass. These are further differentiated by setting the type() of the widget to the symbolic value labeling the widget. The ones labelled "0" are the default versions with a -type(0). For consistency the symbol FL_VERTICAL is -defined as zero.

    +type(0). For consistency the symbol FL_VERTICAL is +defined as zero.

    Methods

@@ -133,4 +133,4 @@ turn it back on if desired).

Sets the changed() flag.

void Fl_Widget::clear_changed()

- Clears the changed() flag. \ No newline at end of file + Clears the changed() flag. diff --git a/documentation/Fl_Value_Slider.html b/documentation/Fl_Value_Slider.html index 847330b3e..a2b8ce518 100644 --- a/documentation/Fl_Value_Slider.html +++ b/documentation/Fl_Value_Slider.html @@ -19,7 +19,7 @@

Description

The Fl_Value_Slider widget is a Fl_Slider widget with a box displaying the current value. -

+

Methods

  • Fl_Value_Slider
  • @@ -49,4 +49,4 @@ Fl_Value_Slider::textfont() const

    uchar Fl_Value_Slider::textsize() const
    void Fl_Value_Slider::textsize(uchar)

    - Gets or sets the size of the text in the value box. \ No newline at end of file + Gets or sets the size of the text in the value box. diff --git a/documentation/Fl_Widget.html b/documentation/Fl_Widget.html index 4b619127d..708b061a5 100644 --- a/documentation/Fl_Widget.html +++ b/documentation/Fl_Widget.html @@ -167,18 +167,17 @@ the label as text.
    void Fl_Widget::align(Fl_Align) How the label is printed next to or inside the widget. The default value is FL_ALIGN_CENTER, which centers the label. The value -can be any of these constants or'd together: +can be any of these constants or'd together:
      -
    • FL_ALIGN_CENTER
    • -
    • FL_ALIGN_TOP
    • -
    • FL_ALIGN_BOTTOM
    • -
    • FL_ALIGN_LEFT
    • -
    • FL_ALIGN_RIGHT
    • -
    • FL_ALIGN_INSIDE
    • -
    • FL_ALIGN_CLIP
    • -
    • FL_ALIGN_WRAP
    • +
    • FL_ALIGN_CENTER
    • +
    • FL_ALIGN_TOP
    • +
    • FL_ALIGN_BOTTOM
    • +
    • FL_ALIGN_LEFT
    • +
    • FL_ALIGN_RIGHT
    • +
    • FL_ALIGN_INSIDE
    • +
    • FL_ALIGN_CLIP
    • +
    • FL_ALIGN_WRAP
    -

    Fl_Color Fl_Widget::labelcolor() const
    void Fl_Widget::labelcolor(Fl_Color)

    This color is passed to the labeltype routine, and is typically the diff --git a/documentation/Makefile b/documentation/Makefile index 26f93432e..03878659c 100644 --- a/documentation/Makefile +++ b/documentation/Makefile @@ -1,5 +1,5 @@ # -# "$Id: Makefile,v 1.5 1999/01/13 16:25:15 mike Exp $" +# "$Id: Makefile,v 1.6 1999/01/14 22:14:00 mike Exp $" # # Documentation makefile for the Fast Light Tool Kit (FLTK). # @@ -115,7 +115,7 @@ HTMLFILES = \ osissues.html \ license.html -all: fltk.ps fltk.pdf +all: fltk.ps fltk.pdf fltk.d/index.html clean: rm -rf fltk.d @@ -130,7 +130,7 @@ fltk.d/index.html: $(HTMLFILES) @echo "Generating HTML documentation..." @-mkdir fltk.d @-rm -f fltk.d/* - @$(HTMLDOC) -d fltk.d -t html --verbose --toclevels 2 --title FL.gif $(HTMLFILES) + @$(HTMLDOC) -d fltk.d -t html --verbose --toclevels 2 --bodycolor white --title FL.gif $(HTMLFILES) fltk.ps: $(HTMLFILES) @echo "Generating PostScript documentation..." @@ -142,5 +142,5 @@ fltk.pdf: $(HTMLFILES) @$(HTMLDOC) -f fltk.pdf --compression=9 --jpeg=90 --duplex --verbose --toclevels 2 --title FL.gif $(HTMLFILES) # -# End of "$Id: Makefile,v 1.5 1999/01/13 16:25:15 mike Exp $". +# End of "$Id: Makefile,v 1.6 1999/01/14 22:14:00 mike Exp $". # diff --git a/documentation/forms.html b/documentation/forms.html index bf4202b5f..f08952a94 100644 --- a/documentation/forms.html +++ b/documentation/forms.html @@ -166,7 +166,7 @@ have to rewrite things a lot.

    You Cannot Use <device.h>

    If you have written your own "free" widgets you will probably get a lot of errors about "getvaluator". You should substitute: -
+
@@ -177,7 +177,7 @@ lot of errors about "getvaluator". You should substitute: -
FormsFLTK
MOUSE_XFl::event_x_root()
MOUSE_YFl::event_y_root()
MOUSE1,RIGHTMOUSEFl::event_state()
MOUSE2,MIDDLEMOUSEFl::event_state()
MOUSE3,LEFTMOUSEFl::event_state()
+
Anything else in getvaluator and you are on your own...

Font Numbers Are Different

The "style" numbers have been changed because I wanted to insert diff --git a/documentation/functions.html b/documentation/functions.html index 964bcea84..96ddc536b 100644 --- a/documentation/functions.html +++ b/documentation/functions.html @@ -559,11 +559,9 @@ other programs). The window does not have to be shown() all event handling and allows you to map and unmap a complex set of windows (under both X and WIN32 some window must be mapped because the system interface needs a window id). -

Fl::event_x() and Fl::event_y() - - are undefined if the +

Fl::event_x() and Fl::event_y() are undefined if the passed widget is not a mapped Fl_Window. Use -Fl::event_x_root() and Fl::event_y_root() instead.

+Fl::event_x_root() and Fl::event_y_root() instead.

Be careful that your program does not enter an infinite loop while grab() is on. On X this will lock up your screen!

The second function returns the current grab window, or NULL diff --git a/documentation/menu_button.gif b/documentation/menu_button.gif index 5ee9b58ecbc7da61a955fee7b55ba2bbdaf4119a..9fc5df0dd6e53b25d1983e85a9df2ebb57ed51af 100644 GIT binary patch literal 1632 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 diff --git a/documentation/menubar.gif b/documentation/menubar.gif index 955b81a357b4c458f9343bb04f4f5f80ed3b3b49..383598d0feab629d3e3c25560de0960e86628478 100644 GIT binary patch literal 3798 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 Mt@ui-^cDdCJ5V}(FaQ7m literal 4537 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 CIUA?| diff --git a/documentation/value_slider.gif b/documentation/value_slider.gif index 668bd79fcc1d7fcaa5a2b11785ccb31659ffe9b3..ab1c0019722c78a4ce91ef094e2778aeb1be1528 100644 GIT binary patch literal 8401 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 literal 3357 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 n