Blame CHANGES_1.0

Packit 328d5c
Changes in FLTK 1.0, up to FLTK 1.0.11 (May 7, 2001)
Packit 328d5c
Packit 328d5c
CHANGES IN FLTK 1.0.11
Packit 328d5c
Packit 328d5c
	- CHANGED THE DEFAULT RUN-TIME LINKING TO "MULTITHREADED
Packit 328d5c
	  DLL". You'll need to change your project settings to
Packit 328d5c
	  use this as well or you'll get errors.
Packit 328d5c
Packit 328d5c
	- Added new --disable-gl option to configure script.
Packit 328d5c
Packit 328d5c
	- Added new const const pointer versions of pixmap
Packit 328d5c
	  functions to eliminate an annoying pointer warning
Packit 328d5c
	  message that was generated by the Sun and other C++
Packit 328d5c
	  compilers.
Packit 328d5c
Packit 328d5c
	- Eliminated all "var hides class::var" warnings.
Packit 328d5c
Packit 328d5c
	- Eliminated all "string literal converted to char *"
Packit 328d5c
	  warnings.
Packit 328d5c
Packit 328d5c
	- OS/2 updates from Alexander Mai.
Packit 328d5c
Packit 328d5c
	- Tidied up the HTML documentation to be more standards
Packit 328d5c
	  compliant.
Packit 328d5c
Packit 328d5c
	- Compiling with -DBOXX_BUGS will work around some
Packit 328d5c
	  problems with the newest X drivers that BoXX delivers,
Packit 328d5c
	  the problems all affect use of Overlays for normal X
Packit 328d5c
	  drawing and OpenGL drawing. Normal compilation is
Packit 328d5c
	  unchanged.
Packit 328d5c
Packit 328d5c
	- The file chooser buttons use user_data() rather than
Packit 328d5c
	  the label to decide what to do, allowing the label to
Packit 328d5c
	  be somewhat cleaner.
Packit 328d5c
Packit 328d5c
	- Selection color on X changed to blue, to match what
Packit 328d5c
	  happens on Windows now.
Packit 328d5c
Packit 328d5c
	- Added support for AIX (static library only).
Packit 328d5c
Packit 328d5c
	- Added support for SunOS 4.x
Packit 328d5c
Packit 328d5c
	- Now process WIN32 WM_ACTIVATEAPP message to reset the
Packit 328d5c
	  key and button states in Fl::e_state.
Packit 328d5c
Packit 328d5c
	- Fl_has_idle only tested N-1 callbacks and missed one.
Packit 328d5c
Packit 328d5c
	- Restored WM_SYNCPAINT handling under WIN32; this fixed
Packit 328d5c
	  a refresh bug under some versions of Windows.
Packit 328d5c
Packit 328d5c
	- Check for OpenGL headers before checking to see if
Packit 328d5c
	  OpenGL is supported.  This should eliminate compile
Packit 328d5c
	  errors due to missing non-FLTK header files...
Packit 328d5c
Packit 328d5c
	- Add -D_INCLUDE_POSIX_SOURCE option when compiling with
Packit 328d5c
	  the HP compilers.
Packit 328d5c
Packit 328d5c
	- Replaced remaining _WIN32 symbols with WIN32
Packit 328d5c
Packit 328d5c
	- Removed reference to unused GL/glu.h header file, which is missing on
Packit 328d5c
	  some Linux systems.
Packit 328d5c
Packit 328d5c
	- Fl_Gl_Window has a new method to allow you to get and set the context:
Packit 328d5c
Packit 328d5c
	      void Fl_Gl_Window::context(void*, int destroy = 0)
Packit 328d5c
	      void* Fl_Gl_Window::context() const;
Packit 328d5c
Packit 328d5c
	  Return or set a pointer to the GLContext that this window is
Packit 328d5c
	  using. This is a system-dependent structure, but it is portable to
Packit 328d5c
	  copy the context from one window to another. You can also set it to
Packit 328d5c
	  NULL, which will force FLTK to recreate the context the next time
Packit 328d5c
	  make_current() is called, this is useful for getting around bugs in
Packit 328d5c
	  OpenGL implementations.
Packit 328d5c
Packit 328d5c
	  If destroy_flag is true the context will be destroyed by fltk when
Packit 328d5c
	  the window is destroyed, or when the mode() is changed, or the next
Packit 328d5c
	  time context(x) is called.
Packit 328d5c
Packit 328d5c
	- Some cleanup of Fl_Gl_Choice to move most of the system dependent
Packit 328d5c
	  #ifdefs into Fl_Gl_Choice.cxx.
Packit 328d5c
Packit 328d5c
	- Fl_Gl_Window does not set drawbuffer(BACKBUFFER) for
Packit 328d5c
	  single-buffered windows.
Packit 328d5c
Packit 328d5c
	- Fl_Input::replace(...) correctly updates the display
Packit 328d5c
	  if the replaced region does not include the mark,
Packit 328d5c
	  point, or selected region.
Packit 328d5c
Packit 328d5c
	- Added Fl::add_check(...), Fl::remove_check, and
Packit 328d5c
	  Fl::has_check. These are similar to idle callbacks but
Packit 328d5c
	  are only called just before it waits for new events.
Packit 328d5c
	  They can be used to watch for changes in global state
Packit 328d5c
	  and respond to them.
Packit 328d5c
Packit 328d5c
	- "accu-timer": some changes to repeat_timeout that seem
Packit 328d5c
	  to make it accurate on Unix and WIN32 at speeds up to
Packit 328d5c
	  500000 timeouts/second (and 700000 on Linux), and
Packit 328d5c
	  within about .001% as accurate as the system clock.
Packit 328d5c
Packit 328d5c
	- Fix to Fl_Valuator::step() by Guillermo Andrade.
Packit 328d5c
Packit 328d5c
	- Fixed the FLUID write-menu bug introduced in 1.0.10
Packit 328d5c
Packit 328d5c
	- Fl::flush() now calls GdiFlush() under WIN32 to
Packit 328d5c
	  ensure that all graphics are drawn.
Packit 328d5c
Packit 328d5c
	- fl_curve() now uses a much better algorithim to figure
Packit 328d5c
	  out how many pieces to cut the curve into.
Packit 328d5c
Packit 328d5c
	- FLUID now uses GetTempPath() under WIN32 to determine
