fltk/documentation/CHANGES

412 lines
22 KiB
Plaintext
Raw Normal View History

Fltk modification history <pre>
9/22/98: uses X regions for update
9/16/98: added Fl_Widget::output(), works like inactive but draws normally
9/15/98: multi-browser has some keyboard navigation
9/10/98: fl_ok, fl_cancel, fl_yes, fl_no pointers added to change language
9/09/98: default_font() & default_size() added, made style demo
9/09/98: fixed so child windows activate/deactivate correctly
9/08/98: does not set colormap, relies on WM_COLORMAP_WINDOWS working
9/08/98: added default_box, _font, _size to Fl_Input & Fl_Browser
9/04/98: Fl_Tabs changes cursor to show what you can move
9/03/98: child windows respond to FL_SHOW/FL_HIDE (so OpenGL in Fl_Tabs works!)
9/03/98: Fl_Group::add() calls Fl_Group::remove() if child already in a group
9/02/98: moved textsize/font/color from Fl_Browser to Fl_Browser_.
9/02/98: most boxtypes draw inactive when widget is inactive
9/01/98: Fl_Browser can store a void* data() value with each line
9/01/98: added Fl_Browser_::has_scrollbar(uchar)
8/31/98: Fl_Valuator step 'A' value is now a double instead of int
8/27/98: transparecy in Fl_Pixmap handled correctly! (X only)
8/26/98: fl_rotate(0,90,180,270,-90) fixed to not have math rounding errors
8/26/98: added fl_point and fl_begin/end_points drawing functions
8/24/98: Added ability to #define WINDOWS_STYLE in config.h (try it)
8/24/98: Made default color be 75% gray to match KDE & Gnome (and Windows)
8/23/98: All widgets draw their labels gray if inactive (try inactive demo)
8/23/98: Fl_Color, Fl_Font, Fl_Boxtype, Fl_Labeltype enumerations
(this may break some existing code and need casts added)
8/21/98: filename_list() and filename_isdir() made public and documented
8/21/98: fl_draw_image will use 64 bit data types if available (Cray fix)
8/18/98: fluid can set the output file names (on preferences panel)
8/18/98: fluid lets you set textfont() and textsize() of Fl_Menu_ widgets
8/16/98: Added Fl_Scrollbar, and used for Fl_Browser & Fl_Scroll
8/14/98: Fluid didn't put variable into .h file if 'o' variable not needed
8/14/98: Vastly improved display on MSWindows in 8-bit mode, matches X 8bit mode
8/11/98: fixed stupid error that broke the menus on MSWindows
8/11/98: Fl::args(a,b,&i,c) no longer depends on initial value of i
8/10/98: fixed the mouse position during grab() on MSWindows!
8/10/98: some bugs with resizing in fluid fixed, does not raise panel
8/10/98: Fl::event_key() returns unshifted (lowercase) keysym always
8/09/98: Tested on NT, compilation errors there fixed
8/07/98: Fl_Scroll can force scrollbars on at all times (add 4 to type())
8/07/98: renamed one of the Fl_Menu_Item methods from "popup" to "pulldown"
8/06/98: you no longer have to call show() on child windows!!!
8/06/98: added move() to Fl_Browser (Curtis please test!)
8/06/98: Some fixes to resizable() handling, it does not need to be a child
8/06/98: & in Fl_Choice menu item is not drawn in the widget itself
8/05/98: Fl_Menu_Button::type(POPUP) allows box() to work for menu
8/04/98: fixed Fl_Menu_Button to not call menu item twice
7/30/98: Fl_Browser scrolls to bottom when add() is done
7/30/98: fixed some bugs with the horizontal scrollbars in Fl_Browser_
7/29/98: kludge so it can simulate MSWindows menus (try the menubar demo)
7/27/98: you can set a menu's boxtype & color! Try it in fluid
7/26/98: float/int input fields do not prevent letters from being shortcuts
7/26/98: fluid reads .xpm and .xbm files with comments inserted at start
7/25/98: added fl_password() popup utility
7/25/98: added horizontal scrollbar to Fl_Browser
7/25/98: fixed fluid crash on startup (Fl::get_system_colors opens display)
7/18/98: new menu behavior so moving mouse does not wreck keyboard navigation
7/17/98: added Fl::own_colormap() and Fl::get_system_colors() init functions
7/16/98: fixed overlay on Reality Engine
7/14/98: fl_begin_offscreen() clears clip region, fl_end_offscreen restores it
7/14/98: uses gettimeofday() instead of times() (faster & more portable?)
7/10/98: fl_color() and gl_color() work in the overlays!
7/09/98: inverted meaning & default of the FL_ALIGN_WRAP bit (INCOMPATABLE!)
7/08/98: fixed (brute force) the titlebar & grab during menus on MSWindows
7/08/98: shortcuts fixed so they work when mouse is not pointing at any window
7/07/98: fixed FL_NO_LABEL and some other symbols output by fluid
7/06/98: Fl_Gl_Window overlay was missized if window resize before redraw_overlay
7/06/98: Fl_Window::resize() changes size immediately, does not wait for X
7/05/98: Fl::wait(), Fl::check(), and Fl::run() return 0 when no windows
6/30/98: buttons and toggle/radio menu items write value() to .fl file
6/29/98: made output of fluid more readable
6/29/98: fluid writes callbacks inside a class as real (not static) methods
6/27/98: added classes to fluid
6/24/98: emulated Fl::set_atclose(), lots of programs use it!
6/24/98: Added Fl_Pack. Fl_Scroll still needs some work to use this
6/23/98: Removed (most of) the unused-variable errors in fluid output
6/22/98: Renamed Fl_Menu to Fl_Menu_Item (typedef for back compatability)
6/22/98: Added @|| symbol so you have complete tape deck controls
6/22/98: MSWindows menus now come out atop the icon dock
6/22/98: FL_MENU_RADIO draws diamond rather than square
6/22/98: X fl_polygon changed to match the MSWindows version
6/19/98: Fixed bug on Solaris (sprintf in fl_font.C)
6/18/98: Fixed Alt-GR on foreign keyboards under MSWindows
6/17/98: added Fl_Menu_::global() so shortcuts work everywhere
6/16/98: Tried to make Fl_Scroll better, children can change their size
6/15/98: Fl_Window::callback replaces Fl::atclose (which is deleted)
6/15/98: FL_INT_INPUT & FL_FLOAT_INPUT just draw text red if it is illegal
6/15/98: Fl_Valuator::format() is a virtual function
6/14/98: fixed fl_draw_image on 8-bit truecolor visuals
6/10/98: simplified forms compatability: Fl_Group::end_forms() replaces stuff
6/09/98: Added "New" to fluid, fixed some bugs with redisplay
fltk-0.99
6/07/98: fluid no longer puts 'if (!w) {...}' around code for window w
6/07/98: Can compile shared library on Linux (matches Debian release)
6/05/98: added Fl_Menu_::popup(x,y,w,h) and Fl_Menu_Button::popup()
6/05/98: greatly speeded up truecolor visuals by not doing XAllocColor
6/03/98: zero-sized fl_clip() works
6/02/98: fluid cut file moved from /tmp to $HOME for security reasons
6/01/98: MSWindows color palette support on 8-bit displays
5/27/98: fluid can set shortcuts of buttons and menu items
5/26/98: integer (instead of string) button & menu shortcuts (INCOMPATABLE)
5/23/98: cut/paste for MSWindows
5/23/98: detects if OpenGL overlay exists on MSWindows
5/22/98: fixes for IRIX 6.2 n32 compiler
5/20/98: added code, codeblock, decl, and declblock to fluid
5/20/98: you can pick the items off of menus in fluid
5/19/98: fluid can now create menus & menu items!
5/19/98: Fl_Bitmap, Fl_Pixmap, Fl_Image now have label(Fl_Menu) method
5/17/98: Can use hardware overlay planes in Fl_Gl_Window on MSWindows
5/16/98: Fl_Light_Button uses down_box() to determine light shape
5/13/98: fixed many annoying bugs on MSWindows
5/10/98: new Fl::grab(Fl_Widget*) replaces modal(Fl_Widget*)
5/05/98: Fl_Gl_Window does not use scissor anymore
5/04/98: changed Fl_Color_Chooser to use floating point rgb values
5/04/98: added Fl_Browser @-commands to set font, color, size, background
5/04/98: added Fl_Browser::column_widths() for multi-column display
5/04/98: renamed Fl_Browser::specialkey() to Fl_Browser::format_char()
5/04/98: fixed float/int input where they never work after 1st illegal char.
5/03/98: fixed bitmaps on MSWindows
4/27/98: renamed Fl_Slider::size() to Fl_Slider::slider_size()
4/27/98: renamed fl_pixmap_size to fl_measure_pixmap
4/27/98: added labeltype measure function, tabs & menus use it
4/26/98: added labeltype/font/size/color to Fl_Menu
4/26/98: '_' in menus replaced with FL_MENU_DIVIDER bit (!!! INCOMPATABLE !!!)
4/21/98: swapped OK/cancel positions on popups to match gtk/gnome
4/20/98: added Fl_Window::non_modal()
4/19/98: '/' in menus replaced with FL_SUBMENU bit (!!! INCOMPATABLE !!!)
4/16/98: fluid puts extra_code for windows & groups *after* adding children
4/15/98: fixed numericsort to work for more than 10 digits.
4/15/98: merges adjacent mouse-moved events (should have motion history)
4/15/98: event mask for children windows left on (helps for using fl_xevent)
4/12/98: added Fl_Input::static_value(x) that avoids doing malloc & copy
4/12/98: you can insert ^@ (nul) into Fl_Input, Fl_Output, and cut/paste
4/12/98: secret fl_encoding variable may be set to override iso8859-1
4/11/98: added FL_ALIGN_NOWRAP & FL_ALIGN_CLIP
4/10/98: MSWindows supports OpenGL!
4/10/98: uses transient_for property for modal windows
4/05/98: added Fl::modal(window) to fix menu problems
4/05/98: better drawing of dials
3/22/98: replaced Fl::abort() with: Fl::warning(), Fl::error(), Fl::fatal()
3/22/98: added Fl::set_fonts() to get all the fonts from server
3/21/98: really neato new color chooser
3/17/98: new fl_draw_image with callback for arbitrary image data formats
3/17/98: mucho improvement in the MSWindows port, it is now usable!
3/16/98: new fl_show_colormap (single pop-up array of all colors)
3/13/98: fixed borders under KDE's kwm.
3/13/98: Uses X regions to update window, new fl_clip functions
3/08/98: Round buttons now draw much more attractively
3/05/98: Fl_Tabs draws the tabs much nicer
3/05/98: Fl_Input now does compose-character sequences
3/04/98: Fluid: changing objects with panel open saves changes to old objects
3/03/98: Uses select() instead of poll() even on sgi (fixes Irix 6.3)
2/26/98: Added Fl::get_key(n), Fl::event_key(n), Fl::event_state(n)
2/23/98: Added Fl_Tile (maximum of 2 across and 2 down children)
2/07/98: Esc key (if not used for anything else) will close window
2/07/98: Adds ":0.0" to -display if missing
2/06/98: Rearrangement to make a MSWindows port easier
2/02/98: Does not die on X errors
2/01/98: Controls for valuators added to fluid
2/01/98: Added Fl_Value_Input and Fl_Value_Output
1/29/98: Added Fl_Valuator base class for sliders, dials, etc
1/29/98: fixed colormap-allocation hang on Solaris
1/27/98: fixed the red-window problem in fluid on IRIX 6.2
1/26/98: changed float to double everywhere to shut MSVC++ up
1/23/98: Fl_Group does begin() in constructor (dangerous?)
1/23/98: Greatly simplified how to subclass groups and redraw them
1/22/98: Added Fl_Widget::damage(bits,x,y,w,h) to do clipped redrawing
1/22/98: New Fl_Bitmap::draw() methods (and Fl_Pixmap, Fl_Image)
1/22/98: Word wrap in the labels
1/21/98: Renamed Fl_Object to Fl_Widget, to match common toolkit terminology
fltk-0.98
1/17/98: renamed the library to fltk
1/14/98: added fl_curve
1/14/98: fl_arc really works (finally!) no more 16-sided circles
1/14/98: replaced fl_end() with fl_end_line(), etc
1/12/98: Does not crash with very large WM_COMMAND strings
1/12/98: Cleaner menus that work ok w/o overlay or save-behind
1/12/98: Fluid objects may be named "a.x" or "a->x" or similar
1/12/98: Fl_Double_Window supported in fluid with a kludge
FL-0.98
1/9/98: Fl_Group now uses array, eliminated next(), prev(), first(), last()
1/7/98: Removed many uninteresting test programs to make distribution smaller
1/7/98: Removed Fl_Window::set_atclose(), use Fl::set_atclose() instead
1/6/98: Reduction of number of .html files used for documentation
1/6/98: added event_is_click(), renamed reset_clicks to event_is_click(0)
12/15/97: Huge improvements to menus: can pop up with any item selected
and Fl_Choice uses this to pop up lists with arrow on item,
underscore shortcuts added to Fl_Menu_Button and Fl_Choice
and Fl_Menu_Bar.
12/12/97: Fl_Gl_Window::invalidate() added, use this instead of valid(0)
12/11/97: New navigation keys in the menu code!
12/11/97: Microsloth-style underscore shortcuts on all buttons
12/07/97: Fixed Xdbe (it sent backbuffer rather than window toXDBEswap...())
12/05/97: mandelbrot demo created
12/05/97: Fl_Window::make_current() for incremental redrawing added
12/05/97: fl_overlay_rect() and fl_overlay_erase() to xor selection box
12/02/97: Shortcut keys to scroll browser up/down (finally!)
FL-0.97
11/30/97: Many bugs with overlay + Xdbe windows fixed
11/30/97: Numeric keypad types numbers even if NumLock off (not portable?)
11/28/97: Fluid frees unused images
11/25/97: Added Fl_Object::size_range(...) to control resizing
11/25/97: Fluid can label objects with xbm, xpm, or gif images!
11/24/97: FL_DRAG & FL_MOVE set Fl::event_time()
11/23/97: minimal update for sliders (less blinking of large sliders)
11/17/97: renamed Fl_Input_::handle to handletext to prevent C++ warnings
11/17/97: minimal update for Fl_Browser (less blinking)
11/17/97: ability to set and check edge thickness of box types
11/16/97: Added Xdbe (double buffer extension) support to Fl_Double_Window
11/11/97: fixed crash if FL_RELEASE deletes Fl::pushed() object
11/11/97: ./configure makes a config.h, detects many more things
11/10/97: can use 32bit visuals with xrgb data layout
11/10/97: restored code for arbitrary 32 bit visual color masks
11/10/97: fl_draw_pixmap shares buffer with fl_draw_image
FL-0.96
11/06/97: Uses GNU ./configure script to build
11/05/97: Made fluid work with Fl_Tabs
11/03/97: Fl_Browser_ has show_scrollbar() virtual func for subclass
to override to change type of scrollbar or force it on
11/03/97: Fl_Slider::slider(uchar) attribute to set box type for slider
11/03/97: no limit on how many points are sent to fl_vertex()
11/03/97: added FL_OVAL_BOX, FL_OFLAT_BOX, FL_OSHADOW_BOX, FL_OVAL_FRAME
10/29/97: made fluid read fd files from Forms and XForms fdesign (sort of)
10/28/97: fluid works! I am ready to release it. Needs directions
10/28/97: renamed Fl_Text to Fl_Output
10/28/97: added Fl_Text_Adjuster
10/28/97: fixed double window crash when fl_gc is not set correctly
10/22/97: made Fl_Text be a subclass of Fl_Input_
10/16/97: mucho work on fluid! almost there...
10/15/97: added Fl_Fill_Dial
10/15/97: changed fl_circle to use XDrawArc
10/14/97: minimal update of Fl_Input, to reduce blinking
10/14/97: Removed all uses of fl->, replaced with Fl:: "namespace"
10/14/97: moved setting of colors, fonts, boxtypes, labeltypes to Fl::
10/14/97: fixed the gray ramp to really go from black to white
10/10/97: Cleanup of button and button subclasses
10/9/97: Changed "style" to "font" for clarity
10/8/97: Added engraved/embossed/shadow label types
10/6/97: Added when() to many objects
10/1/97: Fl_Overlay_Window will use hardware overlay if possible
10/1/97: Fixed shortcuts for Fl_Choice to do redraw
9/29/97: Much better fl_draw_image for 8-bit visuals
9/26/97: Fixed gl_color() when drawing into gl overlay
9/25/97: Fl_Gl_Window simulates overlay if hardware not provided
9/22/97: Added FL_ACTIVATE/DEACTIVATE/HIDE/SHOW event types
9/18/97: Click/shift+click on Fl_Adjuster moves it by increments
9/18/97: cleanup & simplification of window creation and drawing code
9/18/97: fl_draw_into(xid), Fl_Window::make_xid(vis) added
9/18/97: Fixed background pixel support to not try so hard
FL-0.95
8/25/97: Forms file chooser is emulated using libFL file chooser
8/25/97: Uses background_pixel if possible to speed up box drawing
8/23/97: XForms .86 compatability added, required many changes
8/22/97: Added fl_draw_pixmap and Fl_Pixmap (simple version only!)
8/19/97: The BIG FLIP! Turned coordinate system over so +y is down
8/08/97: Glut compatability added
8/06/97: added fl_color(r,g,b) to set rgb color to draw in
8/05/97: added fl_draw_image for color pictures (!)
8/03/97: made x.H and put X-specific fl variables in there
7/27/97: greately improved fl_font_enumerate to return sizes
7/26/97: Much cleanup, rearrangement of function and header file names
7/20/97: Added overlay drawing ability to Fl_Gl_Window
7/17/97: Celebrated Titanic being done! Well, mostly...
6/25/97: Make -DUSE_X true all the time, GL fl_draw functions removed
6/10/97: fluid finally produced code that compiles! Still a long
ways to go...
6/8/97: Added fl->add_xevent_handler so your program can get at those
XExtension events. Rewrote fl->selection_owner so it uses
this, mostly to test it. Added Fl_Implementation.H header
to src to clean up public header files.
6/5/97: Added Fl_Window::show(argc,argv,i) so that standard switches
can be passed to the main window in a window-system
independent way. Removed xclass() property from Fl_Window,
as this replaces it.
6/5/97: Deferred XMapWindow till fl->flush(), to allow above to work
4/15/97: needdraw() renamed to damage(), for clarity.
4/15/97: code rearranged so you don't have to link -lGL if you don't use it
4/15/97: #ifdef MESA will cause Fl_Gl_Window to take advantage of
the fact that the back buffer is unchanged by damage.
4/18/97: Can use poll() instead of select(). To make your machine
use this, see Fl_Poll.H and turn on USE_POLL and turn off USE_SELECT.
FL-0.94
3/26/97: Fl_Browser_ (and Fl_Browser) preserves the position(), even
if it is below the data.
3/26/97: Renamed resizebox() to resizable()
3/25/97: Made all Fl object instance variables be static.
3/23/97: Added focus(), belowmouse(), pushed(), and selection_owner()
tracking to the Fl object. Since only one object can be this
at a time, this gets rid of redundant storage in every object
such as the pushed_ field that was on the buttons. Also
greatly simplified Fl_Group.
3/21/97: Added glXReleaseBuffersMESA if #ifdef MESA
3/7/97: Renamed some source files to avoid name conflicts on MSWindows.
3/5/97: Fl_Menu returns item selected, caller now does the callback.
3/5/97: Renamed Fl_Menubar to Fl_Menu_Bar.
3/5/97: Improvements to how Fl_Input scrolls.
2/11/97: Installs the window's colormap when the mouse enters window.
2/5/97: Cleaned up the close and exit behavior. The only way to stop
the close box from closing a window is to subclass it and
change the response to FL_CLOSE. The callback is done,
however, before closing the window. Added exit() and error()
methods to Fl class, which you can "override" by defining
your own versions in your source code.
1/24/97: Restored setting of XSizeHints (many window managers ignore
the Motif window information).
FL-0.93
1/23/97: Got it to compile and run (with -DNO_GL) on Dec Alpha Unix!
Mostly this meant getting rid of trailing commas on enum lists.
1/20/97: DDForms-compatable resize behavior, where it scales
everything inside the resizebox. Also fixed resizing of a
group inside a window.
1/12/97: typing a shift key on some Xlib versions no longer produces
a character. Fixed display of characters shown as \xxx.
1/12/97: Got it to compile and run (with -DNO_GL) on Alpha Linux.
1/11/97: Fl_Browser now has a topline() attribute that you can get
and set, as well as the Fl_Browser_::position() attribute.
topline() is in lines, position() is in pixels.
1/11/97: General code clean up and size reduction.
1/11/97: Fl_Group::focus(x) fixed to always work
1/8/97: fl_file_chooser uses the scandir(), much faster!
1/7/97: Removed setting of XSizeHints
12/96: More work on fluid
FL-0.92
10/31/96: New fl->wait() and fl->check() handling so that flip
book program would work.
10/20/96: Removed calls to glFlush when not in a glx context. This
bug caused Mesa 2.0 to crash. Fixing it required extensive
rewriting of the Fl_Window base classes and virtual functions.
10/../96: Lots of work done on writing fluid
10/09/96: Added the Fl_Input_ base class.
09/25/96: All constructors of the form Fl_x(x,y,w,h,label=0).
09/16/96: More changes to Fl_Input, fixed the scrolling behavior,
made it not crash if you paste huge amounts of text in.
09/11/96: Fixed minimal update when you resize a subwindow.
09/10/96: Constructor no longer does add().
09/07/96: FL_SHORTCUT is sent mouse window rather than focus window
09/07/96: Added ^Z=undo, ^X=cut, ^C=copy ^V=paste to Fl_Input, and
made double-click select words and triple-click select lines.
08/23/96: Tries to send maximum size in XSizeHints
FL-0.91
08/21/96: fluid uses Fl_Overlay_Window
08/20/96: Added Fl_Overlay_Window
08/19/96: Added Fl_Double_Window to provide double buffering
08/19/96: Documentation for subclassing windows
08/15/96: Fixed bugs with overriding resize() on Fl_Window
08/15/96: Erases menus before unmap, to fix colormap flash on O2
08/14/96: Replaced <strings.h> with <string.h>
08/14/96: Added makeinclude.svr4 (tested on a "SINEX-Z" os)
08/14/96: Added scandir.c from the GNU C library for SVR4
08/13/96: makefiles have LIBNAME, VERSION, and REVISION switches
08/13/96: added (completely untested!) makeinclude.linux.so to make
a shared library. I recommend however that if you are making
programs for any kind of distribution that you use the static
version of the library, rather than relying on users correctly
installing the shared one!
08/13/96: fixed *many* occurances of wrong scoping of for(int x;;)
08/13/96: patched out warning messages for enumerations from gcc.
08/13/96: fixed crash for fixed-pitch XFonts (per_char ptr is NULL)
08/13/96: some fixes to Fl_Chart so output matches Forms.
08/13/96: Insure radio button not pressed if mouse released outside it
08/13/96: Clicking in the value box of a Value_Slider does not move slider.
08/13/96: Added switches so arrows can't navigate between text fields
08/13/96: Initializes some stuff it should have in Fl_Menu_Button.
08/13/96: Non-multiline Fl_Inputs do not treat ^J characters as
special, for instance ^K always deletes to the end even if
there are imbedded newlines.
08/13/96: Tab inserts a tab in Fl_MultiLine_Input. Use Ctrl+Tab to navigate
08/10/96: renamed from libFL to libFl to avoid existing SGI library
08/10/96: the static Fl_Object method readqueue has been moved to
a method on the Fl object.
08/10/96: the static Fl_Object method draw_box() renamed fl_box() and
put in Draw.H
08/10/96: fl_label_bitmap has been renamed fl_draw and put in Draw.H
08/10/96: fixed the deactivated menu items to not draw over the right edge.
08/09/96: fl_clip works in both X and GL windows when USE_X is defined.
08/09/96: the static Fl_Object methods event_inside and test_shortcut
have been moved to methods on the Fl object.
The static Fl_Object method shortcut_text has been renamed
to a function fl_shortcut_text and put in the Draw.H header.
08/09/96: many internal changes to Fl_Group and Fl_Window to support
minimal update. expose() is no longer a virtual function and
is private to Fl_Window. Fl_Object::flush() and qredraw()
deleted. New methods: draw_child(), redraw_child(), and
done_drawing(), for calling by draw() implementations.
See (not yet written) drawing documentation.
08/05/96: to make it possible to do minimal update, Fl_Group must draw
everything outside of the object's bounding box. So draw_label()
changed to only draw FL_INSIDE or FL_CENTER alignements. New
method draw_outside_label() added to be called by Fl_Group
to draw the other labels. This simplified Fl_Slider and
Fl_LightButton some, too.