Packit 328d5c
	  where to store the clipboard.
Packit 328d5c
Packit 328d5c
	- Right-ctrl does not delete selected text in Fl_Input,
Packit 328d5c
	  until you type a composed character.
Packit 328d5c
Packit 328d5c
	- Added simple FLTK and FLUID manual pages.
Packit 328d5c
Packit 328d5c
	- Fl_Gl_Window leaked memory under WIN32.
Packit 328d5c
Packit 328d5c
	- The colbrowser demo was missing an include file when
Packit 328d5c
	  compiled under OS/2.
Packit 328d5c
Packit 328d5c
Packit 328d5c
CHANGES IN FLTK 1.0.10
Packit 328d5c
Packit 328d5c
	- Added a strcasecmp() function to FLUID; AIX doesn't
Packit 328d5c
	  have it.
Packit 328d5c
Packit 328d5c
	- Bug #115509: Fl_Scroll not repainting background.
Packit 328d5c
Packit 328d5c
	- Updated the configure script and makeinclude.in file
Packit 328d5c
	  to work with the Sun PRO compilers.
Packit 328d5c
Packit 328d5c
	- Disabled the WIN32 async socket select code by default:
Packit 328d5c
	  it doesn't seem to work anymore...
Packit 328d5c
Packit 328d5c
	- Fl::below_mouse() was incorrectly clearing e_is_click;
Packit 328d5c
	  this prevented any double-clicks from getting
Packit 328d5c
	  through...
Packit 328d5c
Packit 328d5c
	- No longer clear Fl::keysym on every event, this makes
Packit 328d5c
	  better back compatability and fixes Win2000
Packit 328d5c
Packit 328d5c
	- FLUID now restores which tab in an Fl_Tabs was
Packit 328d5c
	  selected when loads .fl files.
Packit 328d5c
Packit 328d5c
	- Hack to fix the annoying "raise another application
Packit 328d5c
	  when a modal window is closed" problem on WIN32.
Packit 328d5c
Packit 328d5c
	- Fl_Tabs now draws the background behind the tabs.
Packit 328d5c
Packit 328d5c
	- Fl::set_fonts() on WIN32 fixed to work before the
Packit 328d5c
	  first window is shown.
Packit 328d5c
Packit 328d5c
	- CUA function keys, code submitted by George Yohng
Packit 328d5c
	  <yohng@drivex.dosware.8m.com>
Packit 328d5c
Packit 328d5c
	- Another attempt to get glut.h to work on WIN32.
Packit 328d5c
Packit 328d5c
	- Fl_Menu_::add() ignores '&' signs when comparing menu
Packit 328d5c
	  items, so you don't have to make the shortcuts the
Packit 328d5c
	  same all the time.
Packit 328d5c
Packit 328d5c
	- Fixed bit-flipping patterns in WIN32 bitmap code.
Packit 328d5c
Packit 328d5c
	- Fixed size of data written by gif images to .C files
Packit 328d5c
Packit 328d5c
	- Menu titles and buttons in the menubar can be images
Packit 328d5c
	  (allows it to be used as a toolbar)
Packit 328d5c
Packit 328d5c
	- Reads selectBackground from the xrdb database to set
Packit 328d5c
	  the selection color. Adding this to your .Xdefaults
Packit 328d5c
	  will make fltk and Motif programs look much more
Packit 328d5c
	  Windoze-like:
Packit 328d5c
Packit 328d5c
	      *selectForeground: white
Packit 328d5c
	      *selectBackground: #000080
Packit 328d5c
Packit 328d5c
	- FL_WHEN_RELEASE on Fl_Input will now do the callback
Packit 328d5c
	  when the input field is hidden, for instance when it
Packit 328d5c
	  is on a tab and the user switches to another tab.
Packit 328d5c
Packit 328d5c
	- Fl_Gl_Window with an overlay on X always resized any
Packit 328d5c
	  child windows even if you turned resizable() off
Packit 328d5c
	  because it turned it back on to resize the overlay
Packit 328d5c
	  window. This patch avoids changing resizable().
Packit 328d5c
Packit 328d5c
	- Fix so multiple Fl::add_idle() calls works
Packit 328d5c
Packit 328d5c
	- The input focus got messed up if you called
Packit 328d5c
	  Fl_Tabs::value(x) and there was something that took
Packit 328d5c
	  focus on an earlier tab.
Packit 328d5c
Packit 328d5c
	- Removed some (not all) of the warnings when compiled
Packit 328d5c
	  with -Wwrite-strings, this should also get similar
Packit 328d5c
	  warnings Solaris produces.
Packit 328d5c
Packit 328d5c
	- Made Fl_Browser not hide the Fl_Widget::show() method
Packit 328d5c
Packit 328d5c
	- Changes & additions for OS/2 from Alexander Mai
Packit 328d5c
Packit 328d5c
	- Patch from Mike Lindner to make the turning on/off of
Packit 328d5c
	  scrollbars on Fl_Scroll smarter.
Packit 328d5c
Packit 328d5c
	- Added missing FL_EXPORT for Fl_Valuator::format()
Packit 328d5c
Packit 328d5c
	- Shortcuts for "buttons" in a Fl_Menu_Bar work again.
Packit 328d5c
Packit 328d5c
	- Fix for cut/paste support and Xdnd.
Packit 328d5c
Packit 328d5c
	- Shortcuts for submenu titles in a menubar pop up the
Packit 328d5c
	  submenu (rather than calling the callback)
Packit 328d5c
Packit 328d5c
	- Added documentation for GL_SWAP_TYPE
Packit 328d5c
Packit 328d5c
	- Buttons with box(FL_NO_BOX) did not draw.  Apparently
Packit 328d5c
	  they did in older versions of fltk, I restored this.
Packit 328d5c
	  (bug 108771)
Packit 328d5c
Packit 328d5c
	- Removed 8-bit colormap drawing code that was not doing
Packit 328d5c
	  anything in fl_draw_image due to the colormap
Packit 328d5c
	  allocation changes.  I also made fl_color(r,g,b)
Packit 328d5c
	  actually allocate the requested color rather than the
Packit 328d5c
	  nearest fltk color-cube color (this is only done for
Packit 328d5c
	  the first color that maps to a given entry in the fltk
Packit 328d5c
	  color cube), the result is that pixmaps with a small
Packit 328d5c
	  number of colors are drawn much more accurately. The
Packit 328d5c
	  resulting code seems to produce better images and is a
Packit 328d5c
	  good deal smaller!
Packit 328d5c
Packit 328d5c
	- Fixed makeinclude.in so CFLAGS are used for c source
Packit 328d5c
	  code instead of CXXFLAGS. (bug 108694)
Packit 328d5c
Packit 328d5c
	- Better fix for gif files suggested by pauly (bug
Packit 328d5c
	  108770)
Packit 328d5c
Packit 328d5c
	- Performance of Fl_Gl_Window may be improved on some
Packit 328d5c
	  types of OpenGL implementations, in particular MESA
Packit 328d5c
	  or other software emulators, by setting the
Packit 328d5c
	  GL_SWAP_TYPE environment variable.  This variable
Packit 328d5c
	  declares what is in the back buffer after you do a
Packit 328d5c
	  swapbuffers:
Packit 328d5c
Packit 328d5c
	      setenv GL_SWAP_TYPE COPY
Packit 328d5c
Packit 328d5c
	      This indicates that the back buffer is copied to
Packit 328d5c
	      the front buffer, and still contains it's old
Packit 328d5c
	      data. This is true of many hardware
Packit 328d5c
	      implementations.  Setting this will speed up
Packit 328d5c
	      emulation of overlays, and widgets that can do
Packit 328d5c
	      partial update can take advantage of this as
Packit 328d5c
	      damage() will not be cleared to -1.
Packit 328d5c
Packit 328d5c
	      setenv GL_SWAP_TYPE NODAMAGE
Packit 328d5c
Packit 328d5c
	      This indicates that nothing changes the back
Packit 328d5c
	      buffer except drawing into it.  This is true of
Packit 328d5c
	      MESA and Win32 software emulation and perhaps some
Packit 328d5c
	      hardware emulation on systems with lots of memory.
Packit 328d5c
Packit 328d5c
	  All other values for GL_SWAP_TYPE, and not setting
Packit 328d5c
	  the variable, cause fltk to assumme that the back
Packit 328d5c
	  buffer must be completely redrawn after a swap.
Packit 328d5c
Packit 328d5c
	  This is easily tested by running the gl_overlay demo
Packit 328d5c
	  program and seeing if the display is correct when
Packit 328d5c
	  you drag another window over it or if you drag the
Packit 328d5c
	  window off the screen and back on. You have to exit
Packit 328d5c
	  and run the program again for it to see any changes
Packit 328d5c
	  to the environment variable.
Packit 328d5c
Packit 328d5c
	- Optimized colormap usage on 8-bit displays with
Packit 328d5c
	  images. New code only allocates colors as they are
Packit 328d5c
	  needed (still converts indexed images to full RGB and
Packit 328d5c
	  dithers, tho...)
Packit 328d5c
Packit 328d5c
	- Fixed .gif files in FLUID, they were broken by the fix
Packit 328d5c
	  for large .xpm files in version 1.0.9.
Packit 328d5c
Packit 328d5c
	- Fix for OpenGL hardware overlays with the transparent
Packit 328d5c
	  index != 0. Tested on the brand new HP Linux
Packit 328d5c
	  Workstations, this is the only bug encountered.  Both
Packit 328d5c
	  X and OpenGL hardware overlay works perfectly on
Packit 328d5c
	  these, though configue may not enable it by
Packit 328d5c
	  default...)
Packit 328d5c
Packit 328d5c
	- Fl_Choice and all other Fl_Menu_ subclasses draw the
Packit 328d5c
	  items using textcolor() as the default color of the
Packit 328d5c
	  text.
Packit 328d5c
Packit 328d5c
	- Fix suggested by Stuart Levy to fix scrolling when
Packit 328d5c
	  deleting items from the browser.
Packit 328d5c
Packit 328d5c
	- Replaced the -$(MAKEFLAGS) with $(MFLAGS) as per the
Packit 328d5c
	  gmake documenation.  Apperntly this works with other
Packit 328d5c
	  make programs and MAKEFLAGS is passed invisibly by
Packit 328d5c
	  gmake, though the documenation is not too clear...
Packit 328d5c
Packit 328d5c
Packit 328d5c
CHANGES IN FLTK 1.0.9
Packit 328d5c
Packit 328d5c
	- More documentation fixes.
Packit 328d5c
	- GLUT_STROKE_*_ROMAN in glut.h are defined as 0,1 on
Packit 328d5c
	  WIN32 to match the glut header files there.
Packit 328d5c
	- Added Fl::has_timeout() and Fl::has_idle() functions.
Packit 328d5c
	- Added new Fl::repeat_timeout() method that
Packit 328d5c
	  measures time from when the last timeout was called.
Packit 328d5c
	  This has slightly less overhead and allows accurate
Packit 328d5c
	  spacing of timeouts.
Packit 328d5c
	- More Cygwin changes
Packit 328d5c
	- FLUID could crash with identifiers with trailing
Packit 328d5c
	  whitespace.
Packit 328d5c
	- Fixed the XPM loading code in FLUID to handle files
Packit 328d5c
	  longer than 2048 lines.
Packit 328d5c
	- Added a bunch of missing FL_EXTERN's to glut.h to
Packit 328d5c
	  eliminate GLUT linking errors under WIN32.
Packit 328d5c
	- Fix for sliders so that clicking on one with a small
Packit 328d5c
	  (or zero) slider_size will not move the slider.
Packit 328d5c
	- fl_shortcut.cxx didn't export fl_old_shortcut() in the
Packit 328d5c
	  WIN32 DLL.
Packit 328d5c
	- Fixed xpaint link in the documentation.
Packit 328d5c
	- Included Fl_Input word-wrap fixes from Alexander Rabi
Packit 328d5c
	  Beels. This will not affect things much because
Packit 328d5c
	  word-wrap is normally disabled.
Packit 328d5c
	- Patch from Stuart Levy so the *last* widget in an
Packit 328d5c
	  Fl_Pack may be resizable.  This should be compatable
Packit 328d5c
	  because resizable didn't do anything before so there
Packit 328d5c
	  was no reason to set it.
Packit 328d5c
	- Cleaned up the timeout and Fl::wait() code.  The new
Packit 328d5c
	  code calls the clock function less than half as much,
Packit 328d5c
	  which results in a noticable performance improvement
Packit 328d5c
	  in some apps.
Packit 328d5c
	- Fl::wait(time) with a time greater than the system can
Packit 328d5c
	  handle (24.855 days on NT, the same on some Unix
Packit 328d5c
	  systems) will now act as though the time is infinity.
Packit 328d5c
	  Before it would do unpredictable things.
Packit 328d5c
	- "USE_POLL" now compiles and works, although it is
Packit 328d5c
	  disabled by default. poll() is an alternative to the
Packit 328d5c
	  UNIX select() call which is available on some version
Packit 328d5c
	  of UNIX and may be faster depending on the platform;
Packit 328d5c
	  try it by editing config.h.
Packit 328d5c
	- The WIN32 USE_ASYNC_SELECT code now does translation
Packit 328d5c
	  and dispatching of the select events; this makes
Packit 328d5c
	  Windows a lot happier.
Packit 328d5c
	- Added a check for an open display in Fl::wait() so
Packit 328d5c
	  that you don't need an open window under X to call it.
Packit 328d5c
Packit 328d5c
	  [changes in snapshot 2]
Packit 328d5c
Packit 328d5c
	- fl_old_shortcut() wasn't being exported in the WIN32 DLL
Packit 328d5c
	  project.
Packit 328d5c
	- Updated Cygwin and Mingw makefiles.
Packit 328d5c
	- Updated the BC++ project file.
Packit 328d5c
	- You can no longer insert control chars into Fl_Int/Float_Input.
Packit 328d5c
	- Fl_Multiline_Input now resets the horizontal position when
Packit 328d5c
	  focus is changed; this caused problems when multiple multiline
Packit 328d5c
	  widgets were used in an application.
Packit 328d5c
	- All handle() methods are now public, and all draw() methods are
Packit 328d5c
	  now protected in FLTK widgets.
Packit 328d5c
	- More fixes to the OpenGL overlay code on win32.  This now
Packit 328d5c
	  seems to work quite reliably on several different pieces of
Packit 328d5c
	  hardware. Apparently doing SetLayerPaletteEntries with a
Packit 328d5c
	  palette larger than the overlay size caused the drivers to
Packit 328d5c
	  screw up in unpredictable ways. Also SwapBuffers swapped both
Packit 328d5c
	  the overlay and main window, which is not what fltk's
Packit 328d5c
	  interface wanted, this was easy to fix however.
Packit 328d5c
	- Patch for full scrollbars so that clicking on them does not
Packit 328d5c
	  move anything.
Packit 328d5c
	- Documentation fixes.
Packit 328d5c
	- Better horizontal scrolling of Fl_Input when cursor is near
Packit 328d5c
	  the end of the line.
Packit 328d5c
	- Fl_Input::value(x) selects all text.
Packit 328d5c
	- Fl_Output and Fl_Multiline_Output would scroll to the end
Packit 328d5c
	  of the text.
Packit 328d5c
	- filename_isdir() now drops any trailing slash from the
Packit 328d5c
	  filename (needed for Windows)
Packit 328d5c
	- Added return type for main() function in line_style demo.
Packit 328d5c
	- Running FLUID with the "-cs" option writes the I18N message
Packit 328d5c
	  file.
Packit 328d5c
	- The WIN32 version of XParseGeometry() didn't initialize some
Packit 328d5c
	  variables.  This caused a compiler warning but did not affect
Packit 328d5c
	  the actual code.
Packit 328d5c
Packit 328d5c
	  [changes in snapshot 1]
Packit 328d5c
Packit 328d5c
	- EMail changes - fltk-bugs@easysw.com now officially
Packit 328d5c
	  fltk-bugs@fltk.org.
Packit 328d5c
	- The FLTK DLL project file didn't include fl_compose.cxx
Packit 328d5c
	- Dropped the GCC -fno-rtti option since it caused problems
Packit 328d5c
	  with existing programs.
Packit 328d5c
	- Moved the .fl rules back to the test directory.
Packit 328d5c
	- Fixed some makefile and spec file problems.
Packit 328d5c
	- Fixed hardware overlays.  The problem was the new
Packit 328d5c
	  fl_clipped() code, which tests against the current window
Packit 328d5c
	  size.  The hardware overlay code did not set the current
Packit 328d5c
	  window when drawing the overlay.  I needed hardware overlay
Packit 328d5c
	  for DD's code, I'm not sure if these fixes are good enough to
Packit 328d5c
	  enable this in our general release.  Hardware overlay still
Packit 328d5c
	  only works on SGI Irix.
Packit 328d5c
	- Some patches to turn off the MSVC++ -Oa (assumme no aliasing)
Packit 328d5c
	  optimization flag.  Suprisingly this only broke a few parts
Packit 328d5c
	  of fltk, or at least these are the only ones I found.
Packit 328d5c
	- Does not unmap child windows when the main window is
Packit 328d5c
	  iconized.  This reduces flashing when the window is
Packit 328d5c
	  deiconized.
Packit 328d5c
	- Fl::key() is set to zero by all events except key down/up.
Packit 328d5c
	  This will allow you to reliably test if an event or callback
Packit 328d5c
	  was produced by a keystroke.  Fixes the bug posted about
Packit 328d5c
	  stopping Escape from closing the window.
Packit 328d5c
	- User defined cursors on OpenGL windows slowed down NT a
Packit 328d5c
	  *LOT*.  Some attempts to fix this by turning off the cursor
Packit 328d5c
	  while drawing the window.
Packit 328d5c
	- Filename completion in the file chooser works better on NT.
Packit 328d5c
	  Typing TAB fixes the case of everything you typed to match
Packit 328d5c
	  the shortest name that can be completed.
Packit 328d5c
Packit 328d5c
Packit 328d5c
CHANGES IN FLTK 1.0.8
Packit 328d5c
Packit 328d5c
	- Many documentation changes/fixes/improvements.
Packit 328d5c
	- FLUID didn't save Fl_Double_Window's as
Packit 328d5c
	  double-buffered windows.
Packit 328d5c
	- Fl_Menu_ text color is used if Fl_Menu_Item text color
Packit 328d5c
	  is not set.
Packit 328d5c
	- Added Fl::first_window(window) method to change the
Packit 328d5c
	  "top" window that is used when showing modal windows.
Packit 328d5c
	  By default it is the window the user last
Packit 328d5c
	  clicked/typed in.
Packit 328d5c
	- The Fl_Menu::global() handler now uses the current top
Packit 328d5c
	  window instead of the menu bar for modal stuff.
Packit 328d5c
	- Added fl_line_style() function to set the line style.
Packit 328d5c
	  Note that user-defined line styles ONLY WORK UNDER X11
Packit 328d5c
	  and Windows NT/2000. Windows 95/98 do, however,
Packit 328d5c
	  support the "standard" line styles.
Packit 328d5c
	- Fl::wait() does not return immediately when no windows
Packit 328d5c
	- XForms keyboard shortcuts using hex keycode constants
Packit 328d5c
	  now work.
Packit 328d5c
	- Updated the configure script for *BSD and to turn off
Packit 328d5c
	  exceptions and RTTI in the FLTK library itself (does
Packit 328d5c
	  not affect applications which use these things)
Packit 328d5c
	- FLUID now supports I18N using the POSIX or GNU
Packit 328d5c
	  mechanisms.
Packit 328d5c
	- Fixed definition of glutBitmapWidth to match header
Packit 328d5c
	  file.
Packit 328d5c
	- Does not turn visible() on when a window is iconized()
Packit 328d5c
	  or if a modal window is shown and it's parent is
Packit 328d5c
	  iconized.  This allows the code "while (w->visible()
Packit 328d5c
	  && w->damage()) Fl::check();" to reliably wait for the
Packit 328d5c
	  window to be mapped and drawn the first time.
Packit 328d5c
	- Setting box(FL_NO_BOX) on a button makes it an
Packit 328d5c
	  invisible overlay
Packit 328d5c
	- FL_NORMAL_SIZE is now a global variable so you can
Packit 328d5c
	  change the default text size prior to creating your
Packit 328d5c
	  widgets.
Packit 328d5c
	- Menus now draw properly with a box type of
Packit 328d5c
	  FL_FLAT_BOX.
Packit 328d5c
	- Cygwin fixes to compile in POSIX mode.
Packit 328d5c
	- Fl_Value_Input callback can call value() or
Packit 328d5c
	  destructor.
Packit 328d5c
	- OpenGL overlays now work under Windows NT!
Packit 328d5c
	- Fl_Slider and Fl_Scrollbar could cause a divide by
Packit 328d5c
	  zero.
Packit 328d5c
	- Clicking in an Fl_Input field no longer selects the
Packit 328d5c
	  whole field, it just moves the text cursor.
Packit 328d5c
	- Tru64 UNIX fixes for filename_list()
Packit 328d5c
	- Fl_Browser now draws itself properly when deactivated.
Packit 328d5c
	- FLUID GUIs now use Courier font for all code input.
Packit 328d5c
	- The FLUID OK and Cancel buttons are now all shown in
Packit 328d5c
	  the same order in all windows.
Packit 328d5c
	- Fixes to compile under GCC 2.95.2
Packit 328d5c
	- Fixed the BC5 project files.
Packit 328d5c
	- FL_LEFT_MOUSE and friends are now in
Packit 328d5c
	  <FL/Enumerations.H>
Packit 328d5c
	- Fixes for fake OpenGL overlay code under WIN32.
Packit 328d5c
	- Message windows are now resizeable.
Packit 328d5c
	- On WIN32 non_modal (but not modal) windows have the
Packit 328d5c
	  close and size boxes.
Packit 328d5c
	- Fl_Button and friends didn't honor the
Packit 328d5c
	  FL_WHEN_NOT_CHANGED condition.
Packit 328d5c
	- Disabled XDBE on all platforms.
Packit 328d5c
	- XGetDefault patch from James Roth
Packit 328d5c
	- New fl_open_display(Display *) function to allow FLTK
Packit 328d5c
	  to share a display connection with another toolkit
Packit 328d5c
	  (like Xt, GTK, etc.)
Packit 328d5c
	- Shortcut labels for special keys should now display
Packit 328d5c
	  properly under WIN32.
Packit 328d5c
	- fl_set_fonts() did not reuse fonts.
Packit 328d5c
	- Fixed shortcut problem under WIN32 when the focus
Packit 328d5c
	  window changes.
Packit 328d5c
	- "dead" keys should now work under X11.
Packit 328d5c
	- Fixes to make FLTK compile with GCC 2.95.2
Packit 328d5c
	- FL_SHORTCUT fix for I18N.
Packit 328d5c
	- Fixed cut/paste problems under WIN32
Packit 328d5c
	- FLUID now produces correct code for nested class
Packit 328d5c
	  destructors.
Packit 328d5c
	- Nested windows should now redraw properly under WIN32.
Packit 328d5c
	- "table" is now static in fl_cursor.cxx
Packit 328d5c
	- Fl_Chart used the textcolor() and not the color() for
Packit 328d5c
	  horizontal bar charts.
Packit 328d5c
	- Now set the input hint for TWM and TWM-derived window
Packit 328d5c
	  managers.
Packit 328d5c
	- Now look for TrueColor visual if FLTK is compiled with
Packit 328d5c
	  USE_COLORMAP == 0.
Packit 328d5c
	- Fl_Scrollbar could generate a divide-by-0 error if the
Packit 328d5c
	  min and max values were the same.
Packit 328d5c
	- Fl_Menu_::remove() now removes whole submenus if
Packit 328d5c
	  needed.
Packit 328d5c
	- Scrollbar buttons now draw themselves pushed in as
Packit 328d5c
	  needed.
Packit 328d5c
	- Fixed the gl_overlay demo (and gl overlays in general)
Packit 328d5c
	  when they are faked with no hardware and the window is
Packit 328d5c
	  resized.
Packit 328d5c
	- Selections weren't shown in Fl_Browser widgets when an
Packit 328d5c
	  item used the @B (background) format.
Packit 328d5c
	- Windows can now be resized by the program under X11
Packit 328d5c
	  for more window managers.
Packit 328d5c
	- OS/2 makeinclude updates.
Packit 328d5c
	- Added Fl.H required by an inline function in
Packit 328d5c
	  Fl_Repeat_Button.H
Packit 328d5c
	- Fl_add_idle adds new functions to the end of the queue
Packit 328d5c
	  ring, rather than the start, so they are executed in
Packit 328d5c
	  the order added, and a callback that adds itself does
Packit 328d5c
	  not prevent others from being called.
Packit 328d5c
	- FLUID lets you type in code that starts with '#' for
Packit 328d5c
	  cpp directives.
Packit 328d5c
	- XBell() could be called before the X11 display was
Packit 328d5c
	  opened, causing a segfault.
Packit 328d5c
	- Fixed Fl_Gl_Window::ortho() - Borland C++ doesn't
Packit 328d5c
	  define GLint to "int", but instead to "long"...
Packit 328d5c
	- Fixed Fl_Browser scrollbars within an Fl_Scroll
Packit 328d5c
	  widget.
Packit 328d5c
	- Fl_Output (and non-focused Fl_Input) now scroll in
Packit 328d5c
	  response to position()
Packit 328d5c
	- Fl_Input now does not scroll horizontally if the
Packit 328d5c
	  entire string will fit in the widget.
Packit 328d5c
	- Fl_Scrollbar didn't push the right arrow buttons when
Packit 328d5c
	  you clicked outside the scroller.
Packit 328d5c
	- Now use WSAAsyncSelect() for better socket performance
Packit 328d5c
	  with Fl::add_fd()
Packit 328d5c
Packit 328d5c
Packit 328d5c
CHANGES IN FLTK 1.0.7
Packit 328d5c
Packit 328d5c
	- Fixed Fl_Input_ bug under WIN32 - no longer stop accepting input
Packit 328d5c
	  when one of the "Windows" keys is pressed.
Packit 328d5c
	- Now call TranslateEvent for all events under WIN32.
Packit 328d5c
	- Fixes for OpenBSD and NetBSD
Packit 328d5c
	- The FL_CURSOR_HAND cursor now uses the IDC_HAND cursor instead of
Packit 328d5c
	  IDC_UPARROW under Windows 98 and 2000.
Packit 328d5c
	- Fl_Scrollbar now does a page-up/down when you click outside the
Packit 328d5c
	  scroller.
Packit 328d5c
	- Fl_Window::show(0, NULL) causes core dump
Packit 328d5c
	- Fixed a compile-time error in fl_call_main.c for Borland C++.
Packit 328d5c
	- "fluid -c filename.fl" would try to open an X display if the
Packit 328d5c
	  FLUID file contained an Fl_Browser widget.
Packit 328d5c
	- Fl_Browser now correctly measures items with @C or @B color
Packit 328d5c
	  formatting commands.
Packit 328d5c
	- Fixed a bitmap drawing bug for WIN32 (bit reversal table was wrong)
Packit 328d5c
	- fl_xyz() dialogs now set a title in the title bar.
Packit 328d5c
	- fl_alert() sounds the bell under X11.
Packit 328d5c
	- fl_xyz() dialogs now call MessageBeep() under WIN32.
Packit 328d5c
	- Fl_Browser_ didn't draw the selection box with the inactive color
Packit 328d5c
	  when the browser wasn't activated.
Packit 328d5c
	- Fl_Browser now responds to FL_KEYBOARD as well as FL_SHORTCUT.  If
Packit 328d5c
	  you subclass it to accept focus then keyboard navigation will work.
Packit 328d5c
	- Fl_Tile and Fl_Tabs do their callback when the user changes their
Packit 328d5c
	  display.
Packit 328d5c
	- Made some of the private methods of Fl_Browser protected.
Packit 328d5c
	- Now set win_gravity correctly, this helps some X
Packit 328d5c
	  window managers that use it position the window where
Packit 328d5c
	  FLTK wants it to be.
Packit 328d5c
	- 0-width browsers crashed.
Packit 328d5c
	- Minor change: if the X window manager does not do
Packit 328d5c
	  anything else with windows that don't have their
Packit 328d5c
	  position specified, the windows appear centered in the
Packit 328d5c
	  screen, rather than in the top-left corner.  This
Packit 328d5c
	  happened with modal windows under Irix 4Dwm.  This
Packit 328d5c
	  also causes windows to be centered when no window
Packit 328d5c
	  manager is running, which might be useful for
Packit 328d5c
	  installation gui programs?
Packit 328d5c
	- Clicking in an Fl_Input field the first time selects the entire
Packit 328d5c
	  field.
Packit 328d5c
	- Clicking the middle mouse button in an Fl_Input field now inserts
Packit 328d5c
	  the text at the indicated position instead of the cursor position.
Packit 328d5c
	- Drag-selecting text in an Fl_Input field now copies the text
Packit 328d5c
	  automatically.
Packit 328d5c
	- Fl::flush() no longer calls the draw() method for invisible windows.
Packit 328d5c
	- Calling deactivate() on an invisible widget could cause an
Packit 328d5c
	  infinite loop in some obscure cases.
Packit 328d5c
	- Added #pragma's for SGI C++ compilers - the 6.{23} X headers had
Packit 328d5c
	  errors in them.
Packit 328d5c
	- Fl_Gl_Window::ortho() changed so that text and images
Packit 328d5c
	  are not erased if the origin is off the left/bottom of the
Packit 328d5c
	  window.
Packit 328d5c
	- Small change to Fl_Input so that a click that gives it
Packit 328d5c
	  the focus also selects all the text.
Packit 328d5c
	- Fixed a slider drawing problem.
Packit 328d5c
	- You can now add/delete children of Fl_Tabs widgets whether or
Packit 328d5c
	  not they are visible.
Packit 328d5c
	- Now embed woff options for SGI C++ compilers (gets rid of X11
Packit 328d5c
	  header warnings)
Packit 328d5c
	- draw_pixmap used a cast that the Digital UNIX C++ compiler didn't
Packit 328d5c
	  like.
Packit 328d5c
	- The GLUT function key constants were off by one.
Packit 328d5c
	- The XPM reading code didn't handle RGB colors other than #rrggbb.
Packit 328d5c
Packit 328d5c
Packit 328d5c
CHANGES IN FLTK 1.0.6
Packit 328d5c
Packit 328d5c
    - Fl_win32.cxx defined WM_MOUSE_LEAVE instead of WM_MOUSELEAVE.
Packit 328d5c
    - Fl_get_key_win32.cxx needed to include <ctype.h>
Packit 328d5c
    - gl_draw_pixmap.cxx needed a pointer cast for ANSI C++.
Packit 328d5c
    - Fl_Repeat_Button didn't always delete its timeout.
Packit 328d5c
    - Now keep track of the current OpenGL context; this provides
Packit 328d5c
      significant performance improvements for OpenGL applications
Packit 328d5c
      with a single context.
Packit 328d5c
Packit 328d5c
Packit 328d5c
CHANGES IN FLTK 1.0.5
Packit 328d5c
Packit 328d5c
    - Fl_Roller didn't handle a width and height of 0.
Packit 328d5c
    - filename_list() fix for FreeBSD.
Packit 328d5c
    - Fixed RPM install docos - needed "--install" option...
Packit 328d5c
    - Fl_Browser_ wouldn't draw the vertical scrollbar right away if it
Packit 328d5c
      added a horizontal one which covered the last line.
Packit 328d5c
    - Fl_Tabs problems - single-character labels don't show up (problem in
Packit 328d5c
      measure_tabs() or measure_label() methods?), and doesn't clear top
Packit 328d5c
      tab area before drawing tabs.
Packit 328d5c
    - Fl_Browser needs a destructor.
Packit 328d5c
    - fl_draw_label() quoted characters between 0x80 and 0xa0, which
Packit 328d5c
      caused problems for some programs using the WinANSI character set.
Packit 328d5c
    - FLUID didn't handle declared class destructors.
Packit 328d5c
    - Fixed another WIN32 cut/paste bug.
Packit 328d5c
    - Fl_Tabs didn't work properly when there was only 1 tab.
Packit 328d5c
    - Fl_Menu::add() didn't delete the old array.
Packit 328d5c
    - Fl_Repeat_Button didn't delete its timeout when disabled.
Packit 328d5c
    - fl_draw() would crash if no font was set (now defaults to
Packit 328d5c
      a 14-pixel Helvetica font)
Packit 328d5c
    - Can't forward declare classes; need to check for "class ", "struct ",
Packit 328d5c
      "union ", etc.  See Bill's message
Packit 328d5c
    - Added #pragma around xlib.h for IRIX
Packit 328d5c
    - FL_KEYBOARD events have the correct x/y when sent to child X
Packit 328d5c
      windows. Note that if you worked around this bug by adjusting the
Packit 328d5c
      x/y yourself you will have to change your code. In addition all
Packit 328d5c
      events have the correct x/y when sent to the grab() widget.  And
Packit 328d5c
      the code to do all this was simplified a lot.
Packit 328d5c
    - The XPM code didn't handle named colors with spaces in the names.
Packit 328d5c
    - Pressing ESCape closed the window with pointer focus, even if there
Packit 328d5c
      was a modal window open (now closes the modal window).
Packit 328d5c
    - FLUID no longer produces trigraphs accidentally in the image data.
Packit 328d5c
    - FLUID uses string constant concatenation to produce shorter image
Packit 328d5c
      data.
Packit 328d5c
    - The Fl_Group deletion code crashed if there was exactly one child
Packit 328d5c
      widget.
Packit 328d5c
    - Simulated overlays in single-buffered Fl_Gl_Windows now draw
Packit 328d5c
      correctly (though very slowly as it requires the entire window to
Packit 328d5c
      be redrawn to erase the overlay).  This fix ported our Digital
Packit 328d5c
      Domain programs better to systems with no overlay hardware.
Packit 328d5c
    - Added support for extern "C" declarations in FLUID.
Packit 328d5c
    - Added Fl_Pack support to FLUID.
Packit 328d5c
    - Fixed the order of #include's in FLUID generated header files.
Packit 328d5c
    - Fixed detection of vsnprintf and snprintf under HP-UX 10.20 once
Packit 328d5c
      and for all.
Packit 328d5c
    - The checkers demo did not compile with GCC 2.95
Packit 328d5c
    - FLUID didn't output virtual destructors properly.
Packit 328d5c
    - Added inline "make_visible()" method to Fl_Browser.
Packit 328d5c
    - Fl::wait() now returns immediately if any timeouts are
Packit 328d5c
      called.
Packit 328d5c
    - 16-bit XPM files are now properly handled.
Packit 328d5c
    - Fl_Window::resize() was missing FL_EXPORT (caused problems
Packit 328d5c
      with Windows DLLs)
Packit 328d5c
    - FLUID was writing extern declarations twice.
Packit 328d5c
    - New FLUID arrow key functionality: arrows move by one pixel, shift+arrow
Packit 328d5c
      resizes, ctrl+arrow steps by grid
Packit 328d5c
Packit 328d5c
Packit 328d5c
CHANGES IN FLTK 1.0.4
Packit 328d5c
Packit 328d5c
    - Documentation updates
Packit 328d5c
    - Fl_Browser::bottomline(size) didn't scroll to the bottom
Packit 328d5c
      if the second-to-last line was visible.
Packit 328d5c
    - fl_wait() didn't poll FDs properly for WIN32.
Packit 328d5c
    - Fixed DLL definitions for BC++.
Packit 328d5c
    - FLUID now handles nested classes properly.
Packit 328d5c
    - The "connect" demo now does a wait() for the PPP process
Packit 328d5c
      so that you aren't left with a lot of zombie processes.
Packit 328d5c
    - Fixed the FLTK colormap to use FF instead of F4 for full
Packit 328d5c
      intensity values.
Packit 328d5c
    - Minor change to scrollbar drawing code to match other
Packit 328d5c
      toolkits.
Packit 328d5c
    - New selections would cancel themselves out in WIN32.
Packit 328d5c
    - The header file links were broken in the IRIX
Packit 328d5c
      distributions.
Packit 328d5c
    - fl_elapsed() now always uses GetClockTick() for WIN32.
Packit 328d5c
    - fl_display is now initialized to GetModuleHandle(NULL) -
Packit 328d5c
      this fixes problems people had with Cygwin and MingW32.
Packit 328d5c
    - WinMain() is no longer compiled in with Cygwin and
Packit 328d5c
      MingW32; it wasn't being used for those compilers anyways.
Packit 328d5c
    - Added Solaris compiler options to configure script.
Packit 328d5c
    - Fl_Value_Input wouldn't update properly if you set the
Packit 328d5c
      value from a callback.
Packit 328d5c
    - Fl_Tile wouldn't resize if the resizeable widget was the
Packit 328d5c
      last child.
Packit 328d5c
    - Was missing #include <ctype.h> and #include <stdlib.h> in
Packit 328d5c
      several files, which caused problems on some platforms.
Packit 328d5c
    - Fixed another case where Fl_Browser_ could get in an
Packit 328d5c
      infinite resizing loop.
Packit 328d5c
    - Fl_win32.cxx now includes <FL/filename.H> to export missing
Packit 328d5c
      DLL symbols.
Packit 328d5c
    - FLUID didn't handle member functions that include the
Packit 328d5c
      scope operator.
Packit 328d5c
    - Fl_Chart was dividing by 0 if there were no data samples
Packit 328d5c
      or if they were all the same (min == max).
Packit 328d5c
Packit 328d5c
Packit 328d5c
CHANGES IN FLTK 1.0.3
Packit 328d5c
Packit 328d5c
    - XDBE is now enabled for IRIX 6.[234] as well as 6.5.
Packit 328d5c
    - FLUID didn't write the when() condition properly.
Packit 328d5c
    - Tab/space/backtab/backspace can be used to navigate
Packit 328d5c
      through menus.
Packit 328d5c
    - Changed $(DSONAME) in the src/Makefile to "libfltk.so.1
Packit 328d5c
      libfltk.sl.1".
Packit 328d5c
    - Fl_Browser could read past the end of the string when
Packit 328d5c
      computing the item height.
Packit 328d5c
    - Fl_Browser could get in an infinite loop when checking to
Packit 328d5c
      see if scrollbars needed to be displayed.
Packit 328d5c
    - FLUID now honors the return type of the outermost widget.
Packit 328d5c
      This was a problem when substituting Fl_Group in an
Packit 328d5c
      Fl_Window widget.
Packit 328d5c
    - Fl_Menu_::copy() wasn't allocating a power of 2 for the
Packit 328d5c
      array size.
Packit 328d5c
    - FLWM would crash if fl_xmousewin was deleted.
Packit 328d5c
    - The fast_slow demo now uses output widgets.
Packit 328d5c
    - Timers under WIN32 were unreliable.
Packit 328d5c
Packit 328d5c
Packit 328d5c
CHANGES IN FLTK 1.0.2
Packit 328d5c
Packit 328d5c
    - Documentation updates
Packit 328d5c
    - The Visual C++ project files didn't include fl_add_idle.cxx.
Packit 328d5c
    - LIBRARY/DSO name inconsistencies in src/Makefile.
Packit 328d5c
    - src/Makefile didn't clean the DSO.
Packit 328d5c
    - The valuator demo now has only a single callback.
Packit 328d5c
    - The code looked for HAVE_SYS_SELECT_H, but the
Packit 328d5c
      config file uses HAVE_SYS_SELECT.
Packit 328d5c
    - Fl_Image redraw not quite right under X11 or WIN32
Packit 328d5c
    - Problems with timeouts & cube demo under WIN32
Packit 328d5c
    - FLUID problems with inline functions.
Packit 328d5c
    - Documentation fixes...
Packit 328d5c
    - Fl_Browser::item_height() didn't handle blank lines or
Packit 328d5c
      non-default fonts properly.
Packit 328d5c
    - FL/math.h didn't have #ifndef...#define...#endif guards
Packit 328d5c
      against multiple inclusion...
Packit 328d5c
    - Fl_Menu_::copy() fix - didn't allocate power of 2...
Packit 328d5c
    - Fl::damage() now remains true until all windows are actually
Packit 328d5c
      redrawn.
Packit 328d5c
    - Fl_Widget destructor, hide(), and deactivate() methods no longer
Packit 328d5c
      send FL_LEAVE, FL_RELEASE, or FL_UNFOCUS events to the widget
Packit 328d5c
      (which could cause applications to crash).
Packit 328d5c
    - FLUID now outputs symbolic names for align() and when().
Packit 328d5c
    - Fixed select() to use maxfd + 1 instead of maxfd.
Packit 328d5c
    - Added "Fl::remove_fd(fd, when)" function so you can remove the
Packit 328d5c
      read and write callbacks separately.
Packit 328d5c
    - The Fl::add_fd() and Fl::add_timeout() arrays are now dynamically
Packit 328d5c
      allocated.
Packit 328d5c
    - FLUID didn't always turn the FL_SUBMENU flag on for submenu titles.
Packit 328d5c
    - The "extra code" in FLUID now is placed before the "o->end()" call
Packit 328d5c
      for Fl_Group and its derived classes.
Packit 328d5c
    - You can now set a FL_Window widget's class in FLUID to Fl_Group to
Packit 328d5c
      generate a function or class that builds part of a GUI (i.e. no window).
Packit 328d5c
    - FLUID now displays "Save file before exiting?" with the standard yes,
Packit 328d5c
      no, and cancel buttons rather than "Discard changes?".
Packit 328d5c
    - Fl_Menu_::add() now works with any type of menu, even one set with
Packit 328d5c
      the menu() method.
Packit 328d5c
    - The keypad keys were not always decoded properly under X11.
Packit 328d5c
    - Some pointers were not being turned off when widgets were deleted,
Packit 328d5c
      which caused some applications (like FLWM) to crash.
Packit 328d5c
Packit 328d5c
Packit 328d5c
CHANGES IN FLTK 1.0.1
Packit 328d5c
Packit 328d5c
    - Documentation fixes.
Packit 328d5c
    - Fl::check() didn't return the correct value, breaking a number
Packit 328d5c
      of applications.
Packit 328d5c
    - Fixed FLUID bug that caused styles patch to crash when you delete
Packit 328d5c
      a menu item.
Packit 328d5c
    - Updated valuators demo to put the values in the gui box.
Packit 328d5c
    - Fl_Browser_::item_height() didn't always compute the correct
Packit 328d5c
      value.
Packit 328d5c
    - Fixed the alignment of Fl_Choice text.
Packit 328d5c
    - Fixes for OS/2.
Packit 328d5c
    - Fl_Menu_Item::clear() didn't clear value.
Packit 328d5c
    - Added some changes to make FLTK work with Borland C++.
Packit 328d5c
    - ANSI C++ fixes.
Packit 328d5c
    - Plugged a memory leak in the fractal demo.
Packit 328d5c
    - Fl::add_timeout() didn't work under WIN32 with small values.
Packit 328d5c
    - The configure script and makefiles now define DSONAME and
Packit 328d5c
      use the static library for all example programs.