1 2CHANGES IN FLTK 1.3.0 3 4 New Features 5 6 - Added UTF-8 Unicode support throughout FLTK and Fluid 7 - Added Fl_Tree widget for hierarchical views 8 - Added Fl_Table widget for widget layout 9 - Added Fl_Native_Filechooser as a widget and global options 10 - Added printing support (Fl_Printer class and friends) for native 11 printing on Windows and Mac OS X, PostScript printing on X11 12 with CUPS or lp, and PostScript file output on all platforms 13 - Added basic Fl_Device abstraction layer for all drawing functions 14 - Moved OS X code base to the more modern Cocoa toolkit thanks 15 to the awesome work of Manolo Gouy (STR #2221) 16 17 API and ABI compatibility to FLTK 1.1.x 18 19 - All strings are expected to be in UTF-8 Unicode encoding 20 - Replaced Fl_Scroll::position(int,int) with scroll_to(int,int) 21 to avoid overriding Fl_Widget::position(int,int) (STR #1303) 22 - Although FLTK 1.3 maintains source code compatibility as good 23 as possible, the binary interface changed considerably. 24 - Updated the bundled libpng to v1.5.1 (released Feb 3, 2011) 25 - Updated the bundled libjpeg to v8c (released Jan 16, 2011) 26 - Updated the bundled zlib to v1.2.5 (released Apr 19, 2010) 27 28 API enhancements and changes 29 30 - Changed font index to 32 bit 31 - Changed font size to 32 bit 32 - Changed widget coordinates to 32 bit 33 - Corrected const methods of Fl_Text_{Buffer|Display|Selection} 34 to be declared const, corrected an Fl_Text_Buffer attrib. typo 35 - All draw() methods of widgets are now protected (STR #2142). 36 - Changed Fl_Group::clip_children() to public (STR #2017) 37 - Changed socket library to winsock2 (ws2_32.dll) instead of 38 wsock32.dll for Windows. The dll is now loaded dynamically only 39 if/when needed. 40 - Changed hide() and show() methods. They are now virtual from 41 Fl_Widget. 42 - Added new label and image alignments (STR #2269) 43 - Added global UI options (STR #2471) 44 - Added class Fl_Widget_Tracker to simplify safe handling of widget 45 deletion in callbacks. This is used in Fl_Widget::do_callback() 46 to prevent accessing widgets after deletion in the callback. 47 - Added sorting to Fl_Browser_ (STR #2113) 48 - Added new method client_area() for easier positioning of children 49 in Fl_Tabs (STR #2480) 50 - Added interface to set color chooser mode (STR #2407) 51 - Added Fl_Menu_::find_item by callback 52 - Added loading jpeg images from memory 53 - Added support for shortcuts for Fl_Input_, Fl_Value_Input, and 54 Fl_Text_Display derived widgets (STR #1770) 55 - Added Fl_Menu_ methods: insert(), find_index(), clear_submenu() 56 - Hotspot behavior of fl_message() and other common dialogs is now 57 optional (STR #2561). 58 - Common dialogs like fl_message() and fl_ask() can now have a window 59 title (STR #2562). 60 61 IDE support and command line build options 62 63 - FLTK now supports Apple Xcode 3, MS VisualC 2008, and 64 MS VisualC 2010. MS VisualC 6 support is maintained as a 65 compatibility base for VisualC.net, etc. . FLTK continues 66 to support configure/make and improved CMake build files. 67 - Added step by step README's for MSWindows, OS X, and four 68 Linux distros. 69 - Added "ide" subdirectory for all IDE support files 70 - Added template to generate new projects with Xcode. 71 - Added --enable-cairo and --enable-cairoext configure options. 72 - redesigned CMake files (STR #2317). 73 - The new configure option --enable-x11 (lowercase 'x') enables 74 Cygwin builds under Windows (with --enable-cygwin) to use X11 75 instead of GDI drawing (STR #2147, #2183) and is ignored otherwise. 76 - Changed "fltk-config --post foo" to create an application 77 bundle rather than attaching a resource fork. 78 - Changed default for configure option --with-links for common 79 misspellings on case sensitive file systems like Unix/Linux. 80 The new default is --without-links; use --with-links on 81 Unix/Linux only if you need the links (e.g. lowercase '.h') 82 83 Fluid 84 85 - Added argument-less constructor in Fluid Widget Class 86 - Added jpeg support to Fluid image() element 87 - Added binary data type to Fluid 88 - Empty functions in Fluid no longer create an 89 implementation (STR #2259) 90 - Fixed internationalisation of menus using Fluid (STR #2246) 91 - Fixed menu item counting issue in Fluid (STR #2322) 92 - Fixed lost top item in Fluid's tree browser (STR #2233) 93 - Fixed Fluid dependency on X11 (STR #2261) 94 - Fixed Fluid textcolor output (STR #1992) 95 - Fixed wrong default value of Fl_Spinner in Fluid (STR #1991) 96 97 Documentation 98 99 - Added documentation for event delivery (STR #1983) 100 - Added Fl_Scroll::bbox() documentation (STR #1893) 101 - Updated documentation for Fl_Input_ 102 - Updated Copyright dates to 2010 (STR #2036) 103 - Updated mirror sites in documentation (STR #2220) 104 - Fixed documentation for Fl_Progress (STR #2209) 105 - Fixed documentation (added missing COMCTL32.LIB dependency) 106 107 Other Improvements 108 109 - Added drag'n'drop support for Fl_Text_* 110 - Added visual feedback for button shortcuts (STR #2372) 111 - Added callback when double-clicking file in a file chooser 112 (STR #2346) 113 - Added alternative Xft font names (STR #2215) 114 - Added mouse!=0 check in Fl_Glut_Window::handle (STR #2381) 115 - Added indexing to Fl_Preferences 116 - Added OS X cursor control to Fl_Input (STR #2169) 117 - Added menu shortcut alignment for OS X 118 - Added drop box to UTF-8 test that will show the UTF-8 encoding 119 for the first dropped character 120 - Added flexible gap size for text buffer (STR #2046) 121 - Added clarification to Fl_GL_Window mode function (STR #1945) 122 - Added alternative text input awareness on OS X 123 - Improved handling of composed keys in OS X 10.5 and up 124 - Improved stability of fl_read_image (STR #2021) 125 - Much faster fl_read_image() for Windows (STR #2387). 126 - Improved support for faulty X11 clients (STR #2385) 127 - Integrated default menu into Demo test app 128 - Replaced _WIN32 symbols that had come with UTF-8 and the 129 new Fl_Table widget with WIN32 130 - Widgets now remove stale entries from the default callback 131 queue when they are deleted (STR #2302) 132 - Managing all Widget flags in a single location now (STR #2161) 133 - File chooser preview now recognizes UTF-8 encoded 134 text files (STR #2218) 135 - Setting a default font for Xft (STR #2216) 136 - Restructured the unittest application 137 - Fl_Preferences.H now doesn't include windows.h any more 138 (Windows only, STR #2173). 139 - Fl_Window::draw() now doesn't reset its x/y-coordinates to 0 140 anymore before drawing itself and its children. 141 - Fl_Help_View handles HTML2 font color specification (STR #890) 142 - Widgets now remove themselves from their parent group (if any), 143 when destroyed (STR #1894) 144 - Changed Fl_Group and Fl_Scroll to resize themselves before 145 resizing their children (STR #2032) 146 147 Bug Fixes 148 149 - Fixed potential crash in fl_xid() on Linux (STR #2635) 150 - Fixed keyboard navigation in fl_choice() (STR #2591) 151 - Fixed alpha blending under X11 when line data size != 0 (STR #2606) 152 - Fixed Fl_Tabs selection border drawing, if tabs are at the bottom 153 of the widget (STR #2480) 154 - Fixed Compiling with mingw-w64 (STR #2308). 155 - Fixed crashes when detecting illegal UTF-8 sequences 156 in Fl_Text_* widgets (STR #2348) 157 - Fixed Fl_Text_Display Tabulator calculations (STR #2450) 158 - Fixed file access code to use UTF-8 strings (STR #2440) 159 - Fixed ARM Unicode cross compilation issue (STR #2432) 160 - Fixed xclass support for Fl_Window (STR #2053) 161 - Fixed Caps Lock handling in X11/XIM (STR #2366) 162 - Fixed handling of missing fonts in Xft (STR #2355) 163 - Fixed OpenGL hide/show issue in OS X (STR #2260) 164 - Fixed File Chooser preview hang if a device was choosen 165 - Fixed blinking of selection when the mouse was dragged 166 outside of the Fl_Text_* widget 167 - Fixed Unicode support for Fl_Text_* widgets 168 - Fixed menu and shortcut handling (STR #2243) 169 - Fixed fltk-config to give --libs on one line (STR #2408) 170 - Fixed outside label redraw damage areas (STR #2436) 171 - Fixed compile errors when HAVE_LIBJPEG was not defined 172 (STR #2382) 173 - Fixed special handling for ISO back-tab keycode (STR #2369) 174 - Fixed static allocation in Fl_Tabs (STR #2370) 175 - Fixed Fl_Widget::measure_label() to const (STR #2406) 176 - Fixed unbalanced Windows OleInitialize/OleUnitialize calls 177 when loading/unloading the FLTK dll (STR #2417) 178 - Fixed X11/XDBE double buffering (STR #2152, #2197) 179 - Fixed menu and tooltip window animation bug under X11 (compiz) 180 by setting an appropriate window type (STR #2082) 181 - Fixed max. fd calculation, if USE_POLL is enabled (STR #2324) 182 - Fixed clipping for offscreen rendering (OSX, STR #2330) 183 - Fixed possibility of wrong flags() in Fl_Window::iconlabel() 184 (STR #2161) 185 - Fixed Scrollbar events when max is less than min (STR #2283) 186 - Fixed crash in test/Editor when freeing buffer 187 too soon (STR #2294) 188 - Fixed Fl_Preferences Cygwin wide character bug (STR #2164) 189 - Fixed sorting in Fl_Browser - last item would not 190 be sorted (STR #2300) 191 - Fixed window levels in OS X Cocoa (STR #2316) 192 - Fixed a buffer overflow in fl_utf8from_mb() (STR #2279) 193 - Fixed a Windows GDI leak when testing alpha blending capabilities 194 - Fixed crashes for recursive common dialogs (STR #1986, #2150) 195 - Fixed a name conflict with new (VS 2008 Express) winsock2.h 196 versions and another conflict that produced compile errors 197 with VS 2008 Express (STR #2301) 198 - Fixed all color related calls to Fl_Color type (STR #2208) 199 - Fixed Fl_Choice contrast with light-on-dark settings (STR #2219) 200 - Fixed X server "lock", if a modal dialog window is opened 201 while a menu is active (STR #1986) 202 - Fixed Windows compile bug with "#define USE_COLORMAP 0" 203 (STR #2241) 204 - Fixed glibc 2.10 compiler problems (Fedora 11 and others) 205 with scandir() and strchr() (STR #2222) 206 - Fixed OpenGL shared context handling (STR #2135) 207 - Fixed gray-scale images with alpha channel (STR #2105) 208 - Fixed unexpected shortcut behavior for Win32 (STR #2199) 209 - Fixed fl_draw_image to obey the alpha channel (OS X only) 210 - Fix for multiple popups, when dragging and calling fl_alert() 211 and friends from the callback (STR #2159) 212 - Fixed control key keycodes with modifiers on OS X 213 - Fixed bad system menu handling in OS X (STR #2153) 214 - Fixed File Input mouse pointer dragging (STR #2181) 215 - Fixed 'del' keycode on OS X 216 - Fixed OS X support for sending and receiving dnd data as UTF-8 217 - Fixed Copy/Paste operations with UTF-8, UTF-16 support and 218 fltk1.1 compatibility. (STR #2104, 2121). 219 - Fixed fl_set_spot() for Windows (STR #2101) 220 - Fixed callback that would not be called when shortcut was used 221 with radio and toggle buttons in default FL_RELEASE mode. 222 - Fixed a problem with TrackMouseEvent() (Windows only) that would 223 generate wrong FL_LEAVE events with subwindows. TrackMouseEvent 224 is now enabled by default (it was disabled for GNU compilers). 225 It can be disabled by defining NO_TRACK_MOUSE. 226 Improved test/subwindow.cxx (STR #2079) 227 - Fixed menu position close to screen border (STR #2057) 228 - Fixed adding an idle handler during a draw() call (STR #1950) 229 - Fixed first modifier key event (STR #1952) 230 - Fixed Fl_Scroll inside Fl_Scroll (STR #265) 231 232 Removed features 233 234 - Removed Watcom compiler support because it was introduced in 235 1.1.6 as a partial solution and never completed. 236 - Removed an XForms compatibility "feature" that prevented the 237 down array of Fl_Menu_Button from drawing (STR #2141). 238 - Removed support for gcc 2.x (or older) 239 - Removed redundant Fl_Group casts 240 241CHANGES IN FLTK 1.1.9 242 243 - Improved color contrast in secondary selection blocks 244 of Fl_Text_Display (STR #1917) 245 - Fixed regression in callback handling (STR #1918) 246 - Fixed wrong relative path when absolute path has a 247 trailing slash in fl_filename_relative (STR #1920) 248 - Fixed multiple selection of files and directories in 249 Fl_File_Chooser (STR #1913) 250 - Fixed MSWindows crash when selecting umlauts 251 in Fl_Help_View (STR #1912) 252 253 254CHANGES IN FLTK 1.1.8 255 256 - Documentation fixes (STR #1454, STR #1455, STR #1456, 257 STR #1457, STR #1458, STR #1460, STR #1481, STR #1578, 258 STR #1639, STR #1645, STR #1644, STR #1792, STR #1793, 259 STR #1742, STR #1777, STR #1794, STR #1827, STR #1843, 260 STR #1796, STR #1815, STR #1726, STR #1753, STR #1855, 261 STR #1862, STR #1867, STR #1874, STR #1888) 262 - Fixed library path in Makefile (STR #1885) 263 - Fixed image read for partial regions on X11 264 (STR #1716) 265 - Fixed KDE/Gnome icon paths (STR #1795) 266 - Fixed Tab key to wrap around menu bars (STR #1877) 267 - Fixed possible timer leak in Scrollbar (STR #1880) 268 - Added documentation about the potential limitations 269 of Fl::grab on newer operating systems (STR #1747) 270 - Fixed lockout when mixing popups and alerts 271 (STR # 1869) 272 - Fixed recursion crash in event handling (STR #1873) 273 - Fixed missing return code in 'fltk-config' (STR #1875) 274 - Fixed inconsistencies with CHANGED flags (STR #1719) 275 - Fixed message sent to hidden widgets (STR #1849) 276 - Fixed width calculation in Fl_Help_View (STR #1868) 277 - Fixed offset bug in OS X pixmap code (STR #1856) 278 - Fixed potential buffer overrun 279 in Fl_Preferences (STR #1853) 280 - Fixed method attributes in consecutive class 281 declarations in FLUID (STR #1741) 282 - FLUID checks for seperately declared callbacks to 283 avoid a bogus "extern" declaration (STR #1776) 284 - Added "protected" class memebrs in FLUID 285 - Double-clicking a widget in a FLUID layout will show 286 the item in the widget browser 287 - Fixed color highlighting in Text_Display 288 - Fixed 16 bit PNM image support (STR #1847) 289 - Fixed exposure event on zero size windows (STR #1824) 290 - Fixed overlay offset for OS X Quartz (STR #1729) 291 - gl_font() support for Xft+X11 (STR #1809) 292 - Fl_Gl_Window::mode() needed to hide and show the window 293 when toggling stereo mode (STR #1846) 294 - Fl_Gl_Window::show() did not work reliably on Mac OS X 295 (STR #1707) 296 - Added Fl_Group::clip_children() methods to support 297 automatic clipping of child widget drawing (STR #1844) 298 - Fl_Browser_ and friends now support FL_WHEN_ENTER_KEY 299 for both Enter/Return and double-clicks (STR #1818) 300 - Fl_Help_View did not release the images it used (STR 301 #1817) 302 - Shared libraries would not build on 64-bit Linux 303 systems with an existing non-PIC FLTK installation 304 (STR #1791) 305 - Fl_Browser::hide() and Fl_Browser::show() did not 306 correctly update the scrollbar (STR #1724) 307 - The configure script now shows a summry of the 308 configuration results (STR #1810) 309 - "fltk-config --use-* --libs" did not list all of the 310 dependent libraries (STR #1799) 311 - Hiding a nested window on WIN32 caused 100% CPU (STR #1748) 312 - Changing the window size in FLUID would not mark the 313 project as modified (STR #1751) 314 - Fixed fl_filename_isdir for "/"-path (STR #1761) 315 - Fixed Fl_Chart drawing (STR #1756) 316 - Fixed mapping of subwindows with unmapped parent 317 windows (STR #1706) 318 - Fixed rendering of grayscale images with alpha 319 channel (STR #1703) 320 - Fixed occasional incomplete refresh (STR #1681) 321 - Improved fl_down, fl_frame, added fl_box (STR #1678) 322 - Fixed selection of submenu items in 323 input_choice (STR #1676) 324 - Fixed calculation of stride for image scaling and 325 color manipulation (STR #1673) 326 - Made -O3 the default optimization on Cygwin/Mingw since 327 -Os currently creates bad code (STR #1656) 328 - OSF/Tru64 now uses 'install-sh' instead of 'install' to 329 accomodate for a missing '-d' option (STR #1632) 330 - New option in Fluid project settings to translate all 331 shortcut modifiers from FL_META or FL_CTRL to FL_COMMAND 332 - Made icon size fixed (50x50) in fl_message etc. (STR #1626) 333 - Fixed selection of first word in Fl_Help_View 334 - Fixed endless loop in Fl_Text_Display (STR #1655) 335 - Allowing shortcuts in Tabs (STR #1652) 336 - Fixed Makefile "make clean" (STR #1642, 337 STR #1643, STR #1641) 338 - The sample RPM spec file now enables large file support 339 and threading support (STR #1603) 340 - Changed minimum contrast between background and text to 341 99 and added more weight to the blue component to improve 342 readability for certain color combinations (STR #1625) 343 - Fixed VCNet OpenGL project file (STR #1617) 344 - Fixed scrolling of clipped areas in MSWindows (STR 345 #1601) 346 - Fixed clipping in OS X Quartz offscreen buffers (STR 347 #1595) 348 - Now flush file chooser preferences after every change to 349 avoid data loss (STR #1609) 350 - The Fl_File_Chooser constructor now saves and restores the 351 current group (STR #1611) 352 - Added Fl::awake(fn*,void*) to set a handler for thread 353 messages (STR #1536) 354 - Added "mute sound" option to Sudoku game. 355 - Updated the bundled zlib to v1.2.3. 356 - Updated the bundled libpng to v1.2.16. 357 - "make install" now uses the install command (or the 358 included install-sh script) to copy files to the 359 install directories, to ensure that permissions are 360 correct. 361 - Fixed DLL generation via MingW/Cygwin (STR #1546) 362 - FLUID incorrectly opened the display when generating 363 source code for Fl_Help_View widgets (STR #1318) 364 - Fl_Double_Window did not always show the scheme 365 background image. 366 - Fixed first window behavior in OS X (STR #1548) 367 - Fixed calculation of character widths for OS X 368 Quartz rendering (no STR) 369 - Fixed OS X mouse click handling (STR #1504) 370 - Added missing GLUT functions so that FLTK can be used 371 as a fairly complete C++ replacement for the original 372 GLUT library (STR #1522) 373 - Fl::awake() could block on X11 and OSX (STR #1537) 374 - Updated recursive mutex code to run on platforms other 375 than Linux and to do a run-time check to determine 376 whether they are supported by the kernel (STR #1575) 377 - WIN32 did check callbacks after the event processing instead of 378 before as documented (STR #1535) 379 - Fl_File_Chooser now hides the window before doing a callback 380 when the user clicks on the OK button (STR #1565) 381 - Fixed indentation of nested HTML elements (STR #1549) 382 - Made layout of Fl_Help_Dialog consistent with other 383 help windows and web browsers. 384 - Improved GTK+ schemed round box (STR #1531) 385 - Fluid avoids writing unsupported combinations of the 386 "when()" flags (STR #1501) 387 - Fl_Browser_ would allow keyboard callbacks even though 388 "when()" was set to "never" (STR #1501) 389 - Added automated little helpers to Sudoku 390 - Added example code for Wizard with the 391 Tabs demo (STR #1564) 392 - Optimized Fl_Tabs drawing for speed (STR #1520) 393 - OS X resource fork now obsolete (STR #1453) 394 - Added chapter 10 about multithreading (STR #1532, 395 1533) 396 - OS X system menu bar top level attribute support 397 improved (STR #1505) 398 - Fixed Quartz image drawing bug (STR #1438) 399 - Fixed Quartz fl_read_image 400 - Overlay drawing is now avoiding XOR mode (STR #1438) 401 - Fixed Scroll crash in Fluid Live Mode (STR #1524) 402 - Fixed mousewheel event propagation (STR #1521) 403 - Fixed drawing issues of a tile in a scroll (STR #1507) 404 - Fixed dismissing buttons in menu bars (STR #1494) 405 - Making a child group visible in a Fl_Tabs or Fl_Wizard 406 group now shows that tab or pane. 407 - Added fl_open_uri() function as proposed on 408 fltk.development. 409 - Added Fl::has_check() which previously was prototyped 410 and documented, but not implemented (STR #1542) 411 - Enabled Fl::add_check() on OS X (STR #1534) 412 - Documented tooltip inheritance (STR #1467) 413 - Better event mouse handling fixing detached menus and 414 sticky tooltips (STR #1463, STR #449) 415 - Added Fl::scrollbar_size() methods that are used by all 416 of the scrollbar-using widgets (STR #1500) 417 - fl_read_image() was broken on Intel-based Macs (STR 418 #1490) 419 - Fl_Progress was using the wrong width to calculate 420 progress (STR #1492) 421 - Fl::x(), Fl::y(), Fl::w(), and Fl::h() did not report 422 the desktop work area on X11 (STR #1482) 423 - Shortcut events could be sent to the wrong window (STR 424 #1451) 425 - Fl_Spinner did not handle the arrow keys properly (STR 426 #1476) 427 - Fl_File_Browser did not calculate the width of 428 directory items correctly (STR #1469, STR #1470) 429 - Fl_Pack incorrectly started widgets at an offset of 1/2 430 the spacing value. 431 - FLUID did not generate correct window class code if 432 the class name was not a standard FLTK window class. 433 - FLUID incorrectly included <FL/Fl_classname.H> for 434 widget classes that were not subclassed from a standard 435 FLTK widget class. 436 - The demo master test program now supports scheme 437 selection and all demos use it (STR #1459) 438 - fl_arc() and fl_pie() did not draw properly on WIN32 439 when the start and end points were identical (STR 440 #1461) 441 - Fl_Input and Fl_Text_Editor now hide the mouse pointer 442 when typing into them (STR #1466) 443 - Implemented alpha blending for Quartz, WIN32, and X11 444 - Check buttons did not redraw properly with box() set to 445 FL_NO_BOX (STR #1440) 446 - Added the Bluecurve-inspired scheme "gtk+". 447 - Updated documentation (STR #1420, STR #1421) 448 - Fixed font caching issue (STR #1415) 449 - Fixed crash in fl_file_chooser (STR #1410) 450 - Fixed Fluid hotspot bug (STR #1416) 451 - Fixed image copy code (STR #1412) 452 - Fixed latin-to-roman text conversion (STR #1411) 453 - Fixed Cygwin timeout for "select" calls (STR #1151) 454 - Improved Mac OS X subwindow handling (STR #1402) 455 - Fixed more inconsistencies between fl_draw and 456 fl_measure (STR #1408) 457 - Fixed fl_measure which mistook a trailing '@@' for a 458 symbol (STR #1406) 459 - Fixed GLUT behavior on window creation (STR #1403) 460 - Fixed OS X bug that would hide tooltips before they 461 were shown (STR #1392) 462 - Fixed Fl_Tabs tooltip reappearing (STR #1324) 463 - Added a new demo game called "Block Attack!" 464 - Updated the Sudoku game to show a notice about Hard and 465 Impossible puzzles having multiple solutions which are 466 not a bug or error (STR #1361) 467 - Fixed filechooser to behave as documented when file 468 pattern changes (STR #1359) 469 - Completed the global function index and added an 470 alphabetical list of all methods (STR #1319) 471 - Avoiding problems with some platforms that don't 472 implement hypot() (STR #1366) 473 - Fixed floating point value formatting for Fl_Spinner 474 (STR #1331) 475 - Fixed Fl_Positioner callback when released (STR #1387) 476 - Fixed WIN32 zero size window issue (STR #1387) 477 - Fixed Sudoku window positioning (STR #1398) 478 - Fluid Code Declarations can now handle C++ style 479 comments (STR #1383) 480 - Fixed uninitialized data in OS X and WIN32 timeout 481 functions (STR #1374). 482 - Fixed speed issues when measuring text on OS X with 483 Quartz (STR #1386). 484 - Fixed focus issues on OS X (STR #1377) 485 - Optional precision argument when storing floats or 486 doubles in a Preferences file (STR #1381) 487 - Fixed callback not called when using arrow keys in 488 Fl_Slider (STR #1333) 489 - Changing the shortcut of a widget in fluid now marks the 490 document as dirty (STR #1382) 491 - Fl_Text_Editor now correctly handles middle mouse 492 clicks (STR #1384) 493 - Added some GLUT4 functions (STR #1370) 494 - Added "context_changed()" function for OpenGL windows 495 which allows efficient texture loading (STR #1372) 496 - Added missing "const" to GLUT call (STR #1371) 497 - Fixed stray FL_RELEASE events after clicking system 498 areas on OS X (STR #1376) 499 - FLUID now only writes definitions of "o" and "w" 500 variables as needed, reducing the number of "variable 501 is shadowed" warnings from GCC. 502 - Added access to Xft font pointer (STR #1328) 503 - Fixed endianness in OS X mouse cursor graphics (STR 504 #1348) 505 - Fixed crash on mixed use of keyboard and mouse for 506 Fl_Menu_Button (STR #1356) 507 - Fixed Fl_Window::visible() and shown() for OS X 508 (STR #1341) 509 - Fixed Fl_Window::copy_label() losing copy (STR #1332) 510 - Documentation fixes (STR #1336, STR #1329, STR #1339, 511 STR #1340) 512 - Added support for floating point Fl_Spinner in the 513 API, documentation, and Fluid (STR #1331) 514 - Repeat button now cancels timeout if it should get 515 deactivated during a callback (STR #1330) 516 - Added support for assigning Fl_Menu_Items to array 517 variables in Fluid (STR #1280) 518 - Added --with-archflags configure option to allow 519 passing of specific architecture-selection options to 520 the compiler and linker. 521 - Fixed WIN32 window stacking bug (STR #1296) 522 - Fixed wrong code generated by FLUID for Scrollbars (STR 523 #1287) 524 - Loading a file would not update the Widget Properties 525 dialog in FLUID (STR #1326) 526 - Fixed key compose sequences for shifted keys (STR 527 #1194) 528 - Added text selection and copy to Fl_Help_View. 529 - Fixed position of popup menu titles (STR #1322) 530 - Showing any window will disable the current tooltip 531 so it won't pop over menus (STR #1321) 532 - Updated documentation to reflect limitation of 533 Fl::delete_widget() (STR #1306) 534 - Fixed line wrapping in Fl_Text_Display (STR #1227) 535 - New function Fl::event_original_key() returns key code 536 before NumLock handling. 537 - Many OS X Quartz fixes (STR #1310, etc.) 538 - Fixed shortcut and default focus for message dialogs 539 (STR #1298) 540 - Fixed focus issues (STR #1286, STR #1289, STR #1296) 541 - Fixed window resizing in OS X (STR #1297) 542 - In FLUID, declarations starting with the keyword 543 'typedef', 'class', or 'struct' are now treated 544 correctly if inside a class (STR #1283) 545 - Tabs now show the correct tooltip (STR #1282) 546 - Included fltk.spec in configure.in (STR #1274) 547 - Fixed insufficiently invalidated cache 548 in Fl_Browser (STR #1265) 549 - Attempt to fix multi monitor issues (STR #1153) 550 - Fixed warnings when compiling w/Cygwin (STR #1152) 551 - Fixed missing reset of flag in FLUID (STR #1187) 552 - Fixed maximizing in OS X (STR #1221) 553 - Fixed 'make distclean' to remove binaries inside 554 MacOS app packages (STR #1169) 555 - FLUID Code Viewer is now truly a viewer, not a text 556 editor because edited text can not be saved. 557 - Fl_Spinner is now fully supported by FLUID (STR #1158) 558 - Fixed usage of deleted object after menu pulldown 559 (STR #1162) 560 - Calling fl_font(0, 0) under Xft would access a NULL 561 pointer (STR #1205) 562 - Setting a new value in Fl_Input_ wil now actually move 563 cursor to the end of the input field as documented 564 (STR #1161) 565 - FLUID crashed on WIN32 with international characters 566 (STR #1176) 567 - Fl_Check_Browser did not allow the user to toggle the 568 check boxes (STR #1232) 569 - Fl_Help_View crashed on WIN32 with international 570 characters (STR #1228) 571 - Fl::run() no longer clears resources on WIN32 (STR 572 #1231) 573 - Fl::add_timeout() leaked resources on OSX (STR #1233) 574 - Accented characters could not be entered on OSX (STR 575 #1195) 576 - The caret key lookup was missing for OS X 577 - FLUID didn't handle loading .fl files with 578 international characters properly with all compilers 579 (STR #1150) 580 - Fl_Spinner's minimum() and maximum() "get" methods were 581 misspelled (STR #1146) 582 - The largefile support changes in 1.1.7 broke binary 583 compability for fl_filename_list(); you must now use 584 "--enable-largefile" when configuring to get large file 585 support, and the large file support definitions are 586 added to the output of "fltk-config --cflags" (STR 587 #1159) 588 589 590CHANGES IN FLTK 1.1.7 591 592 - Documentation fixes (STR #571, STR #648, STR #692, STR 593 #730, STR #744, STR #745, STR #931, STR #942, STR #960, 594 STR #969) 595 - Various menu widget fixes (STR #1140, STR #1143, STR 596 #1144) 597 - The threads demo would display negative prime numbers 598 on MacOS X; this appears to be a MacOS X bug, but we 599 added a workaround to "fix" this (STR #1138) 600 - Fl::dnd() now sets the content type of the drag to 601 "text/uri-list" when it sees the dragged text is 602 composed of URIs. 603 - Fixed keyboard shortcut handling in FLUID and shortcut 604 labeling in FLTK (STR #1129) 605 - Fixed include path for CMake build (STR #1123) 606 - Fixed unnecessary delay in WIN32 event handling 607 (STR #1104) 608 - Fixed handling of Ctrl-C in Fl_Text_Display (STR #1122) 609 - OS X Quartz version now draw a nice resize control (STR 610 #1099) 611 - FLTK now enables large file support when available (STR 612 #1087) 613 - Fl_Clock_Output depended on a time value that was the 614 same as an unsigned long, which is incorrect for WIN64 615 and VC++ 2005 (STR #1079) 616 - Fl_Text_Display::wrap_mode() would crash if no buffer 617 was associated with the widget (STR #1069) 618 - Updated the default label and text colors of all widgets 619 to use FL_FOREGROUND_COLOR instead of FL_BLACK (STR 620 #1052) 621 - Fl::set_fonts() now works with Xft (STR #1012) 622 - Fl_Value_Input now uses the screen-absolute position 623 instead of the window-relative position when dragging 624 the value; this avoids some jumping conditions (STR 625 #1037) 626 - Menus now pop up fully inside the screen if possible 627 (STR #973) 628 - Fixed illegal access in Preferences (STR #1025) 629 - Fixed x-offset problem in Help_Widget (STR #998) 630 - Clipboard will persist if owner window is hidden (STR 631 #1019) 632 - Fixed handling of Win32 Device Contexts (STR #1007) 633 - Fixed C++ style comments in C files (STR #997) 634 - Fixed signedness of scanf() argument (STR #996) 635 - Fixed cross-compiling problem (STR #995). 636 - FLUID now knows if a static callback is already 637 declared in a class and won't declare it 'extern' (STR 638 #776) 639 - Some actions in FLUID would not set the "changed" flag 640 (STR #984, STR #999) 641 - fl_filename_list now always appends a forward slash to 642 directory names (STR #874) 643 - Multiline Input will update right if a space character is 644 inserted in word wrap mode (STR #981) 645 - FLUID group labels redraw correctly (STR #959) 646 - FLUID now updates color of Fl_Tabs children (STR #979) 647 - FLUID now supports 'size_range()' (STR #851) 648 - FLUID selection boxes now synchronised (STR #964) 649 - fl_filename_list() now recognizes pathnames without 650 trailing slash as directions (STR #854) 651 - Fl_Text_Display now auto-scrolls in all 652 directions (STR #915) 653 - Borderless windows will not show in the taskbar anymore 654 on X11 (STR #933) 655 - Fixed event_text() field on FL_DND_* event on 656 OS X and WIN32 (STR #968) 657 - The fltk-config utility now supports "--cc" and "--cxx" 658 options to get the C and C++ compilers that were used 659 to compile FLTK (STR #868) 660 - Fl_Valuator-derived widgets could show more digits than 661 were necessary (STR #971) 662 - Fl_GIF_Image did not handle images with an incorrect 663 number of data bits (STR #914) 664 - Fixed some plastic drawing artifacts (STR #906) 665 - Fl_Help_View now draws the box outside the scrollbars, 666 like the other scrollable widgets (STR #871) 667 - The fltk-config script now handles invocation via a 668 symlink (STR #869) 669 - Updated WIN32 cut/paste code to consistently handle DOS 670 text (STR #961) 671 - Added shared library support for Cygwin and MingW (STR 672 #893) 673 - Fl_File_Chooser did not implement the user_data() 674 methods (STR #970) 675 - Compilation could fail if a previous installation of 676 FLTK was in the same (non-standard) directory as an 677 image library (STR #926) 678 - Fixed OSX compilation problems with non-HFS filesystems 679 (STR #972) 680 - Problems with CMake on MinGW have been solved, thanks 681 to Mr. "fltk.x0", who submitted the patch. (STR #863) 682 - Fixed memory leak in Fl_Check_Browser reported by 683 "miguel2i". (STR #967) 684 - Fl_File_Input could draw in the wrong window (STR #958) 685 - WIN32: Internal WM_PAINT message now ignored (STR #831) 686 - Added Windows support for Fl_Window::xclass() (STR #848) 687 - Floating point input field allows characters from 688 current locale (STR #903) 689 - Fixed integration of Fl_Input_Choice into FLUID (STR 690 #879) 691 - New windows touching the right screen border would be 692 positioned all the way to the left (STR #898) 693 - Made pie drawing size for WIN32 and OS X the same as 694 X11 (STR #905) 695 - Fixed OS X issue with OpenGL windows inside of Tabs 696 (STR #602) 697 - FLUID Code Editor would occasionally not draw the last 698 character in the buffer (STR #798) 699 - FLUID Declaration private flag fixed (STR #799) 700 - FLUID overlay now shows a seperate bounding box of 701 selected items with correct handles and a dotted 702 boundig box for all labels (STR #790) 703 - Fixed left overhang of large chracters in Fl_Input_ 704 (STR #941) 705 - Fixed button resizing in File Chooser (STR #884) 706 - Fixed FLUID redraw issue (STR #912) 707 - Added 32bit BMP Image file format support (STR #918) 708 - Value Sliders would not receive focus when clicked on 709 (STR #911) 710 - Added redraw of some widgets to show focus change (STR 711 #910) 712 - Fl::set_font would not clear 'pretty' name (STR #902) 713 - Fixed unescaped '@' in fonts demo (STR #867) 714 - FLUID should not open the Display connection anymore if 715 creating code only (STR #904) 716 - Improved hidden copy / ctor implementation (STR #860) 717 - Increased matrix stack depth and added over/underflow 718 error (STR #924) 719 - Reverted Mac Carbon Clipping simplification that broke 720 subwindow clipping (STR #908, SVN r4386) 721 - Fixed bitmap scaling code 722 - Fixed tiny memory leak (STR #878) 723 - Fixed hang on corrupt jpeg (STR #915) 724 - Fixed static allocation of font buffer in demo (STR #909) 725 - Added symbols 'refresh', 'reload', 'undo', and 'redo'. 726 - Fixed focus loss on Fl_Window:resize() 727 - Fl::delete_widget would hang fl_wait after deleting the 728 window (STR #679) 729 - Fl::paste would sometimes not recoginze external 730 changes of the clipboard (STR #722) 731 - Clipping fixes for OSX 732 - Removed attempt to find items via 733 Fl_Menu_::find_item() in linked submenus 734 - FLUID interactive window resizing fixes (STR #873, 791) 735 - FLUID panel resize and alignment fixes (STR #891) 736 - Fl_Window::show(argc, argv) now sets the scheme before 737 showing the window; this should eliminate any 738 flickering between the standard and plastic schemes on 739 startup (STR #886) 740 - Selected tabs are now drawn slightly larger than 741 unselected tabs so they stand out more (STR #882) 742 - Round Plastic boxes now draw round (STR #841) 743 - FL_PLASTIC_DOWN_BOX drew with artifacts (STR #852) 744 - Changed initializations on WIN32 (STR #862) 745 - Fl_Preferences::getUserdataPath() didn't work for 746 sub-groups (STR #872) 747 - Fixed some redraw issues on Windows XP. 748 - FLUID didn't set the initial size of widgets properly 749 (STR #850) 750 - Fl_Tabs would steal focus away from its children on a 751 window focus change (STR #870) 752 - filename_relative() now converts the current directory 753 to forward slashes as needed on WIN32 (STR #816) 754 - Fl_File_Chooser::value() and ::directory() now handle 755 paths with backslashes on WIN32 (STR #811) 756 - Added the standard rgb.txt file from X11 to the test 757 directory, allowing all platforms to try the colbrowser 758 demo (STR #843) 759 - Resizing of OpenGL subwindows was broken on OSX (STR #804) 760 - The fltk-config script now supports running from a 761 source directory (STR #840) 762 - Fl_Browser_ didn't update the position properly when an 763 item was deleted (STR #839) 764 - fl_contrast() now compares the luminosity of each color 765 (STR #837) 766 - Fl_Input_ crashed on some platforms when wrapping 767 international text characters (STR #836) 768 - Fixed some BMP images loading bugs (STR #825) 769 - Fl_File_Chooser now returns directory names with a 770 trailing slash to avoid problems with relative 771 filenames (STR #819) 772 - Fl_Help_View now supports the FONT and U elements (STR 773 #815) 774 - OpenGL windows that were completely off-screen caused 775 problems with some graphics cards on WIN32 (STR #831) 776 - Multiple screen support didn't work on Windows NT and 777 95 (STR #821) 778 - Fl_Scrollbar didn't compute the correct knob size when 779 using the "nice" types (STR #845) 780 - fl_draw() would segfault on WIN32 if no font was set; 781 it now uses the default font (STR #828) 782 - Fl_Browser_ was calling the callback multiple times for 783 a single selection change with FL_WHEN_CHANGED (STR 784 #834) 785 - Added "filenew", "fileopen", "filesave", "filesaveas", 786 and "fileprint" symbols with standard toolbar 787 symbology. 788 - Updated Fl_Tabs to check the contrast of the label 789 color against the tab background, and to highlight the 790 top 5 lines of the tab pane with the selection color so 791 that selected tabs stand out more. 792 - The example programs can now compile separate from the 793 FLTK source distribution (STR #809) 794 - The example programs are now installed with the 795 documentation (STR #809) 796 - Fixed the drawing of the Fl_Browser_ selection box (STR 797 #786) 798 - Dropped Codewarrier project files and support. 799 - The FLTK string functions are now compiled in on all 800 systems (STR #774) 801 - Fixed symbol demo label bug (STR #777) 802 - Fixed position of menu titles (STR #795) 803 - Added missing Fl_Window::copy_label() method. 804 - Fixed wrong tooltip in FLUID (STR #784) 805 - Added zlib path to FLUID (STR #783) 806 - Menus and other pop-up windows now obey screen 807 boundaries on multi-screen displays (STR #781) 808 - Fl_Chart would draw outside its bounding box (STR #780) 809 - Added Fl::screen_count() and Fl::screen_xywh() APIs to 810 support multi-screen displays. 811 - FLUID now supports direct creation of widget classes. 812 - Fl_File_Chooser now correctly handles multiple 813 selections that are a mix of files and directories. 814 - Fl_File_Chooser no longer resets the type() when 815 choosing a single file, and it now works when selecting 816 multiple directories (STR #747) 817 - Fl_File_Icon::load_system_icons() now only loads 16x16 818 and 32x32 icon images to improve startup performance. 819 - Pressing Enter in the file chooser when selecting a 820 directory will choose that directory if it is currently 821 shown (STR #746) 822 - Added a fl_file_chooser_ok_label() function to set the 823 "OK" button label for the fl_file_chooser() and 824 fl_dir_chooser() functions. 825 - Added Fl_File_Chooser::ok_label() methods to set the 826 "OK" button label. 827 - The fl_ask() function is now deprecated since it does 828 not conform to the FLTK Human Interface Guidelines. 829 - The Fl_File_Chooser window now properly resizes its 830 controls (STR #766) 831 - The Fl_Help_Dialog window now properly resizes its 832 controls (STR #768) 833 - The Fl_File_Chooser favorites window is now resizable 834 (STR #770) 835 - Now provide FL_PLASTIC_ROUND_UP/DOWN_BOX box types 836 which are used by the plastic scheme. 837 - FLUID windows that are resized through the widget panel 838 now remain resizable by the window manager. 839 - Increased the size of the background image used by 840 the plastic scheme to reduce the CPU load of redraws 841 (STR #769) 842 - Fixed a syntax highlighting bug in the editor demo. 843 - Fl_Progress now contrasts the label color with the bar 844 color, so labels will be readable at all times. 845 - fl_read_image() didn't use the right red, green, and 846 blue masks on XFree86. 847 - Fixed Quickdraw drawing of 3 and 4 sided polygons (STR 848 #765) 849 - Fixed fl_message() code so that it does not get 850 accidentaly addded to the current group (STR #253) 851 - FLUID now highlights code in the widget callback and 852 code editors. 853 - FLUID now supports printing of windows. 854 - Fixed inactive drawing of border, embossed, and 855 engraved box types. 856 - Added Fl_Spinner widget (another combination of 857 existing widgets in a header file) 858 - FLUID now provides support for UI templates. 859 - fl_not_clipped() incorrectly used the current window 860 dimensions for gross clipping, which interfered with 861 off-screen rendering. 862 - Fl_Window::draw() and Fl_Window::iconlabel() could leak 863 memory if copy_label() was used on the window. 864 - fl_shortcut_label() now shows letter shortcuts in 865 uppercase, e.g. "Ctrl+N" instead of "Ctrl+n" to be 866 consistent with other toolkits. 867 - FLUID now provides unlimited undo/redo support. 868 - FLUID now provides an option to choose which scheme 869 (default, none, plastic) to display. 870 - Fixed scheme background issue with windows in FLUID. 871 - In FLUID, new widgets are now created with the ideal 872 size by default, and menu bars are positioned to use 873 the entire width of the window. 874 - Added Layout/Widget Size submenu to select default 875 label and text size (Tiny, Small, and Normal). 876 - Added Edit/Duplicate command to FLUID to duplicate the 877 current selection. 878 - FLUID now tracks the current state of the widget bin 879 and overlays. 880 - Now fill the widget image paths with relative 881 filenames. 882 - Fixed frame drawing of Fl_Text_Display (STR #762) 883 - Fl_Clock_Output::value() did not return the previously 884 set value (STR #748) 885 - Added comment type to FLUID. This is useful for 886 generating copyright notices in the source and header 887 files. 888 - Fl_Valuator would not format text output with decimal 889 point when the step value was fractional, but above 1. 890 - fl_filename_relative() didn't compare drive letters in 891 a case-insensitive way (STR #741) 892 - Fixed menu item width calculations with symbols (STR 893 #740) 894 - The keyboard shortcut handling code did not handle 895 8-bit characters properly (STR #731) 896 - Fl_JPEG_Image could still crash an app with a corrupt 897 JPEG file (STR #739) 898 - Using the layout alignment controls on a menu widget 899 would cause FLUID to crash (STR #742) 900 - Added QNX bug workaround for menu handling (STR #704) 901 - Added Greg Ercolano's simple Fl_Input_Choice widget 902 which is a combination of the Fl_Input and 903 Fl_Menu_Button widgets (STR #650) 904 - Fl_Multiline_Input now scrolls the full height of the 905 widget instead of 5 lines when the user presses PageUp 906 or PageDown (STR #727) 907 - CMake build fixes (STR #724) 908 - Fl_Browser::swap() didn't handle redraws properly when 909 the swapped lines had different heights (STR #729) 910 - FL_MOUSEWHEEL events are now sent first to the widget 911 under the mouse pointer and then to the first widget 912 which accepts them. This is similar to the way 913 shortcut events are handled and is consistent with the 914 way the mouse wheel is handled by other toolkits. 915 - Fl::wait() could block on WIN32 if the window was 916 deleted via Fl::delete_widget() (STR #679) 917 - Fl_Preferences::RootNode did not find the user's home 918 directory on some non-US versions of Windows (STR 919 #720) 920 - Fl_Window::hide() didn't delete the current clipping 921 region on WIN32, causing a GDI resource leak in some 922 situations (STR #723) 923 - Removed a few warnings when compiling on OS X 924 - Fl_Menu now draws the arrow more like other toolkits 925 and 2.0 (STR #651) 926 - Fixed a VC++ compiler error in Fl_JPEG_Image.cxx (STR 927 #676) 928 - FL_SHADOW_BOX/FRAME drew outside of the bounding box 929 (STR #694) 930 - Fl_Widget::copy_label(NULL) didn't work (STR #707) 931 - Fl_Choice now allows click selection like 932 Fl_Menu_Button and Fl_Menubar (STR #706) 933 - Updated cmake support (STR #645) 934 - Fl_Check_Browser didn't draw properly when inactive 935 (STR #681) 936 - Removed some redundant code in Fl_Group::handle() (STR 937 #669) 938 - The file chooser didn't always deactivate the OK 939 button when necessary (STR #653) 940 - Image drawing on OSX changed the current drawing 941 colors (STR #662) 942 - Fixed some compiler errors on WIN32 (STR #647, STR 943 #726) 944 - FLUID didn't update the widget panel X/Y/W/H values 945 when moving the selected window (STR #701) 946 - FLUID didn't use the label type constant names for 947 menu items, causing them to be drawn using the normal 948 label type (STR #668) 949 - Fl_File_Chooser was slow with large directories (STR 950 #654) 951 - FLUID didn't add xclass() calls to windows (STR #718) 952 - The X11 DND code did not correctly select a text 953 format for incoming data (STR #711) 954 - Fixes to Fl_JPEG_Image error handler. 955 - Fl_Menu::popup() and ::pulldown() would crash an 956 application if a callback created widgets before they 957 returned (STR #685) 958 - Fl_Double_Window would cause a full redraw, even if 959 only small parts of the UI were changed on Mac OS X. 960 - Fl_JPEG_Image did not correctly handle errors reported 961 by the JPEG library (STR #652) 962 - Fl_Menu now draws sub-menu arrows like other toolkits 963 and FLTK 2.0 (STR #651) 964 - Fixed a compiler warning in Fl_Window.H (STR #641) 965 - Tooltips disabled shortcut processing (STR #643) 966 - Fl::event_number() didn't always match the value sent 967 to the handle() method (STR #634) 968 - Fl_Shared_Image::reload() didn't set the image_ 969 pointer properly in all cases (STR #632) 970 - Fl_Help_View::topline() incorrectly set the changed() 971 flag (STR #631) 972 - Fl_Choice::value() now supports NULL or -1 to deselect 973 the current item (STR #637) 974 - More VC++ 6 project file fixes (STR #638) 975 - Added missing Watcom makefile in the test directory 976 (STR #636) 977 - Fl_Text_Display::word_left would hang if the cursor 978 was at position 0 (STR #635) 979 980 981CHANGES IN FLTK 1.1.6 982 983 - Documentation updates (STR #552, STR #608) 984 - Added the 2.0 Fl_Widget::copy_label() method to 985 allow FLTK 1.x applications to have their label 986 strings managed by FLTK (STR #630) 987 - Added Fl::delete_widget() method to safely delete 988 widgets in callback methods (STR #629) 989 - Fl_Widget::damage(uchar,int,int,int,int) didn't clip 990 the bounding box properly (STR #626) 991 - Windows could appear on the wrong screen on OSX (STR 992 #628) 993 - Fl_Double_Window produced an error on resize with X11 994 - FLUID didn't display menu items using images properly 995 (STR #564) 996 - Fl_Sys_Menu_Bar didn't compile on case-sensitive 997 file-systems (STR #622) 998 - FLUID didn't handle default function parameters 999 properly (STR #579) 1000 - Moving or resizing widgets in FLUID didn't always 1001 update the widget panel (STR #600) 1002 - FLTK windows could appear off-screen on X11 (STR #586) 1003 - The configure script did not support 1004 --disable-localfoo to completely disable image file 1005 support (STR #582) 1006 - The Visual C++ 6.0 project files still listed the old 1007 JPEG, PNG, and ZLIB library names (STR #577) 1008 - Fixed the scandir() conditional code for HP-UX 11i 1009 (STR #585) 1010 - Fl_Text_Display didn't support CTRL/CMD-A/C (STR #601) 1011 - Watcom fixes (STR #581, STR #584, STR #594, STR #595, 1012 STR #623, STR #627) 1013 - Fixed library include order when building DSOs on 1014 MacOS X (STR #596) 1015 - fl_xid() could cause a WIN32 application to crash (STR 1016 #560, STR #576, STR #618) 1017 - Fl_Browser::remove_() removed the item from the list 1018 before computing the item height, which caused 1019 problems with some programs (STR #613) 1020 1021 1022CHANGES IN FLTK 1.1.5 1023 1024 - Documentation updates (STR #568, STR #570) 1025 - Shortcuts were incorrectly underlined in multi-line 1026 labels (STR #566) 1027 - More CMake updates (STR #499) 1028 - The Watcom C++ compiler needed a small change (STR 1029 #567) 1030 - Added DESTDIR support and now remove all man pages for 1031 the "uninstall" target (STR #545) 1032 - Fix PNG drawing on buggy WIN32 graphics cards (STR 1033 #548) 1034 - The configure script didn't propagate the CPPFLAGS 1035 environment variable (STR #549) 1036 - The numpad keys didn't work properly on WIN32 (STR 1037 #502) 1038 - fl_input() and friends now set the input focus to the 1039 text field when the dialog is shown (STR #553) 1040 - Fixed background color mixup when drawing Fl_Choice 1041 menus (STR #544) 1042 - Fixed MingW makefiles (STR #550) 1043 - More VC++ project file tweaking (STR #559) 1044 - Fl_PNG_Image didn't use the png_set_trns_to_alpha 1045 function when available (STR #547) 1046 - The FL_UNFOCUS event wasn't always sent when switching 1047 tabs (STR #558) 1048 1049 1050CHANGES IN FLTK 1.1.5rc3 1051 1052 - Documentation updates (STR #505, STR #513) 1053 - Updated PNG library source to 1.2.7. 1054 - Updated ZLIB library source to 1.2.1. 1055 - Fixed VC++ project file problems (STR #476, STR #478, 1056 STR #520, STR #527, STR #537) 1057 - Now look for 8 bits of alpha when the developer has 1058 requested FL_RGB8 (STR #541) 1059 - The last line in an Fl_Help_View widget was not 1060 aligned properly (STR #536) 1061 - The "search" symbol looked like a Q (STR #536) 1062 - Changed Fl_Help_View::get_color() to use a lookup 1063 table to avoid serious Borland C++ 5.5 compiler bugs 1064 (STR #533) 1065 - Fixed Watcom compiler warnings with FL/Fl_Widget.H 1066 (STR #540) 1067 - The image class copy() methods did not always make a 1068 separate copy of the image data (STR #539) 1069 - Fixed an edge case in fl_old_shortcut() that could 1070 cause it to read beyond then end of the shortcut 1071 string (used for XForms named shortcuts) 1072 - Added (unsupported) CMake files (STR #499) 1073 - Tooltips would not reappear on the same widget, and 1074 the initial tooltip delay was not used after a tooltip 1075 was shown (STR #465) 1076 - Fixed a compile problem with the Linux 2.6 threading 1077 support (STR #483) 1078 - Fixed problems with 2-byte Xpm files on 64-bit 1079 platforms (STR #525) 1080 - FLTK didn't handle the ReparentNotify event on X11 1081 (STR #524) 1082 - The old source file "fl_set_gray.cxx" is not needed 1083 (STR #516) 1084 - Fl_Text_Display still called delete[] instead of 1085 free() in one place (STR #503) 1086 - The symbol test program did not handle the @+ symbol 1087 properly (STR #490) 1088 - Fl_File_Chooser didn't correctly call isprint() and 1089 isspace() when checking to see if the current file was 1090 text that can be previewed (STR #517) 1091 - FLUID didn't compile with Borland C++ due to a 1092 compiler bug (STR #496) 1093 - Fl_Positioner did not handle reversed min and max 1094 values (STR #510) 1095 - fl_descent(), fl_height(), and fl_width() would crash 1096 a program if you didn't call fl_font() first; they now 1097 return -1 if no font is set (STR #500) 1098 - Added test/unittests to verify pixel drawing and 1099 alignment across platforms 1100 - Fl_Menu_::find_item() didn't determine the menu path 1101 properly (STR #481) 1102 - The build system now installs image library header 1103 files in FL/images/filename.h so that FLTK programs 1104 will use the same header files as the FLTK image 1105 libraries. 1106 - The build system now creates image libraries named 1107 "libfltk_name.a" instead of "libname.a" to avoid 1108 clobbering an existing installed library (STR #480) 1109 1110 1111CHANGES IN FLTK 1.1.5rc2 1112 1113 - Documentation updates (STR #365, STR #399, STR #407, 1114 STR #412, STR #414, STR #452, STR #462) 1115 - Fl_Text_Display did not handle drawing of overlapping 1116 text (italic next to plain, etc.) properly (STR #381) 1117 - All of the core widgets now consistently set changed() 1118 before calling the callback function for a change in 1119 value; this allows programs to check the changed() 1120 state in a callback to see why they are being called 1121 (STR #475) 1122 - Fl_File_Chooser did not handle some cases for filename 1123 completion (STR #376) 1124 - Fl_Help_View didn't properly compute the default 1125 maximum width of the page properly, resulting in 1126 non-wrapped text in table cells (STR #464) 1127 - Fl_Text_Editor no longer tries to emulate the Emacs 1128 CTRL-A shortcut to move to the first column, since 1129 there is a key for that and the widget does not 1130 emulate any other Emacs keys (STR #421) 1131 - Fl_File_Chooser always disabled the OK button when the 1132 user pressed DELETE or BACKSPACE (STR #397) 1133 - Added Fl_Browser::swap() methods (STR #459) 1134 - Fl_Counter didn't use a thin down box for the text 1135 field if the box type was set to FL_THIN_UP_BOX (STR 1136 #467) 1137 - Fl_Help_View now resets the scrollbars if they go 1138 outside the current view (STR #464) 1139 - fl_dir_chooser() did not show the previous selection 1140 as documented (STR #443) 1141 - Fl_Text_Display used delete[] instead of free() in 1142 some places (STR #466) 1143 - FLTK now includes copies of the PNG, JPEG, and ZLIB 1144 libraries for platforms that do not have them (STR 1145 #441) 1146 - The fltk-config script did not include the 1147 "-mno-cygwin" option under CygWin (STR #434) 1148 - Fl_Help_View::find() did not check for a NULL value 1149 (STR #442) 1150 - Added search symbol to the search field of 1151 Fl_Help_Dialog (STR #417) 1152 - Added two new symbols, @search and @FLTK, which can be 1153 used in labels. 1154 - MacOS X: fixed NumLock mixup, added support for 1155 FL_Menu and FL_Delete keys on external (PC) keyboards 1156 (STR #445) 1157 - Fl_File_Icon::draw() did not support drawing of complex 1158 polygons in icon descriptions (STR #474) 1159 - The configure script now offers options for JPEG, PNG, 1160 and ZLIB libraries (STR #416) 1161 - The first menu item in a list would not go invisible 1162 (STR #406) 1163 - Fl_Text_Buffer::replace() now range checks its input 1164 (STR #385) 1165 - FLTK now builds with the current release of MinGW (STR 1166 #325, STR #401, STR #402) 1167 - FLTK now honors the numlock key state (STR #369) 1168 - The Fl_Text_Display widget did not redraw selections 1169 when focus changed (STR #390) 1170 - The plastic background image is now less contrasty 1171 (STR #394) 1172 - Fl_Scroll now uses a full redraw when the scheme is 1173 set to plastic and the box type is a frame (STR #205) 1174 - Fl_Window::resize() did not work properly with KDE 3.2 1175 (STR #356) 1176 - FLTK didn't delete font bitmaps when the last OpenGL 1177 window was deleted, preventing future text from 1178 displaying (STR #310) 1179 - FLUID didn't include a full initialization record for 1180 the trailing NULL menu items (STR #375) 1181 - Fl_Browser::item_width() did not properly handle 1182 format modifiers (STR #372) 1183 - Fl_Browser::item_height() did not handle columns 1184 properly (STR #371) 1185 - Fl_Gl_Window's on WIN32 now prefer accelerated pixel 1186 formats over generic formats (STR #382) 1187 - Fl_Window::resize() did not work on some systems if 1188 the window was not shown (STR #373) 1189 - FLUID did not write the user_data type if the 1190 user_data field was empty (STR #374) 1191 - The value(const Fl_Menu_Item*) method was not 1192 implemented for Fl_Choice (STR #366) 1193 - Fl_Pack didn't draw child widget labels the same way 1194 as Fl_Group, causing display problems (STR #360) 1195 - fl_read_image() didn't work when reading from an 1196 offscreen buffer with some X11 servers (STR #364) 1197 1198 1199CHANGES IN FLTK 1.1.5rc1 1200 1201 - Documentation updates (STR #186, STR #245, STR #250, 1202 STR #277, STR #281, STR #328, STR #338) 1203 - fl_scroll() did not handle scrolling from off-screen on 1204 WIN32 (STR #315) 1205 - Fl_File_Chooser did not allow manual entry of a drive 1206 letter (STR #339) 1207 - Fl_Menu now uses the boxtype to redraw the menu 1208 background (STR #204) 1209 - Fl_Scroll now shows the background image when a framed 1210 box type is used and the Fl_Scroll is a direct 1211 decendent of a window (STR #205) 1212 - Added a new_directory_tooltip string pointer to allow 1213 localization of the file chooser's new directory 1214 button (STR #340) 1215 - Added Fl_Menu_::find_item() method (STR #316) 1216 - The Fl_Widget copy operator definitions were not 1217 conditionally compiled properly (STR #329) 1218 - FLUID's Layout functionality did not move child 1219 widgets when laying out group widgets (STR #319) 1220 - FLUID's Layout->Center In Group functionality did not 1221 properly handle widgets that were children of a 1222 Fl_Window widget (STR #318) 1223 - The Fl_Text_Display destructor did not remove the 1224 predelete callback associated with the current buffer 1225 (STR #332) 1226 - Fixed several bugs in the MacOS X Fl::add_fd() 1227 handling (STR #333, STR #337) 1228 - The Fl_Text_Display widget did not display selections 1229 set by the application (STR #322) 1230 - FLUID crashed if you did layout with a window widget 1231 (STR #317) 1232 - Fl_Scroll::clear() didn't remove the child widget from 1233 the Fl_Scroll widget (STR #327) 1234 - Fl_Value_Slider::draw_bg() didn't always apply the 1235 clipping rectangle (STR #235) 1236 - fl_filename_relative() returned the wrong string if 1237 the absolute pathname was equal to the current working 1238 directory (STR #224) 1239 - Fl_Help_Dialog didn't correctly restore the scroll 1240 position when going forward/back in the link history 1241 if the file changed (STR #218) 1242 - glutGetModifiers() did not mask off extra state bits, 1243 confusing some GLUT-based applications (STR #213) 1244 - Fixed mouse capture problems on MacOS X (STR #209, STR 1245 #229) 1246 - Fl_Sys_Menu_Bar is now built into the library for 1247 MacOS X (STR #229) 1248 - Fl_Menu_ now provides item_pathname() methods to get 1249 the "pathname" of a menu item, e.g. "File/Quit" (STR 1250 #283) 1251 - Fl_Text_Display now provides cursor_color() methods to 1252 get and set the cursor color (STR #271) 1253 - Fl_Scroll didn't honor FL_NO_BOX (STR #305) 1254 - FLUID declaration blocks didn't support public/private 1255 definitions (STR #301) 1256 - Fl_Preferences incorrectly created the preferences 1257 directory before necessary (STR #247) 1258 - The WIN32 project files still defined the (obsolete) 1259 FL_STATIC constant (STR #279) 1260 - Fl_Text_Display::buffer() did not support NULL values, 1261 making it impossible to clean up text buffers from a 1262 subclass (STR #295) 1263 - Fl_Text_Display did not support a NULL 1264 unfinishedStyleCB function (STR #241) 1265 - Fl::background2() incorrectly marked the foreground 1266 color as initialized (STR #255) 1267 - Fixed the X11 CTRL + "-" detection code to properly 1268 track the state of the CTRL key (STR #264) 1269 - Fl_File_Icon::load_system_icons() didn't support KDE 1270 3.x (STR #299) 1271 - WIN32's scandir() emulation did not allocate enough 1272 memory for directory names (STR #263) 1273 - Fl::compose() did not handle special keys like 1274 backspace properly (STR #293) 1275 - Fl_Choice did not clip its text when drawing using the 1276 plastic scheme (STR #287) 1277 - Fl_Group incorrectly mapped the emacs CTRL keys to 1278 keyboard navigation (STR #228) 1279 - Fl_File_Browser::load() didn't handle a NULL directory 1280 name (STR #266) 1281 - 64-bit library fixes (STR #261) 1282 - The Fl_Valuator::format() function did not limit the 1283 size of the number buffer (STR #268) 1284 - The keypad Enter key works as the normal Enter/Return 1285 key in common widgets (STR #191) 1286 - Fixed some OS/2-specific build problems (STR #185, STR 1287 #197) 1288 - Calling Fl_Text_Display::buffer() with the same buffer 1289 would cause an application to lockup (STR #196) 1290 - Some of the widgets could crash an application if the 1291 cursor was changed after a window was deleted (STR 1292 #181) 1293 - The Fl_Gl_Window WIN32 pixel format code did not 1294 choose the pixel format with the largest depth buffer 1295 (STR #175) 1296 - The configure script didn't leave space between the 1297 CFLAGS/CXXFLAGS and X_CFLAGS variables (STR #174) 1298 - The Fl_JPEG_Image and Fl_PNG_Image classes did not 1299 trap errors from the corresponding image libraries 1300 (STR #168) 1301 - Added "--with-links" configure option to control 1302 whether symlinks are created for the FLTK header files 1303 (STR #164) 1304 - Added new hoverdelay() to Fl_Tooltip to control how 1305 quickly recent tooltips appear (STR #126) 1306 - FLUID now sets the size range when a window is shown. 1307 This seems to be necessary with some window managers 1308 (STR #166) 1309 1310 1311CHANGES IN FLTK 1.1.4 1312 1313 - The fl_read_image() function was not implemented on 1314 OSX (STR #161) 1315 - VC++ 7.1 didn't like how the copy operators were 1316 disabled for the Fl_Widget class; now include inline 1317 code which will never be used but makes VC++ happy 1318 (STR #156) 1319 - Fixed an IRIX compile problem caused by a missing 1320 #include (STR #157) 1321 - FLUID didn't write color/selection_color() calls using 1322 the symbolic names when possible, nor did it cast 1323 integer colors to Fl_Color (STR #146) 1324 - Fl_File_Chooser was very close for multiple file 1325 selection in large directories (STR #140) 1326 - Fl_Text_Display/Editor did not disable the current 1327 selection when focus was shifted to another widget 1328 (STR #131) 1329 - Fl_Choice didn't use the normal focus box when the 1330 plastic scheme was in use (STR #129) 1331 - Fl_Text_Editor didn't use selection_color() 1332 consistently (STR #130) 1333 - The fltk_forms, fltk_gl, and fltk_images DSO's and 1334 HP-UX shared libraries are now linked against the fltk 1335 shared library to provide complete dependency 1336 resolution (STR #118) 1337 - The configure.in file did not work with autoconf 2.57. 1338 - FLUID didn't redraw widgets when changing the X, Y, W, 1339 or H values in the widget panel (STR #120) 1340 - Fl_Window::show(argc, argv) wasn't calling 1341 Fl::get_system_colors() as documented (STR #119) 1342 - DSO (shared library) building wasn't quite right for 1343 some platforms (STR #118) 1344 - OSX: some changes to make ProjectBuilder compiles 1345 possible. 1346 - OSX: FLTK would not know where a window was positioned 1347 by the OS. As a result, popup menus could open at 1348 wrong positions. 1349 1350 1351CHANGES IN FLTK 1.1.4rc2 1352 1353 - Fl_Window::show(argc,argv) incorrectly opened the 1354 display prior to parsing the arguments; this prevented 1355 the "-display foo" option from working (STR #111) 1356 - Images were not clipped properly on MacOS X (STR #114) 1357 - Fl::reload_scheme() and Fl::scheme("foo") incorrectly 1358 called Fl::get_system_colors(). This prevented an 1359 application from setting its own color preferences 1360 (STR #115) 1361 - The 'Enter' key event on OS X would not set 1362 Fl::e_text. 1363 - Changed behaviour of FLUID to always paste into 1364 a selected group (STR #88) 1365 - Menuitem now changes font, even if fontsize 1366 is not set (STR #110) 1367 - Swapped shortcut labels in OS X (STR #86) 1368 - Non-square Fl_Dial would calculate angle from user 1369 input wrong (STR #101) 1370 - Updated documentatiopn of fl_draw (STR #94) 1371 and Fl_Menu_::add() (STR #99) 1372 - FLUID collapse triangle events were not offset by 1373 horizontal scroll (STR #106) 1374 - QuitAppleEvent now correctly returns from Fl::run() 1375 instead of just exiting (STR #87) 1376 - Hiding the first created OpenGL context was not 1377 possible. FLTK now manages a list of contexts (STR #77) 1378 - FLUID didn't keep the double/single buffer type for 1379 windows. 1380 - FLTK didn't work with Xft2. 1381 - OSX window resizing didn't work (STR #64) 1382 - Fixed MacOS X shared library generation (STR #51) 1383 - Several widgets defined their own size() method but 1384 didn't provide an inline method that mapped to the 1385 Fl_Widget::size() method (STR #62) 1386 - Fl_Scroll didn't provide its own clear() method, so 1387 calling clear() on a Fl_Scroll widget would also 1388 destroy the scrollbars (STR #75) 1389 - Fl::event_text() was sometimes initialized to NULL 1390 instead of an empty string (STR #70) 1391 - fl_draw() didn't properly handle a trailing escaped 1392 "@" character (STR #84) 1393 - Added documentation for all forms of 1394 Fl_Widget::damage() (STR #61) 1395 - Fl_Double_Window now has a type() value of 1396 FL_DOUBLE_WINDOW, to allow double-buffered windows to 1397 process redraws properly on WIN32 (STR #46) 1398 - Added FL_DAMAGE_USER1 and FL_DAMAGE_USER2 damage bits 1399 for use by widget developers (STR #57) 1400 - Fl_Help_View didn't support numeric character entities 1401 (STR #66) 1402 - Menu shortcuts didn't use the Mac key names under 1403 MacOS X (STR #71) 1404 - CodeWarrior Mac OS X updated to work with current 1405 CW8.3 (STR #34) 1406 - Apple-C/X/V/Z didn't work in the Fl_Input widget due 1407 to a bad mapping to control keys (STR #79) 1408 - Added the OSX-specific fl_open_callback() function to 1409 handle Open Documents messages from the Finder (STR 1410 #80) 1411 - The configure script contained erroneous whitespace in 1412 various tests which caused errors on some platforms 1413 (STR #60) 1414 - The fltk-config script still supported the deprecated 1415 --prefix and --exec-prefix options; dropped them since 1416 they serve no useful purpose and would never have 1417 worked for the intended purpose anyways... (STR #56) 1418 - fl_filename_list returned 0 on Win32 if no directory 1419 existed (STR #54) 1420 - Pressing 'home' after the last letter in a Text_Editor 1421 would move the cursor to pos 0 (STR #39) 1422 - Fl::get_key(x) would mix up Ctrl and Meta on OS X (STR 1423 #55) 1424 - The configure script used the wrong dynamic library 1425 linking command for OSX (STR #51) 1426 - The Fl_Text_Editor widget did not set changed() nor 1427 did it call the widget's callback function for 1428 FL_WHEN_CHANGED when processing characters that 1429 Fl::compose() handles (STR #52) 1430 1431 1432CHANGES IN FLTK 1.1.4rc1 1433 1434 - The file chooser did not reset the click count when 1435 changing directories; if you clicked on a file in the 1436 same position after changing directories with a 1437 double-click, the chooser treated it as a triple 1438 click (STR #27) 1439 - Symbols with outlines did not get drawn inactive. 1440 - The Fl_Help_View widget now provides a find() method 1441 to search for text within the page. 1442 - The Fl_Help_Dialog widget now provides a search box 1443 for entering text to search for. 1444 - The default font encoding on OSX did not match the 1445 default on WIN32 or X11. 1446 - Menu items were not drawn using the font specified in 1447 the Fl_Menu_Item structure (STR #30) 1448 - Long menus that were aligned such that the top of an 1449 item was exactly at the top of the screen would not 1450 scroll (STR #33) 1451 - The OS issues appendix incorrectly stated that MacOS 1452 8.6 and 9 were supported; they are not (STR #28) 1453 - Fixed handling of nested double-buffered windows (STR 1454 #1) 1455 - Showing a subwindow inside a hidden window would crash 1456 the application (STR #23) 1457 - OSX users couldn't enter some special chars when using 1458 some foreign key layouts (STR #32) 1459 - Hiding subwindows on OSX would hide the parent window 1460 (STR #22) 1461 - Added thin plastic box types. 1462 - Fl_Pack ignored the box() setting and cleared any 1463 unused areas to the widget color; it now only does so 1464 if the box() is set to something other than FL_NO_BOX. 1465 - Updated the Fl_Tabs widget to offset the first tab by 1466 the box dx value to avoid visual errors. 1467 - Updated the plastic up box to draw only a single 1468 border frame instead of the old double one for 1469 improved appearance. 1470 - Updated the default background color on OSX to provide 1471 better contrast. 1472 - Fl_Text_Display and friends now look for the next 1473 non-punctuation/space character for word boundaries 1474 (STR #26) 1475 - gl_font() didn't work properly for X11 when Xft was 1476 used (STR #12) 1477 - Fl_File_Browser incorrectly included "." on WIN32 (STR 1478 #9) 1479 - Include shellapi.h instead of ShellAPI.h in the WIN32 1480 drag-n-drop code in order to work with the MingW cross 1481 compiler (STR #6) 1482 - The cursor was not properly restored when doing 1483 drag-n-drop on X11 (STR #4) 1484 - Fl::remove_fd() didn't recalculate the highest file 1485 descriptor properly (STR #20) 1486 - Fl_Preferences::deleteGroup() didn't work properly 1487 (STR #13) 1488 - Fixed the fl_show_file_selector() function - it was 1489 copying using the wrong string size (STR #14) 1490 - fl_font() and fl_size() were not implemented on MacOS 1491 X. 1492 - Sorted the icon menu bar in FLUID. 1493 - Fixed minor memory access complaints from Valgrind 1494 - Compiling src/flstring.h on OS X with BSD header would 1495 fail. 1496 - Fl_Text_Editor didn't scroll the buffer when the user 1497 pressed Ctrl+End or Ctrl+Home. 1498 - Fl_Text_Editor didn't show its cursor when the mouse 1499 was moved inside the window. 1500 - FLUID now uses an Fl_Text_Display widget for command 1501 output, which allows you to copy and paste text from 1502 command output into other windows. 1503 - Fl_Gl_Window could cause a bus error on MacOS X if the 1504 parent window was not yet shown. 1505 - FLUID could crash after displaying a syntax error 1506 dialog for the callback code. 1507 - FLUID would reset the callback code if you opened the 1508 widget panel for multiple widgets. 1509 - Added a NULL check to Fl_Text_Display (SF Bug #706921). 1510 - The fltk-config script placed the LDFLAGS at the wrong 1511 place in the linker options. 1512 - Fl_Text_Display didn't draw the outer box in the right 1513 dimensions, so it was invisible. 1514 - Fl_Help_Dialog used the same color for links as for 1515 the background, causing links to be invisible on pages 1516 without a background color set. 1517 1518 1519CHANGES IN FLTK 1.1.3 1520 1521 - Documentation updates. 1522 - FLTK now ignores KeyRelease events when X11 sends them 1523 for repeating keys. 1524 - FLUID now supports up to two additional qualifiers 1525 before a class name (FL_EXPORT, etc.) to aide in 1526 developing DLL interfaces for WIN32. 1527 - Additional NULL checks in Fl_Button, 1528 fl_draw_boxtype(), Fl_File_Chooser, and 1529 Fl_Window::hotspot(). 1530 - The Fl_Preferences header file needed to FL_EXPORT all 1531 of the nested classes for WIN32. 1532 - Fl_Double_Window couldn't be nested on WIN32. [SF Bug 1533 #658219] 1534 - Fl_Slider didn't call the callback function when the 1535 user changed the value using the keyboard and the 1536 "when" condition was FL_WHEN_RELEASE. [SF Bug #647072] 1537 - Lines with less than 2 unique vertices and polygons 1538 with less the 3 unique vertices were not drawn 1539 properly. [SF Bug #647067] 1540 - The size_range() values were not honored under MacOS 1541 X. [SF Bug #647074] 1542 - OpenGL windows didn't resize correctly on MacOS X. 1543 [SF Bug #667855] 1544 - The menus incorrectly used the overlay visual when one 1545 or more menu items contained an image. [SF Bug #653846] 1546 - Changed some error messages to use Fl::error() instead 1547 of fprintf()... 1548 - Fl_Text_Buffer and Fl_Text_Display used free to free 1549 memory that was allocated using the new operator. 1550 - Tweeked the plastic scheme under MacOSX to better 1551 match the colors. 1552 - The Fl_Image.H always included the x.H header file, 1553 which included many system headers that could 1554 interfere with normal GUI applications. It now uses 1555 the corresponding based types for the image id and 1556 mask to avoid this. 1557 - The FLUID widget panel wasn't sorted, so keyboard 1558 navigation was strange. [SF Bug #647069] 1559 - Fl_Scroll didn't compute the location of labels to the 1560 right or below when determining the area to erase. 1561 - Added backward-compatibility macro for 1562 filename_setext(). 1563 - Fl_Bitmap::copy(), Fl_Pixmap::copy(), and 1564 Fl_RGB_Image::copy() all could overflow the source 1565 image when scaling the image. 1566 - Double/triple clicks in Fl_Input fields didn't copy 1567 the expanded selection to the clipboard. 1568 - Fl_Glut_Window and Fl_Gl_Window didn't always initialize 1569 the OpenGL context on MacOS. 1570 1571 1572CHANGES IN FLTK 1.1.2 1573 1574 - Fl_Menu_Bar now supports drawing vertical dividers 1575 between menu items and submenus in the menu bar. 1576 - Fl_File_Chooser::value() didn't return NULL when the 1577 user clicked Cancel while selecting a directory. This 1578 bug also affected fl_dir_chooser(). 1579 - Fl_Menu_::add(const char *) used too small a menu item 1580 label buffer and didn't do bounds checking. 1581 - Eliminate some compiler warnings with CodeWarrier 1582 under WIN32 (Paul Chambers) 1583 - Fl_Gl_Window widgets did not resize properly under 1584 MacOS X. 1585 - The cursor could be set for the wrong window in the 1586 text widgets. 1587 - Fl_Check_Browser didn't provide const char * add 1588 methods as documented. 1589 - Fl_Check_Browser didn't draw the same style of check 1590 marks at the other widgets. 1591 - Fl_Button, Fl_Choice, and Fl_Menu_Button incorrectly 1592 activated the button/menu when the spacebar was 1593 pressed in conjunction with shift, control, alt, or 1594 meta. 1595 - FLTK should now compile with Xft 2.0. 1596 - Some versions of Tru64 4.0 have snprintf and 1597 vnsprintf, but don't have the prototypes for those 1598 functions. 1599 - FLTK had trouble doing character composition with some 1600 keyboard layouts under X11 (in particular, Belgian). 1601 - Fl_Text_Editor would cause a segfault if the user 1602 pressed CTRL-V (paste) without having any data in the 1603 clipboard... 1604 - The tab key moved backwards in menus instead of 1605 forwards. Shift-tab still moves backwards. 1606 - The redraw_label() method didn't damage the parent 1607 window when the label was outside the widget's 1608 bounding box. 1609 - Added a "draw_children()" method to Fl_Group to make 1610 subclassing Fl_Group with a custom draw() function 1611 easier. 1612 - Fl_Text_Editor now supports basic undo functionality. 1613 - FLUID now uses Fl_Text_Editor widgets for all 1614 multi-line code fields. 1615 - Added new widget bin and icons to FLUID. 1616 - FLUID would try running multiple commands in parallel, 1617 even though it wasn't capable of handling it. 1618 - FLUID didn't generate code for some attributes when 1619 using custom/named widget classes. 1620 - Added a new FL_COMMAND state bit which maps to FL_CTRL 1621 on X11 and WIN32 and FL_META on MacOS. 1622 - MacOS keyboard modifiers mapping corrections. Cmd and 1623 Control are no longer swapped, event_key and event_text 1624 return (mostly) the same values as on other platforms. 1625 - The Fl_Tabs widget should no longer be a focus hog; 1626 previously it would take focus from child widgets. 1627 - The file chooser now activates the OK button when 1628 opening a directory in directory selection mode. 1629 - Fixed a bug in the file chooser when entering an 1630 absolute path. 1631 - Back-ported some FLTK 2.0 tooltip changes to eliminate 1632 erroneous tooltip display. 1633 - MacOS windows were resizable, even when size_range 1634 would not allow for resizing. 1635 - Fl_Text_Editor now supports Shift+Delete, Ctrl+Insert, 1636 and Shift+Insert for cut, copy, and paste, 1637 respectively. 1638 - Fl_Text_Display didn't restore the mouse pointer when 1639 hidden. 1640 - Fl::arg() now ignores the MacOS X -psn_N_NNNNN option. 1641 - Added another change to the WIN32 redraw handling for 1642 the MingW compilers. 1643 - Fl_File_Chooser didn't handle WIN32 home directories 1644 that used backslashes instead of forward slashes. 1645 - Fl_Text_Display didn't limit the resize height to 1 1646 line. 1647 - Fl_Scrollbar widgets incorrectly took keyboard focus 1648 when clicked on. This caused widgets such as 1649 Fl_Text_Display to hide the cursor when you scrolled 1650 the text. 1651 1652 1653CHANGES IN FLTK 1.1.1 1654 1655 - Fl_Text_Display didn't always show the cursor. 1656 - Fl_Tabs now only redraws the tabs themselves when 1657 making focus changes. This reduces flicker in tabbed 1658 interfaces. 1659 - The WIN32 redraw handler now correctly merges the FLTK 1660 and Windows redraw regions. 1661 - The Fl_Text_* widgets use the C++ bool type, which is 1662 not supported by older C++ compilers. Added a 1663 configure check and workaround code for this. 1664 - Fl_X::set_xid() didn't initialize the backbuffer_bad 1665 element that was used with XDBE. 1666 - Fl_Shared_Image::uncache() was not implemented. 1667 - Fl::set_font() didn't 0-initialize all font descriptor 1668 data. 1669 - Some OpenGL implementations don't support single- 1670 buffered visuals. The Fl_Gl_Window class now emulates 1671 single-buffered windows using double-buffered 1672 windows. 1673 - Added a workaround for a compiler bug in Borland C++ 1674 that prevented Fl_Help_View.cxx from compiling. 1675 - Checkmarks didn't scale properly; copied the 2.0 check 1676 mark code over. 1677 - Replaced several memcpy's with memmove's for 1678 portability (memmove allows for overlapping copies, 1679 memcpy does not) 1680 - Bug #621737: Fl_Bitmap::copy(), Fl_Pixmap::copy(), and 1681 Fl_RGB_Image::copy() now range-check the new width and 1682 height to make sure they are positive integers. 1683 - Bug #621740: the WIN32 port needed to handle WM_MOUSELEAVE events 1684 in order to avoid problems with tooltips. 1685 - Fl_PNM_Image didn't set the "alloc" flag for the data, 1686 which could lead to a memory leak. 1687 - fl_filename_match() was inconsistently doing case- 1688 insensitive matching. 1689 - Fl_Button redraw fix for bug #620979 (focus boxes and 1690 check buttons). 1691 - Fl_Text_Display fix for bug #620633 (crash on 1692 redisplay). 1693 - Fl_Output now calls its callback when the user clicks 1694 or drags in the widget. 1695 - Shortcuts now cause buttons to take focus when visible 1696 focus is enabled. 1697 - fl_filename_relative() didn't check that the path was 1698 absolute under WIN32. 1699 - fl_filename_relative() didn't check that the path was 1700 on the current drive under WIN32. 1701 - The Fl_BMP_Image class now handles 16-bit BMP files 1702 and BMP files with a transparency mask. 1703 - The fltk-config script didn't add the required include 1704 path, if any, when compiling a program. 1705 - Added a license clarification that the FLTK manual is 1706 covered by the same license as FLTK itself. 1707 - Fl_Check_Browser wasn't documented. 1708 - Fl_Preferences::Node::addChild(), deleteEntry(), and 1709 remove() didn't set the "dirty" flag. 1710 - The "no change" button didn't work in the FLUID widget 1711 panel. 1712 - Vertical scrollbars did not draw the arrows inactive 1713 when the scrollbar was inactive. 1714 1715 1716CHANGES IN FLTK 1.1.0 1717 1718 - Documentation updates. 1719 - Added a Fl_Widget::redraw_label() method which flags a 1720 redraw of the appropriate area. This helps to 1721 eliminate flicker when updating the value of a widget. 1722 - Fl_Wizard::value() now resets the mouse cursor to the 1723 window's default cursor. 1724 - Fl_File_Chooser::type() didn't enable/disable the new 1725 directory button correctly. 1726 - Fl_Preferences::entryExists() did not work properly. 1727 - FLUID's image file chooser pattern was incorrect. 1728 - Fl_File_Icon::load_system_icons() now detects KDE 1729 icons in /opt/kde, /usr/local, and /usr automatically, 1730 and supports the KDEDIR environment variable as well. 1731 - Submenus now display to the left of the parent menu if 1732 they won't fit to the right. Previously they would 1733 display right on top of the parent menu... 1734 - Fl_Menu_:add() didn't handle a trailing "\" character 1735 gracefully. 1736 - Clicking/dragging the middle mouse button in a 1737 scrollbar now moves directly to that scroll position, 1738 matching the behavior of other toolkits. 1739 - Added some more range checking to the Fl_Text_Display 1740 widget. 1741 - The editor demo did not correctly update the style 1742 (syntax highlighting) information. 1743 1744 1745CHANGES IN FLTK 1.1.0rc7 1746 1747 - Updated the Fl_Text_Buffer and Fl_Text_Display classes 1748 to be based on NEdit 5.3 (patch from George Garvey). 1749 - Fixed a problem with Fl::wait(0.0) on MacOS X 10.2; 1750 this affected the fractals demo and other OpenGL 1751 applications. 1752 - Fl_Glut_Window now takes keyboard focus and handles 1753 shortcut events. 1754 - The MacOS X implementation of fl_ready() now checks 1755 the event queue for events. 1756 - Fl_PNM_Image now supports the XV/GIMP thumbnail format 1757 (P7). 1758 - Fl_Preferences would not find groups inside the root 1759 group. 1760 - Small bug fixes for Fl_Chart, Fl_Scrollbar, Fl_Tabs, 1761 and FLUID from Matthew Morrise. 1762 - Fl_Chart didn't have its own destructor, so data in 1763 the chart wasn't freed. 1764 - Fl_Menu_Button no longer responds to focus or keyboard 1765 events when box() is FL_NO_BOX. 1766 - FLTK convenience dialogs put the buttons in the wrong 1767 order. 1768 - Fl_BMP_Image didn't load 4-bit BMP files properly. 1769 - Minor tweeks to the WIN32 DLL support. 1770 - Fl_Text_Display::resize() could go into an infinite 1771 loop if the buffer is emptied. 1772 - Fl::handle() didn't pass FL_RELEASE events to the 1773 grab() widget if pushed() was set (for proper menu 1774 handling...) 1775 - DND events were being sent to the target window 1776 instead of the target widget under WIN32. 1777 - The newest Cygwin needs the same scandir() handling as 1778 HP-UX. 1779 - FLUID didn't register the image formats in the 1780 fltk_images library, and had some other image 1781 management problems. 1782 - Fixed one more redraw bug in Fl_Browser_ where we 1783 weren't using the box function to erase empty space in 1784 the list. 1785 - Fl_Text_Display::buffer() now calls resize() to show 1786 the buffer. 1787 - Fl_Help_View didn't support HTML comments. 1788 - Fl_Help_View didn't include the extra cellpadding when 1789 handling colspan attributes in cells. 1790 - Fl_Help_View didn't support table alignment. 1791 1792 1793CHANGES IN FLTK 1.1.0rc6 1794 1795 - Documentation updates. 1796 - Fl::handle() didn't apply the modal tests for 1797 FL_RELEASE events, which caused Fl_Tabs to allow users 1798 to change tabs even when a modal window was open. 1799 - Fl_Browser_, Fl_Input_, Fl_Slider now use the box 1800 function to erase the background. This fixes some 1801 long-standing redraw problems. 1802 - More snprintf/strlcpy/strlcat changes where needed. 1803 - Fl::get_font_name() would leak 128 bytes. 1804 - Eliminated most of the "shadowed" variables to avoid 1805 potential problems with using the wrong copy of "foo" 1806 in a class method. 1807 - Moved Fl_BMP_Image, Fl_GIF_Image, and Fl_PNM_Image to 1808 the fltk_images library, so the only image formats 1809 that are supported by the core library are XBM and XPM 1810 files. This reduces the size of the FLTK core library 1811 by about 16k... 1812 - The Fl_Text_Display::resize() method was incorrectly 1813 flagged as protected. 1814 - Fixed some memory/initialization bugs in 1815 Fl_File_Chooser that valgrind caught. 1816 - The PNG library png_read_destroy() is deprecated and 1817 does not free all of the memory allocated by 1818 png_create_read_struct(). This caused a memory leak in 1819 FLTK apps that loaded PNG images. 1820 - Added uncache() method to Fl_Image and friends. 1821 - Added image() methods to Fl_Menu_Item. 1822 - Added default_cursor() method and data to Fl_Window. 1823 - Fl_Group would send FL_ENTER events before FL_LEAVE 1824 events, causing problems with adjacent widgets. 1825 - Fixed filename problems with Fl_File_Chooser - 1826 changing the filename field directly or choosing files 1827 from the root directory could yield interesting 1828 filenames. 1829 - Fl_Input_ could crash if it received an empty paste 1830 event. 1831 - The mouse pointer now changes to the I beam 1832 (FL_CURSOR_INSERT) when moved over an input field or 1833 text widget. 1834 - "make install" didn't automatically (re)compile the 1835 FLUID executable. 1836 - Added an Fl::get_boxtype() method to get the current 1837 drawing function for a specific box type. 1838 - Fl_Output and Fl_Multiline_Output didn't prevent 1839 middle-mouse pastes. 1840 - Fl_JPEG_Image didn't compile out-of-the-box with Cygwin 1841 due to a bug in the Cygwin JPEG library headers. 1842 - Fl_BMP_Image still didn't work with some old BMP files. 1843 - "make distclean" didn't really clean out everything. 1844 - Tweeked the look of the check button with a patch from 1845 Albrecht Schlosser. 1846 1847 1848CHANGES IN FLTK 1.1.0rc5 1849 1850 - Added "wrap" type bit to Fl_Input_, so you can now 1851 have a multiline text field that wraps text. 1852 - Setting the value() of an output text field no longer 1853 selects the text in it. 1854 - Output text fields now show a caret for the cursor 1855 instead of the vertical bar. 1856 - The newButton and previewButton widgets are now public 1857 members of the Fl_File_Chooser class. This allows 1858 developers to disable or hide the "new directory" and 1859 "preview" buttons as desired. 1860 - Added new visible focus flag bit and methods to 1861 Fl_Widget, so it is now possible to do both global and 1862 per-widget keyboard focus control. 1863 - Removed extra 3 pixel border around input fields. 1864 - No longer quote characters from 0x80 to 0x9f in input 1865 fields. 1866 - Improved speed of Fl_Browser_::display() method with 1867 large lists (patch from Stephen Davies.) 1868 - Fl_Help_View didn't properly handle NULL from the link 1869 callback (the original filename/directory name were 1870 not preserved...) 1871 - Fl_Help_View didn't use the boxtype border values when 1872 clipping the page that was displayed. 1873 - Added first steps to CodeWarrior/OS_X support (see 1874 fltk-1.1.x/CodeWarrior/OS_X.sit) 1875 - Cleaned up the WIN32 export definitions for some of 1876 the widget classes. 1877 - Fixed a filename completion bug when changing 1878 directories. 1879 - Fl_File_Chooser::value() would return directories with 1880 a trailing slash, but would not accept a directory 1881 without a trailing slash. 1882 - When installing shared libraries, FLUID is now linked 1883 against the shared libraries. 1884 - MacOS: missing compile rule for .dylib files. 1885 - Fl_Group::current(), Fl_Group::begin(), and 1886 Fl_Group::end() are no longer inlined so that they are 1887 properly exported in DLLs under WIN32. Similar 1888 changes for all static inline methods in other 1889 classes. 1890 - MacOS: support for Mac system menu (Fl_Sys_Menu_Bar) 1891 - MacOS: wait(0) would not handle all pending events 1892 - Added new makeinclude file for MingW using GCC 3.1.x. 1893 - Fl_Choice::value(n) didn't range check "n". 1894 - The MingW and OS/2 makeinclude files didn't have the 1895 new fltk_images library definitions. 1896 - Fl_Text_Editor didn't scroll the text in the widget 1897 when dragging text. 1898 - Config header file changes for Borland C++. 1899 - FLTK didn't provide a Fl::remove_handler() method. 1900 1901 1902CHANGES IN FLTK 1.1.0rc4 1903 1904 - Added new filter_value() methods to Fl_File_Chooser to 1905 get and set the current file filters. 1906 - Added support for custom filters to Fl_File_Chooser. 1907 - Added Borland C++ Builder IDE project files from 1908 Alexey Parshin. 1909 - Resource leak fixes under WIN32 from Ori Berger. 1910 - Now register a WIN32 message for thread messages. 1911 - Fl_Window didn't initialize the min and max window 1912 size fields. 1913 - The JPEG and PNG image classes have been moved to the 1914 fltk_images library, a la FLTK 2.0. You can register 1915 all image file formats provided in fltk_images using 1916 the new fl_register_images() function. 1917 - Fl_XBM_Image didn't correctly load XBM files. 1918 - MacOS: Added Greg Ercolano's file descriptor support. 1919 - MacOS: Fixed text width bug. 1920 - A change in fl_fix_focus() broken click-focus in FLWM. 1921 - Cygwin with -mnocygwin didn't like the FL/math.h 1922 header file. 1923 - Fl_Browser_ cleared the click count unnecessarily. 1924 - MacOS: Pixmap draw fix, gl_font implemented 1925 FL_FOCUS fix, window type fix for modal and nonmodal 1926 windows, glut uninitialised 'display' proc fix 1927 - Now support FLTK_1_0_COMPAT symbol to define 1928 compatibility macros for the old FLTK 1.0.x function 1929 names to the 1.1.x names. 1930 - Now translate the window coordinates when a window is 1931 shown, moved, or resized. This should fix the "menus 1932 showing up at the wrong position" bug under XFree86. 1933 - Fixed some more problems with the Fl_BMP_Image file 1934 loader. 1935 - BC++ fixes. 1936 - The pixmap_browser demo didn't check for a NULL image 1937 pointer. 1938 - Fl_File_Icon::find() now uses fl_filename_isdir() 1939 under WIN32 to check for directories. 1940 - Fl_File_Chooser's preview code called refcount() 1941 on the deleted image's object. 1942 - Fixed another problem with the Fl_BMP_Image loader. 1943 - The fl_file_chooser() callback was being called with a 1944 NULL filename. 1945 - Documented that fl_push_clip() is preferred over 1946 fl_clip(), with a corresponding source change. 1947 - Minor changes to the MacOS X event handling code. 1948 - Added syntax highlighting example code to the editor 1949 test program. 1950 - Fl_Text_Display didn't range check style buffer 1951 values. 1952 - Added "dark" color constants (FL_DARK_RED, etc.) 1953 - The MacOS font code was missing definitions for 1954 fl_font_ and fl_size_. 1955 1956 1957CHANGES IN FLTK 1.1.0rc3 1958 1959 - Documentation updates. 1960 - New file chooser from design contest. 1961 - Did some testing with Valgrind and fixed some memory 1962 problems in Fl_Help_View::Fl_HelpView, 1963 Fl_Menu_::remove(), Fl_Text_Display::draw_vline(), and 1964 resizeform() (convenience dialogs). 1965 - Fixed some redraw() bugs, and now redraw portions of 1966 the parent widget when the label appears outside the 1967 widget. 1968 - The boolean (char) value methods in Fl_Preferences 1969 have been removed since some C++ compilers can't 1970 handle char and int value methods with the same name. 1971 - Added fl_read_image() function. 1972 - Fixed Fl_Valuator::format() so that the correct format 1973 type is used when step == 1.0. 1974 - Fl_Help_View didn't support the TT markup. 1975 - Fl_Shared_Image used a double-pointer to the image 1976 handler functions, which was unnecessary and 1977 unintuitive. 1978 - Fl_PNM_Image didn't load the height of the image 1979 properly. 1980 - Fl_BMP_Image, Fl_JPEG_Image, Fl_PNG_Image, and 1981 Fl_Shared_Image didn't delete image data that was 1982 allocated. 1983 - Enabled the OpenGL and threads demos when compiling 1984 for MingW. 1985 - Fl_File_Input didn't update the directory buttons if a 1986 callback was registered with the widget. 1987 - The file chooser would return the last selected 1988 file(s) when cancel was pressed. 1989 - The file chooser limited the resizing of the chooser 1990 window unnecessarily. 1991 - Fixed WM_PAINT handling under WIN32. 1992 - Minor tweeks to MingW and OS/2 config headers. 1993 - Fl_Value_Input now correctly determines if step() 1994 specifies an integer value. 1995 - Fl_Help_View didn't add links inside PRE elements. 1996 - OS/2 build fixes from Alexander Mai. 1997 - Now use strlcat() instead of strncat() which could 1998 cause buffer overflows. 1999 - Now use of strlcpy() instead of strncpy() to simplify 2000 the code. 2001 - Drag-n-drop under WIN32 now shows a [+] cursor instead 2002 of the link cursor. 2003 - Fixed widget width tooltip and default argument 2004 handling code in FLUID. 2005 - Fixed colors used when drawing antialiased text using 2006 Xft. 2007 - Fl_Preferences::makePath() now uses access() instead 2008 of stat() when checking to see if the destination 2009 directory already exists. 2010 - Fl_BMP_Image now supports older BMP files with the 12 2011 byte header. 2012 - Optimized the redrawing of tabs and radio/check 2013 buttons when the keyboard focus changes. 2014 - More tooltip fixes. 2015 - DND text operations would loop under X11. 2016 2017 2018CHANGES IN FLTK 1.1.0rc2 2019 2020 - Portability fixes. 2021 - Backported 2.0 tooltip changes. 2022 - Several of the valuators did not support tooltips. 2023 - The last menu item in a menu didn't pick up on font 2024 changes. 2025 - FLUID now properly handles default argument parameters 2026 properly. 2027 - Fixed WM_PAINT handling under WIN32 - didn't validate 2028 the correct region that was drawn. 2029 - Fl_Multiline_Output would insert the enter key. 2030 - Fl_File_Browser didn't clip items to the column width. 2031 - Fl_Window::draw() cleared the window label but didn't 2032 restore it, so windows could lose their titles. 2033 - Eliminated multiple definitions of dirent structure 2034 when compiling under WIN32. 2035 - Adjusted the size of the circle that is drawn inside 2036 radio buttons to scale better for larger labels. 2037 - FLUID was opening the display when it shouldn't have. 2038 - Fl_File_Chooser.cxx defined the file chooser functions 2039 again; they should only be defined in the header file. 2040 - Wide arcs would draw with "teeth". 2041 - The preferences demo included Fl/Fl_Preferences.H 2042 instead of FL/Fl_Preferences.H. 2043 2044 2045CHANGES IN FLTK 1.1.0rc1 2046 2047 - The fl_file_chooser() and fl_dir_chooser() functions 2048 now support an optional "relative" argument to get 2049 relative pathnames; the default is to return absolute 2050 pathnames. 2051 - The backspace and delete keys now work as expected in 2052 the file chooser when doing filename completion. 2053 - FLUID now supports running shell commands. 2054 - New Fl_File_Input widget that shows directory 2055 separators with filename in input field. 2056 - The Fl_File_Chooser dialog now shows the absolute path 2057 in the filename field using the Fl_File_Input widget. 2058 - FLUID now keeps track of grid, tooltip, and other 2059 GUI options, along with the last 10 files opened. 2060 - Tooltip windows would show up in the task bar under 2061 WIN32. 2062 - Now append trailing slash to directory names in names 2063 in WIN32 version of scandir(). This takes care of a 2064 file chooser performance problem with large 2065 directories. 2066 - Added Fl_Preferences class from Matthias Melcher, 2067 including binary data support. 2068 - FLUID now recognizes the "using" keyword in 2069 declarations. 2070 - fl_file_chooser() didn't highlight the requested file 2071 the second time the file chooser dialog was shown. 2072 - Fixed rendering of Fl_Light_Button with the plastic 2073 scheme. 2074 - Fixed a bug in the MacOS font enumeration code. 2075 - Now show a "locked" icon next to static/private 2076 elements in FLUID, and "unlocked" icon next to 2077 global/public elements. 2078 - Implemented Fl_Menu_Item image labels using older 2079 1.0.x labeltype method. 2080 - Updated the PNG library check to support both png.h 2081 and libpng/png.h. 2082 - Fixed a recursion bug in tooltips that was causing 2083 random crashes. 2084 - fl_file_chooser() could cause a segfault when passed a 2085 NULL filename parameter in some situations. 2086 - Added a "-g" option to fltk-config to support quick 2087 compiling with debugging enabled. 2088 - Fixed redraw problem with Fl_Input and anti-aliased 2089 text. 2090 - Added threading support for MacOS X and Darwin. 2091 - The filesystem list in the file chooser now works under 2092 MacOS X and Darwin. 2093 - The fl_msg structure now contains all data passed to 2094 the WndProc function under WIN32. 2095 - Fixed some window focus/positioning problems under 2096 MacOS X. 2097 - Added fl_create_alphamask() function to create an alpha 2098 mask from 8-bit data; currently this always generates a 2099 1-bit screen-door bitmask, however in the future it will 2100 allow us to generate N-bit masks as needed by various 2101 OS's. 2102 - Fl_File_Browser::load() didn't properly show drives 2103 when compiled in Cygwin mode. 2104 - Now pass correctly pass keyboard and mouse events to 2105 widget under tooltip as needed... 2106 - Added new Fl::dnd_text_ops() methods to enable/disable 2107 drag-and-drop text operations. 2108 - Fl_Input now supports clicking inside a selection to 2109 set the new text position when drag-and-drop is 2110 enabled. 2111 - Added support of X resources for scheme, dnd_text_ops, 2112 tooltips, and visible_focus... 2113 - Fixed some case problems in includes for the MacOS X 2114 code. 2115 - Fl_Widget::handle() returned 1 for FL_ENTER and 2116 FL_LEAVE events, which caused some compatibility 2117 problems with 1.0 code. 2118 - Fl_Box::handle() now returns 1 for FL_ENTER and 2119 FL_LEAVE events so that tooltips will work with Fl_Box 2120 widgets. 2121 - Some source files still defined strcasecmp and 2122 strncasecmp under WIN32. 2123 - Some source files still used the "false" and "true" 2124 C++ keywords, even though several of our "supported" 2125 C++ compilers don't support them. Using 0 and 1 until 2126 FLTK 2.0 (which uses the bool type instead of int for 2127 any boolean values...) 2128 - Minor Fl_Color revamping, so that color constants map 2129 to the color cube and FL_FOREGROUND_COLOR, 2130 FL_BACKGROUND_COLOR, FL_BACKGROUND2_COLOR, 2131 FL_INACTIVE_COLOR, and FL_SELECTION_COLOR map to the 2132 user-defined colors. 2133 2134 2135CHANGES IN FLTK 1.1.0b13 2136 2137 - Fixed a bug in the Xft support in Fl_Window::hide() 2138 (the config header wasn't included, so the Xft code 2139 wasn't getting called) 2140 - Xdbe support must now be enabled explicitly using 2141 --enable-xdbe due to inconsistent bugs in XFree86 and 2142 others. 2143 - Windows resized by a program would revert to their 2144 original size when moved under WIN32. 2145 - Cygwin can only compile the new WIN32 drag-n-drop code 2146 using GCC 3.x. 2147 - Tooltips now appear for inactive and output widgets. 2148 - Tooltips no longer steal keyboard events other than 2149 ESCape. 2150 - Tooltips are no longer delayed when moving between 2151 adjacent widgets. 2152 - fl_beep(FL_BEEP_DEFAULT) now uses the PC speaker under 2153 Windows (0xFFFFFFFF) rather than an event sound. 2154 - The configure script didn't include the -mwindows or 2155 -DWIN32 compiler options in the output of fltk-config 2156 when using the Cygwin tools. 2157 - Fl_Output didn't take input focus when needed, so it 2158 was unable to support CTRL-C for copying text in the 2159 field and did not unhighlight selections when the 2160 widget lost focus. 2161 - The fl_filename_name() function didn't handle a NULL 2162 input string. 2163 - The input field used by the fl_input() and 2164 fl_password() functions was resized too small in 2165 1.1.0b12. 2166 - Added casts in fl_set_fonts_win32.cxx for VC++ 5.0. 2167 - Fl_File_Icon::find() did not check the basename of a 2168 filename for a match; this caused matches for a 2169 specific filename (e.g. "fluid") to fail. 2170 - The Fl_Shared_Image class now supports additional 2171 image handling functions - this allows you to support 2172 additional image file formats transparently. 2173 2174 2175CHANGES IN FLTK 1.1.0b12 2176 2177 - Documentation updates. 2178 - Fl_Choice didn't clip the current value properly - it 2179 wasn't accounting for the box border width. 2180 - The forms compatibility functions are now placed in a 2181 "fltk_forms" library to match FLTK 2.0. 2182 - Renamed down() and frame() to fl_down() and 2183 fl_frame(), filename_xyz() to fl_filename_xyz(), and 2184 all of the define_FL_FOO() functions for the custom 2185 boxtypes to fl_define_FL_FOO() to avoid namespace 2186 clashes. 2187 - Stereo OpenGL support (patch from Stuart Levy) 2188 - All of the convenience functions defined in fl_ask.H 2189 now resize the widgets and dialog window as needed for 2190 the labels and prompt. 2191 - Backported FLTK 2.0 dual cut/paste buffer code. 2192 - Added support for Xft library to provide anti-aliased 2193 text on X11. 2194 - Fl_Help_View didn't keep track of the background color 2195 of cells properly. 2196 - Fl_Browser::item_width() didn't compute the width of 2197 the item properly when column_widths() was set. 2198 - Fl_Button didn't check to see if the widget could 2199 accept focus before taking input focus. 2200 - Fl_Help_View didn't preserve target names (e.g. 2201 "filename.html#target") when following links. 2202 - Drag-and-drop support for MacOS. 2203 - Updated MacOS issues documentation. 2204 2205 2206CHANGES IN FLTK 1.1.0b11 2207 2208 - Now conditionally use the WIN32 TrackMouseEvent API 2209 (default is no...) 2210 - Fixed a table rendering bug in the Fl_Help_View 2211 widget. 2212 - The fltk-config script now recognizes all common C++ 2213 extensions. 2214 - The menu code was using overlay visuals when the 2215 scheme was set to "plastic". 2216 - Fixed some drawing problems with Fl_Light_Button and 2217 its subclasses. 2218 - Fixed a minor event propagation bug in Fl_Group that 2219 caused mousewheel events to be passed to scrollbars 2220 that were not visible. 2221 - The fl_file_chooser() function did not preserve the 2222 old file/directory like the old file chooser did. 2223 - The prototypes for fl_input() and fl_password() did 2224 not default the "default value" to NULL. 2225 - Fl_Tabs now draws tabs using the selection_color() of 2226 the child groups; this allows the tabs to be colored 2227 separately from the body. Selected tabs are a mix of 2228 the Fl_Tabs selection_color() and the child group's 2229 selection_color(). 2230 - Fl_Tabs didn't include images in the measurement of 2231 the tabs if no label text was defined. 2232 - The WIN32 code didn't return 0 from the window 2233 procedure after handling WM_PAINT messages. 2234 - fl_draw() would incorrectly test the clipping of 2235 labels the lay outside the bounding box. 2236 - filename_relative() didn't always return the correct 2237 relative path. 2238 - Updated the test makefile to work with more versions 2239 of "make". 2240 - Added new "--with-optim" configure option to set the 2241 optimization flags to use when compiling FLTK. 2242 - The fltk-config script no longer reports the 2243 optimization flags that were used to compile FLTK. 2244 - Initial port of FLTK 2.0 drag-and-drop support. 2245 2246 2247CHANGES IN FLTK 1.1.0b10 2248 2249 - Fixed the new WIN32 TrackMouseEvent code. 2250 - Fixed the VC++ project files to link against 2251 comctl32.lib. 2252 2253 2254CHANGES IN FLTK 1.1.0b9 2255 2256 - Better FL_LEAVE event handling for WIN32. 2257 - The alpha mask was bit-reversed. 2258 - Fl::scheme() applied the scheme tile image to overlay 2259 and menu windows, which caused problems when the 2260 overlay planes were in use. 2261 - Fixed Fl::event_button() value when hiding tooltip on 2262 some systems. 2263 - Added Fl_BMP_Image class to support loading of Windows 2264 bitmap (BMP) files. 2265 - The shiny demo didn't work on some systems (no 2266 single-buffered OpenGL visual), and the new box types 2267 were reset when show(argc, argv) was called. 2268 - Fl::scheme() didn't update windows that were not 2269 shown. 2270 - The fractals demo would get far ahead of the UI with 2271 some Linux OpenGL drivers. Now use glFinish() instead 2272 of glFlush() so we are at most 1 frame ahead. 2273 - The fractals demo Y axis controls were backwards for 2274 the "flying" mode. 2275 - MacOS: cleaned up src/Fl_mac.cxx 2276 - MacOS: fixed Fl::wait(0.0), fixed Cmd-Q handling 2277 - Update CygWin support for Fl::add_fd(). 2278 - Update the plastic scheme to not override the default 2279 colors - move the color code to the MacOS-specific 2280 code. Also updates the tile image colormap to match 2281 the current background color. 2282 - Add fl_parse_color() to X11 as well, removing a bunch 2283 of conditional code and providing a common interface 2284 for looking up color values. 2285 - Fixed the make problems in the test directory - some 2286 make programs had trouble handling the recursive 2287 dependencies on the FLUID files... 2288 - Now use rint() to round floating-point coordinates. 2289 - Demo cleanup - made sure they all worked with schemes. 2290 - Fl_Tabs no longer clears the unused area of the tab 2291 bar. 2292 - Added show(argc, argv) method to Fl_Help_Dialog. 2293 - MacOS: implemented cut/copy/paste. 2294 - MacOS: improved keyboard handling, fixed keyboard 2295 focus handling, fixed get_key, modified 'keyboard' 2296 demo to show second mouse wheel and additional keys 2297 'help' and FL_NK+'=' 2298 2299 2300CHANGES IN FLTK 1.1.0b8 2301 2302 - OS/2 build fixes. 2303 - fl_draw() didn't ignore symbol escapes properly for 2304 the browsers... 2305 - New Fl::scheme() methods from FLTK 2.0; currently only 2306 the standard ("") and plastic ("plastic") methods are 2307 supported. Schemes can be set on the command-line 2308 ("-scheme plastic") or using the FLTK_SCHEME 2309 environment variable. 2310 - MacOS: fixed iBook keyboard handling, moved 2311 remaining message handling to Carbon, added mouse 2312 capture support, added timer support, added overlay 2313 support, fixed double-buffering side effects. 2314 - The configure script wasn't using the -fpermissive or 2315 -fno-exceptions options with GCC. 2316 - Fl_JPEG_Image and friends didn't set the depth if the 2317 image file couldn't be loaded; since Fl_RGB_Image 2318 didn't check for this, it could fail when displaying 2319 or copying these images. 2320 - filename_absolute() did not always free its temporary 2321 buffer. 2322 - filename_relative() did not do a case-insensitive 2323 comparison under MacOS, OS/2, and Windows. 2324 - filename_isdir() didn't properly handle "D:L" under 2325 WIN32. 2326 - Fl_Shared_Image::get() did not check to see if the 2327 image could not be loaded. 2328 - Fl_Help_View didn't clear the line array in the 2329 Fl_Help_Block structure; this causes erratic 2330 formatting for some pages. 2331 - The font and size members of Fl_Help_Block were never 2332 used. 2333 - The threading functions (Fl::lock() and friends) were 2334 not exported under WIN32. 2335 - The Fl_Text_Display destructor deleted the scrollbars 2336 twice... 2337 - Fl_Help_View didn't reset the horizontal scroll 2338 position when showing a new page. 2339 - Fl_Pack now allows any child widget to be the 2340 resizable() widget, not just the last one. 2341 - MacOS: opaque window resizing, all events except 2342 Mac menus are now handled using Carbon, window 2343 activation fixed, GL_SWAP_TYPE default changed to 2344 make gl_overlay work. 2345 - Fl_Help_View::resize() didn't resize the horizontal 2346 scrollbar. 2347 - MacOS: list all fonts, fixed clipping and mouse 2348 pointer bugs. 2349 - The Fl_File_Chooser widget now uses hotspot() to 2350 position the dialog under the mouse pointer prior to 2351 showing it. 2352 - Added a configure check for *BSD - use -pthread option 2353 instead of -lpthread. 2354 - Fl_Text_Display could get in an infinite loop when 2355 redrawing a portion of the screen. Added a check for 2356 the return value from fl_clip_box() so that the 2357 correct bounding box is used. 2358 - Removed the Fl_Mutex and Fl_Signal_Mutex classes from 2359 the threads example, since they weren't being used 2360 and apparently are not very portable. 2361 - Fl_Help_View now ignores links when the link callback 2362 returns NULL, and displays a sensible error message 2363 when an unhandled URI scheme is used (e.g. http:, 2364 ftp:) 2365 - Fl_File_Icon::load_system_icons() no longer complains 2366 about missing icon files, just files that exist but 2367 can't be loaded. 2368 - FLUID didn't list the plastic box and frame types. 2369 - Now hide the tooltip window whenever a window is 2370 hidden. Otherwise a tooltip window could keep an 2371 application running. 2372 - Updated FLUID to only append a trailing semicolon to 2373 code lines in a callback (so "#include" and friends 2374 will work...) 2375 - The Fl_Color_Chooser widget now supports keyboard 2376 navigation. 2377 - Fixed button and valuator widgets to call Fl::focus() 2378 instead of take_focus(). 2379 - Tweeked the radio button drawing code for better 2380 circles with different boxtypes. 2381 - The Fl_File_Chooser widget did not provide a shown() 2382 method, and fl_file_chooser() and fl_dir_chooser() did 2383 not wait on shown(); this would cause them to return 2384 prematurely if you switched desktops/workspaces. 2385 - Cosmetic changes to plastic boxtypes. Now look much 2386 better for large areas and the buttons now have a much 2387 greater "3D" feeling to them. 2388 - Added new Fl::draw_box_active() method so that 2389 boxtypes can find out if the widget they are drawing 2390 for is active or not. 2391 - Fl_Button and its subclasses did not redraw the parent 2392 when the boxtype was FL_NO_BOX and they lost keyboard 2393 focus (the parent redraw clears the focus box.) 2394 - Fixed the example program makefile - wasn't building 2395 the mandelbrot and shiny demos right. 2396 - Fl::set_font(Fl_Font, Fl_Font) was not implemented. 2397 - Fixed the documentation Makefile commands; was not 2398 using the fltk.book file for some reason... 2399 2400 2401CHANGES IN FLTK 1.1.0b7 2402 2403 - More documentation updates... 2404 - Mac OS X support works 95% 2405 - The Fl_Window::hotspot() off-screen avoidance code was 2406 commented out. 2407 - Mac OS X uses mostly Carbon event handling to support 2408 Mousewheel, three buttons, all modifier keys, etc. 2409 - Updated paragraph 4 of the FLTK license exceptions; 2410 there was some question about the requirement to show 2411 that a program uses FLTK, which is required by section 2412 6 of the LGPL. The new exemption specifies that 2413 inclusion of the FLTK license is not required, just a 2414 statement that the program uses FLTK. 2415 - Fl_Button::handle() was calling take_focus() for both 2416 FL_PUSH and FL_DRAG. 2417 - File and memory fixes for Fl_GIF_Image, Fl_PNG_Image, 2418 Fl_PNM_Image, Fl_Shared_Image, Fl_Tiled_Image, and 2419 Fl_XBM_Image. 2420 - filename_match() didn't handle backslashes properly 2421 under WIN32, and didn't use a case-insensitive 2422 comparison under MacOS X. 2423 - The Fl class was missing access methods for the 2424 FL_MOUSEWHEEL event values - Fl::event_dx() and 2425 Fl::event_dy(). 2426 - The default help string didn't include the -nokbd 2427 option. 2428 - "make uninstall" didn't uninstall the static OpenGL 2429 widget library. 2430 - Mac cursor shapes added... 2431 - Fl_Text_Display would lockup when all text was 2432 deleted; for example, when running the editor 2433 demo, you couldn't load a second file. 2434 - Added Fl::lock() and friends from FLTK 2.0 to 2435 support multi-threaded applications; see the 2436 "threads" demo for an example of this. 2437 - Fl_Check_Button and Fl_Round_Button now use the 2438 FL_NO_BOX box type to show the background of the 2439 parent widget. 2440 - Tweeked the plastic boxtype code to draw with the 2441 right shading for narrow, but horizontal buttons. 2442 - Fl_Progress now shades the bounding box instead of 2443 drawing a polygon inside it. 2444 - Fl::warning() under WIN32 defaults to no action. This 2445 avoids warning dialogs when an image file cannot be 2446 loaded. 2447 - Some Win32 drivers would draw into wrong buffers 2448 after OpenGL mode change 2449 - The file chooser would cause a segfault if you 2450 clicked in an empty area of the file list. 2451 - Fl_File_Icon::labeltype() would cause a segfault 2452 if the value pointer was NULL. 2453 - Fl_File_Icon::load_image() could cause segfaults 2454 (NULL data and incrementing the data pointer too 2455 often.) 2456 - Fl_File_Icon::load_image() now handles 2-byte 2457 per color XPM files. 2458 - Some Win32 drivers would draw into wrong buffers 2459 after OpenGL mode change. 2460 - Message handling and Resources for MacOS port. 2461 - Fl_Help_View could get in an infinitely loop when 2462 determining the maximum width of the page; this 2463 was due to a bug in the get_length() method with 2464 percentages (100% width would cause the bug.) 2465 - Don't need -lgdi32 for CygWin, since -mwindows 2466 does this for us. 2467 - The WIN32 event handler did not properly handle 2468 WM_SYNCPAINT messages. 2469 - Fl_Tabs now uses the boxtype exclusively to draw 2470 both the tabs and surrounding box, so alternate 2471 box types actually work and the look is a little 2472 nicer. 2473 - Fixed the drawing of large areas with the new 2474 plastic boxtypes. 2475 - Updated the Visual C++ demo projects to use FLUID 2476 to generate the GUI files as needed. 2477 - The demo program didn't load the right menu file 2478 when compiled for debugging under WIN32. 2479 - Added plastic box types to forms demo. 2480 - Added mousewheel to keyboard demo. 2481 - The Fl_Text_Editor widget caused an infinite loop 2482 when it received keyboard focus. 2483 - filename_isdir() didn't properly handle drive letters 2484 properly; WIN32 needs a trailing slash for drive 2485 letters by themselves, but cannot have a trailing 2486 slash for directory names, go figure... 2487 - The Fl_Text_Buffer and Fl_Text_Display classes did not 2488 initialize all of their members. 2489 - fl_normal_label() had a totally redundant set of 2490 if/else tests, which the new code handles all from 2491 fl_draw(). 2492 - The Fl_File_Chooser dialog contained two hotspots. 2493 - The fl_draw_pixmap() function didn't free the 2-byte 2494 color lookup table properly (delete instead of 2495 delete[]). 2496 - fl_draw() reset the text color under WIN32, causing 2497 bitmaps to draw incorrectly. 2498 - Fl::get_font_sizes() is now implemented under WIN32. 2499 - Fl_Text_Display now uses the same default colors for 2500 selection and text as Fl_Input_ and friends. 2501 - Changed the default line scrolling in Fl_Text_Display 2502 to 3 lines for the mouse wheel and scrollbar arrows. 2503 2504 2505CHANGES IN FLTK 1.1.0b6 2506 2507 - Documentation updates... 2508 - The configure script now works within the CygWin 2509 environment. 2510 - Tooltips are now enabled by default, but are not 2511 re-enabled when calling the Fl_Widget::tooltip() 2512 method. 2513 - Added new Fl::version() method to get the current 2514 FLTK library version (for shared libraries/DLLs) 2515 - Added new Fl::event() method to get the current 2516 event that is being processed. 2517 - Added new fl_beep() function to do audible 2518 notifications of various types. 2519 - Added new Fl_GIF_Image, Fl_JPEG_Image, Fl_PNG_Image, 2520 Fl_PNM_Image, Fl_XBM_Image, and Fl_XPM_Image classes. 2521 - Added new Fl_Shared_Image class, a la FLTK 2.0. 2522 - Added new Fl_Tiled_Image class for tiled backgrounds. 2523 - Added new copy(), desaturate(), inactive(), and 2524 color_average() methods to the Fl_Image classes. 2525 - Added a horizontal scrollbar to the Fl_Help_View 2526 widget. 2527 - Added new FL_PLASTIC_{UP/DOWN}_{BOX/FRAME} boxtypes 2528 for a more "modern" look (sort of a cross between KDE 2529 2.2 and Aqua.) 2530 - Fl_Float_Input and Fl_Int_Input no longer accept 2531 pasted text that is not a floating point or integer 2532 value. Pasted numbers now replace text in these 2533 widgets. 2534 - Implemented the Fl_File_Icon::load_png() method. 2535 - The Fl_File_Icon::load_system_icons() method now 2536 supports KDE 2.x icons. 2537 - Fixed PNG support in Fl_Help_View. 2538 - Removed the "Microsoft" mode button from the menubar 2539 demo. 2540 - The browser demo now makes sure that the input field 2541 contains a number. 2542 - The Fl_Browser::make_visible() method now range checks 2543 the input. 2544 - Updated the fl_draw() and fl_measure() methods to 2545 accept an optional draw_symbols argument, which 2546 controls whether symbols are drawn in the text. 2547 - Added new Fl::visible_focus() methods to control 2548 whether the focus box is drawn. 2549 - The focus box is now drawn using the contrast color. 2550 - Fl_Repeat_Button didn't accept keyboard focus. 2551 - Added new Fl::visible_focus() method and standard 2552 "-kbd" and "-nokbd" options in Fl::args() processing 2553 to control whether keyboard focus is shown and handled 2554 by non-text widgets. 2555 - The wrong tooltip could be shown if the user moved the 2556 mouse over adjacent widgets with tooltips. 2557 - The drop-down button on Fl_Choice widgets was not 2558 limited in width. 2559 - Tooltips could appear off the screen. 2560 - Mouse wheel events are now sent to the focus widget 2561 first, then to any other interested widget. 2562 - The Fl_RGB_Image class now supports images with an 2563 alpha channel. Images are currently drawn using 2564 "screen door" transparency... See the "image" demo 2565 for an example. 2566 - Added new fl_create_bitmask() and fl_delete_bitmask() 2567 functions that create bitmap objects for masking and 2568 bitmap drawing. 2569 - Was sending FL_RELEASE events for buttons 4 and 5 2570 under X11, which are only for FL_MOUSEWHEEL. 2571 - Fl_Help_View now supports the EM and STRONG elements. 2572 - Didn't do callbacks when changing tabs via keyboard. 2573 - FLUID didn't write tooltip strings to the message 2574 catalog file. 2575 - Fl_File_Icon now uses Fl_Shared_Image to load icon 2576 images; the load_png() and load_xpm() methods have 2577 been replaced by a single load_image() method. 2578 - Fl_File_Icon::load_system_icons() now does a better 2579 job of finding KDE icons. 2580 - Now use Fl::warning() and Fl::error() in place of 2581 printf's in some of the newer widgets. 2582 - The default behavior of Fl::error() is now to display 2583 an error but not to exit; Fl::fatal() still exits. 2584 - FLUID now uses the Fl_Shared_Image class, so FLUID- 2585 generated GUIs can embed any of the supported image 2586 file formats. 2587 - New filename_relative() function to convert an 2588 absolute filename to a relative one. 2589 - Updated the filename_absolute(), filename_expand(), 2590 and filename_setext() functions to take the 2591 destination string size, with inline functions for the 2592 old FL_PATH_MAX size. 2593 - fl_file_chooser() and fl_dir_chooser() now return a 2594 relative path. 2595 - Fl_Help_View now supports all ampersand escapes. 2596 2597 2598CHANGES IN FLTK 1.1.0b5 2599 2600 **** NOTE: DUE TO CHANGES IN THE WIDGET CLASSES, **** 2601 **** YOU MUST RECOMPILE ALL SOURCE FILES **** 2602 **** THAT USE FLTK!!! **** 2603 2604 - All FLTK color values are now 32-bits and support 2605 both the legacy 8-bit color values as well as 24-bit 2606 RGB values (0xRRGGBB00 for 24-bit RGB, 0x000000II 2607 for indexed color). 2608 - Fl::set_boxtype() and fl_internal_boxtype() now keep 2609 track of when a boxtype is changed; this allows you to 2610 override the "special" boxtypes without references to 2611 those boxtypes causing them to be reset. 2612 - Fl_Help_Func now takes a Fl_Widget pointer as well as 2613 a pathname. 2614 - Added code to support FL_KEYUP events. 2615 - Focus did not return to the Fl_Text_Display and Editor 2616 widgets when scrolling and then clicking inside the 2617 editor window. 2618 - Now set the line size of the vertical scrollbar in the 2619 text editor to 1. 2620 - The symbols demo didn't show the strings needed to 2621 show the corresponding symbol (the label string was 2622 not quoted...) 2623 - FLTK should now compile with Cygwin cleanly. 2624 - Shortcut changes were not being saved by FLUID. 2625 - FLUID didn't write the deimage() static data. 2626 2627 2628CHANGES IN FLTK 1.1.0b4 2629 2630 **** NOTE: DUE TO CHANGES IN THE FL_WIDGET CLASS, **** 2631 **** YOU MUST RECOMPILE ALL SOURCE FILES **** 2632 **** THAT USE FLTK!!! **** 2633 2634 - Updated the flags_ member of Fl_Widget to be an 2635 integer instead of uchar, to support the new 2636 FL_OVERRIDE flag for Fl_Window. 2637 2638 - The parent() method of Fl_Widget now uses pointers to 2639 Fl_Group instead of Fl_Widget. 2640 2641 - Fl_Window now provides the FLTK 2.0 "override()" and 2642 "set_override()" methods for windows. 2643 2644 - Added a configure check (and warning) for GCC 3.0.x. 2645 2646 - Updated the configure script to check for the 2647 png_set_tRNS_to_alpha() function. 2648 2649 - Updated the config.h files for all platforms for the 2650 image and FLTK documentation defines. 2651 2652 - Updated the makeinclude files for all platforms to 2653 match the current makeinclude.in file. 2654 2655 - FLUID would crash if you cleared an image for a 2656 widget. 2657 2658 - Fl_Help_View::add_image() did not initialize the image 2659 member of the base (unscaled) image. 2660 2661 - Fl_Help_View didn't support A elements with both a 2662 NAME and HREF attribute - the HREF was ignored. 2663 2664 - Miscellaneous compile warning fixes. 2665 2666 - Tooltips were being reset by Fl::belowmouse(), which 2667 caused problems with the FLUID main window (flashing 2668 tooltip windows and serious problems with KDE 2.2) 2669 2670 - The editor demo had the save and discard button 2671 actions reversed. 2672 2673 - The Fl_Help_View widget now uses 2674 png_destroy_read_struct() if the older 2675 png_read_destroy() function is not available. 2676 2677 - The WIN32 DLL library now includes the OpenGL widgets. 2678 This is a simpler solution for the export/import 2679 dillemma under WIN32, as OpenGL and non-OpenGL symbols 2680 need to be exported at different times with the 2681 separate library scheme. Since OpenGL is standard 2682 under Windows, this is less of a problem than under 2683 UNIX... 2684 2685 2686CHANGES IN FLTK 1.1.0b3 2687 2688 - The top-level makefile did not include the makeinclude 2689 file, causing the fltk-config installation commands to 2690 fail. 2691 2692 - The fl_file_chooser.cxx source file conflicted with 2693 Fl_File_Chooser.cxx under Windows. Similarly, the 2694 fl_file_chooser.H header file conflicts with the 2695 Fl_File_Chooser.H header file. 2696 2697 - Now save and restore the GDI pen object when 2698 responding to WIN32 paint messages. 2699 2700 - Documentation updates from A. Suatoni. 2701 2702 2703CHANGES IN FLTK 1.1.0b2 2704 2705 - New fltk-config script. 2706 2707 - Fixed image/text label handling; in b1 the label 2708 needed a non-blank text string to display the image. 2709 This bug also caused all sorts of crashes and display 2710 problems. 2711 2712 - Added new filetype() method to Fl_FileBrowser to allow 2713 for file or directory browsing. 2714 2715 - Fixed the drawing of the focus box around 2716 Fl_Return_Button. 2717 2718 - Fixed menu item measurement bug (wasn't initializing 2719 image pointers to 0...) 2720 2721 - Radio and checkbox menu items now draw with the new 2722 style (round radio buttons with dots and square check 2723 buttons with check marks.) 2724 2725 - Improved the appearance of Fl_Check_Button. 2726 2727 - Improved the Fl_HelpView table formatting code; now 2728 dynamically sizes the table columns, and supports 2729 COLSPAN. 2730 2731 - The FLUID keyboard shortcuts now work as expected 2732 (CTRL-C copies, SHIFT-CTRL-C writes code, etc.) 2733 2734 - The FLTK_DOCDIR environment variable can now be 2735 used to tell FLUID where to find the on-line 2736 documentation files. 2737 2738 - FLUID now supports image labels in addition to text 2739 labels + text over image alignment. 2740 2741 - FLUID now supports tooltips. 2742 2743 - The widget panel in FLUID is now tabbed, a la FLTK 2744 2.0. 2745 2746 - The FLUID pixmap destructor tried to free 1 too many 2747 lines of image data. 2748 2749 - FLUID now provides on-line help. 2750 2751 - Changed Fl_FileXYZ to Fl_File_XYZ. 2752 2753 - Changed Fl_HelpXYZ to Fl_Help_XYZ. 2754 2755 - Tooltip fixes for Fl_Browser_, Fl_Choice, and Fl_Input_. 2756 2757 - Added tooltips to FLUID, help dialog, and file chooser. 2758 2759 - Now load system icons in FLUID. 2760 2761 2762CHANGES IN FLTK 1.1.0b1 2763 2764 - Added new image() and deimage() methods to support 2765 image + text labels more easily. 2766 2767 - Added new alignment bit FL_ALIGN_TEXT_OVER_IMAGE. 2768 2769 - Added tooltip support using Jacques Tremblay's tooltip 2770 patch. 2771 2772 - Added keyboard navigation to all widgets. 2773 2774 - Added support for mouse wheels using the new 2775 FL_MOUSEWHEEL event type. Get the mouse wheel 2776 movement values from Fl::e_dx (horizontal) and 2777 Fl::e_dy (vertical). 2778 2779 - Added the Fl_Check_Browser, Fl_FileBrowser, 2780 Fl_FileChooser, Fl_FileIcon, Fl_HelpDialog, 2781 Fl_HelpView, Fl_Progress, and Fl_Wizard widgets from 2782 the bazaar. 2783 2784 - Added 2.0 Fl_Text_Display and Fl_Text_Editor widgets 2785 based on NEdit. 2786 2787 - The Fl_Choice widget now looks more line a combo box 2788 than a Motif option menu. 2789 2790 - Moved the OpenGL widgets into a separate library 2791 called fltkgl - this eliminates shared library 2792 dependencies on OpenGL when no OpenGL functionality is 2793 used/required. 2794 2795 - FLUID now supports the new Fl_CheckBrowser, 2796 Fl_FileBrowser, Fl_FileIcon, Fl_HelpView, 2797 Fl_Text_Display, Fl_Text_Editor, and Fl_Wizard 2798 widgets. 2799 2800 - Updated configure stuff to support shared libraries 2801 under AIX (link to -lfltk_s) 2802 2803 - Symbol labels can now contain regular text. 2804 2805 - FLUID now supports relative filenames for the source 2806 and header files you generate. 2807 2808 - Fl_Menu_Item::add() didn't use the flags that were 2809 passed in. 2810 2811 - Fixed a bug in Fl_Scrollbar - clicking in the "trough" 2812 of the scrollbar would move the scroller in the wrong 2813 direction. 2814 2815 - Made the Forms pixmap parameter const to match the 2816 Fl_Pixmap.H definitions. 2817 2818 - Changed the Fl_Pixmap constructor to use the explicit 2819 keyword which should work for all C++ compilers. 2820 2821 - Fl_Menu_add of a menu item with the same name as an 2822 existing submenu title would mess up by replacing that 2823 menu title, it now adds a new item. 2824 2825 - Fl_Menu::add() of text starting with '/' to a menu is 2826 assummed to be a filename. So "/foo/bar" creates a 2827 single menu item. You can also put filenames into 2828 submenus by doing "submenu//foo/bar", this will create 2829 a submenu called "submenu" with an item "/foo/bar". 2830 Menu items starting with "\_" will insert an item 2831 starting with '_' rather than a divider line. These 2832 changes make the menus compatable with fltk 2.0. 2833 2834 - Another little fix for the BoXX OpenGL overlays. 2835 2836 - Fl_Gl_Window no longer blanks the mouse pointer on 2837 WIN32 unless an OpenGL overlay is being used. This 2838 should make non-overlay displays faster when a cursor 2839 is set. 2840 2841 2842CHANGES SINCE FLTK 1.0.10 2843 2844 - CHANGED THE DEFAULT RUN-TIME LINKING TO "MULTITHREADED 2845 DLL". You'll need to change your project settings to 2846 use this as well or you'll get errors. 2847 2848 - Added new --disable-gl option to configure script. 2849 2850 - Added new const const pointer versions of pixmap 2851 functions to eliminate an annoying pointer warning 2852 message that was generated by the Sun and other C++ 2853 compilers. 2854 2855 - Eliminated all "var hides class::var" warnings. 2856 2857 - Eliminated all "string literal converted to char *" 2858 warnings. 2859 2860 - OS/2 updates from Alexander Mai. 2861 2862 - Tidied up the HTML documentation to be more standards 2863 compliant. 2864 2865 - Compiling with -DBOXX_BUGS will work around some 2866 problems with the newest X drivers that BoXX delivers, 2867 the problems all affect use of Overlays for normal X 2868 drawing and OpenGL drawing. Normal compilation is 2869 unchanged. 2870 2871 - The file chooser buttons use user_data() rather than 2872 the label to decide what to do, allowing the label to 2873 be somewhat cleaner. 2874 2875 - Selection color on X changed to blue, to match what 2876 happens on Windows now. 2877 2878 - Added support for AIX (static library only). 2879 2880 - Added support for SunOS 4.x 2881 2882 - Now process WIN32 WM_ACTIVATEAPP message to reset the 2883 key and button states in Fl::e_state. 2884 2885 - Fl_has_idle only tested N-1 callbacks and missed one. 2886 2887 - Restored WM_SYNCPAINT handling under WIN32; this fixed 2888 a refresh bug under some versions of Windows. 2889 2890 - Check for OpenGL headers before checking to see if 2891 OpenGL is supported. This should eliminate compile 2892 errors due to missing non-FLTK header files... 2893 2894 - Add -D_INCLUDE_POSIX_SOURCE option when compiling with 2895 the HP compilers. 2896 2897 - Replaced remaining _WIN32 symbols with WIN32 2898 2899 - Removed reference to unused GL/glu.h header file, which is missing on 2900 some Linux systems. 2901 2902 - Fl_Gl_Window has a new method to allow you to get and set the context: 2903 2904 void Fl_Gl_Window::context(void*, int destroy = 0) 2905 void* Fl_Gl_Window::context() const; 2906 2907 Return or set a pointer to the GLContext that this window is 2908 using. This is a system-dependent structure, but it is portable to 2909 copy the context from one window to another. You can also set it to 2910 NULL, which will force FLTK to recreate the context the next time 2911 make_current() is called, this is useful for getting around bugs in 2912 OpenGL implementations. 2913 2914 If destroy_flag is true the context will be destroyed by fltk when 2915 the window is destroyed, or when the mode() is changed, or the next 2916 time context(x) is called. 2917 2918 - Some cleanup of Fl_Gl_Choice to move most of the system dependent 2919 #ifdefs into Fl_Gl_Choice.cxx. 2920 2921 - Fl_Gl_Window does not set drawbuffer(BACKBUFFER) for 2922 single-buffered windows. 2923 2924 - Fl_Input::replace(...) correctly updates the display 2925 if the replaced region does not include the mark, 2926 point, or selected region. 2927 2928 - Added Fl::add_check(...), Fl::remove_check, and 2929 Fl::has_check. These are similar to idle callbacks but 2930 are only called just before it waits for new events. 2931 They can be used to watch for changes in global state 2932 and respond to them. 2933 2934 - "accu-timer": some changes to repeat_timeout that seem 2935 to make it accurate on Unix and WIN32 at speeds up to 2936 500000 timeouts/second (and 700000 on Linux), and 2937 within about .001% as accurate as the system clock. 2938 2939 - Fix to Fl_Valuator::step() by Guillermo Andrade. 2940 2941 - Fixed the FLUID write-menu bug introduced in 1.0.10 2942 2943 - Fl::flush() now calls GdiFlush() under WIN32 to 2944 ensure that all graphics are drawn. 2945 2946 - fl_curve() now uses a much better algorithim to figure 2947 out how many pieces to cut the curve into. 2948 2949 - FLUID now uses GetTempPath() under WIN32 to determine 2950 where to store the clipboard. 2951 2952 - Right-ctrl does not delete selected text in Fl_Input, 2953 until you type a composed character. 2954 2955 - Added simple FLTK and FLUID manual pages. 2956 2957 - Fl_Gl_Window leaked memory under WIN32. 2958 2959 - The colbrowser demo was missing an include file when 2960 compiled under OS/2. 2961 2962 2963CHANGES SINCE FLTK 1.0.9 2964 2965 - Added a strcasecmp() function to FLUID; AIX doesn't 2966 have it. 2967 2968 - Bug #115509: Fl_Scroll not repainting background. 2969 2970 - Updated the configure script and makeinclude.in file 2971 to work with the Sun PRO compilers. 2972 2973 - Disabled the WIN32 async socket select code by default: 2974 it doesn't seem to work anymore... 2975 2976 - Fl::below_mouse() was incorrectly clearing e_is_click; 2977 this prevented any double-clicks from getting 2978 through... 2979 2980 - No longer clear Fl::keysym on every event, this makes 2981 better back compatability and fixes Win2000 2982 2983 - FLUID now restores which tab in an Fl_Tabs was 2984 selected when loads .fl files. 2985 2986 - Hack to fix the annoying "raise another application 2987 when a modal window is closed" problem on WIN32. 2988 2989 - Fl_Tabs now draws the background behind the tabs. 2990 2991 - Fl::set_fonts() on WIN32 fixed to work before the 2992 first window is shown. 2993 2994 - CUA function keys, code submitted by George Yohng 2995 <yohng@drivex.dosware.8m.com> 2996 2997 - Another attempt to get glut.h to work on WIN32. 2998 2999 - Fl_Menu_::add() ignores '&' signs when comparing menu 3000 items, so you don't have to make the shortcuts the 3001 same all the time. 3002 3003 - Fixed bit-flipping patterns in WIN32 bitmap code. 3004 3005 - Fixed size of data written by gif images to .C files 3006 3007 - Menu titles and buttons in the menubar can be images 3008 (allows it to be used as a toolbar) 3009 3010 - Reads selectBackground from the xrdb database to set 3011 the selection color. Adding this to your .Xdefaults 3012 will make fltk and Motif programs look much more 3013 Windoze-like: 3014 3015 *selectForeground: white 3016 *selectBackground: #000080 3017 3018 - FL_WHEN_RELEASE on Fl_Input will now do the callback 3019 when the input field is hidden, for instance when it 3020 is on a tab and the user switches to another tab. 3021 3022 - Fl_Gl_Window with an overlay on X always resized any 3023 child windows even if you turned resizable() off 3024 because it turned it back on to resize the overlay 3025 window. This patch avoids changing resizable(). 3026 3027 - Fix so multiple Fl::add_idle() calls works 3028 3029 - The input focus got messed up if you called 3030 Fl_Tabs::value(x) and there was something that took 3031 focus on an earlier tab. 3032 3033 - Removed some (not all) of the warnings when compiled 3034 with -Wwrite-strings, this should also get similar 3035 warnings Solaris produces. 3036 3037 - Made Fl_Browser not hide the Fl_Widget::show() method 3038 3039 - Changes & additions for OS/2 from Alexander Mai 3040 3041 - Patch from Mike Lindner to make the turning on/off of 3042 scrollbars on Fl_Scroll smarter. 3043 3044 - Added missing FL_EXPORT for Fl_Valuator::format() 3045 3046 - Shortcuts for "buttons" in a Fl_Menu_Bar work again. 3047 3048 - Fix for cut/paste support and Xdnd. 3049 3050 - Shortcuts for submenu titles in a menubar pop up the 3051 submenu (rather than calling the callback) 3052 3053 - Added documentation for GL_SWAP_TYPE 3054 3055 - Buttons with box(FL_NO_BOX) did not draw. Apparently 3056 they did in older versions of fltk, I restored this. 3057 (bug 108771) 3058 3059 - Removed 8-bit colormap drawing code that was not doing 3060 anything in fl_draw_image due to the colormap 3061 allocation changes. I also made fl_color(r,g,b) 3062 actually allocate the requested color rather than the 3063 nearest fltk color-cube color (this is only done for 3064 the first color that maps to a given entry in the fltk 3065 color cube), the result is that pixmaps with a small 3066 number of colors are drawn much more accurately. The 3067 resulting code seems to produce better images and is a 3068 good deal smaller! 3069 3070 - Fixed makeinclude.in so CFLAGS are used for c source 3071 code instead of CXXFLAGS. (bug 108694) 3072 3073 - Better fix for gif files suggested by pauly (bug 3074 108770) 3075 3076 - Performance of Fl_Gl_Window may be improved on some 3077 types of OpenGL implementations, in particular MESA 3078 or other software emulators, by setting the 3079 GL_SWAP_TYPE environment variable. This variable 3080 declares what is in the back buffer after you do a 3081 swapbuffers: 3082 3083 setenv GL_SWAP_TYPE COPY 3084 3085 This indicates that the back buffer is copied to 3086 the front buffer, and still contains it's old 3087 data. This is true of many hardware 3088 implementations. Setting this will speed up 3089 emulation of overlays, and widgets that can do 3090 partial update can take advantage of this as 3091 damage() will not be cleared to -1. 3092 3093 setenv GL_SWAP_TYPE NODAMAGE 3094 3095 This indicates that nothing changes the back 3096 buffer except drawing into it. This is true of 3097 MESA and Win32 software emulation and perhaps some 3098 hardware emulation on systems with lots of memory. 3099 3100 All other values for GL_SWAP_TYPE, and not setting 3101 the variable, cause fltk to assumme that the back 3102 buffer must be completely redrawn after a swap. 3103 3104 This is easily tested by running the gl_overlay demo 3105 program and seeing if the display is correct when 3106 you drag another window over it or if you drag the 3107 window off the screen and back on. You have to exit 3108 and run the program again for it to see any changes 3109 to the environment variable. 3110 3111 - Optimized colormap usage on 8-bit displays with 3112 images. New code only allocates colors as they are 3113 needed (still converts indexed images to full RGB and 3114 dithers, tho...) 3115 3116 - Fixed .gif files in FLUID, they were broken by the fix 3117 for large .xpm files in version 1.0.9. 3118 3119 - Fix for OpenGL hardware overlays with the transparent 3120 index != 0. Tested on the brand new HP Linux 3121 Workstations, this is the only bug encountered. Both 3122 X and OpenGL hardware overlay works perfectly on 3123 these, though configue may not enable it by 3124 default...) 3125 3126 - Fl_Choice and all other Fl_Menu_ subclasses draw the 3127 items using textcolor() as the default color of the 3128 text. 3129 3130 - Fix suggested by Stuart Levy to fix scrolling when 3131 deleting items from the browser. 3132 3133 - Replaced the -$(MAKEFLAGS) with $(MFLAGS) as per the 3134 gmake documenation. Apperntly this works with other 3135 make programs and MAKEFLAGS is passed invisibly by 3136 gmake, though the documenation is not too clear... 3137 3138 3139CHANGES SINCE FLTK 1.0.8 3140 3141 - More documentation fixes. 3142 - GLUT_STROKE_*_ROMAN in glut.h are defined as 0,1 on 3143 WIN32 to match the glut header files there. 3144 - Added Fl::has_timeout() and Fl::has_idle() functions. 3145 - Added new Fl::repeat_timeout() method that 3146 measures time from when the last timeout was called. 3147 This has slightly less overhead and allows accurate 3148 spacing of timeouts. 3149 - More Cygwin changes 3150 - FLUID could crash with identifiers with trailing 3151 whitespace. 3152 - Fixed the XPM loading code in FLUID to handle files 3153 longer than 2048 lines. 3154 - Added a bunch of missing FL_EXTERN's to glut.h to 3155 eliminate GLUT linking errors under WIN32. 3156 - Fix for sliders so that clicking on one with a small 3157 (or zero) slider_size will not move the slider. 3158 - fl_shortcut.cxx didn't export fl_old_shortcut() in the 3159 WIN32 DLL. 3160 - Fixed xpaint link in the documentation. 3161 - Included Fl_Input word-wrap fixes from Alexander Rabi 3162 Beels. This will not affect things much because 3163 word-wrap is normally disabled. 3164 - Patch from Stuart Levy so the *last* widget in an 3165 Fl_Pack may be resizable. This should be compatable 3166 because resizable didn't do anything before so there 3167 was no reason to set it. 3168 - Cleaned up the timeout and Fl::wait() code. The new 3169 code calls the clock function less than half as much, 3170 which results in a noticable performance improvement 3171 in some apps. 3172 - Fl::wait(time) with a time greater than the system can 3173 handle (24.855 days on NT, the same on some Unix 3174 systems) will now act as though the time is infinity. 3175 Before it would do unpredictable things. 3176 - "USE_POLL" now compiles and works, although it is 3177 disabled by default. poll() is an alternative to the 3178 UNIX select() call which is available on some version 3179 of UNIX and may be faster depending on the platform; 3180 try it by editing config.h. 3181 - The WIN32 USE_ASYNC_SELECT code now does translation 3182 and dispatching of the select events; this makes 3183 Windows a lot happier. 3184 - Added a check for an open display in Fl::wait() so 3185 that you don't need an open window under X to call it. 3186 3187 [changes in snapshot 2] 3188 3189 - fl_old_shortcut() wasn't being exported in the WIN32 DLL 3190 project. 3191 - Updated Cygwin and Mingw makefiles. 3192 - Updated the BC++ project file. 3193 - You can no longer insert control chars into Fl_Int/Float_Input. 3194 - Fl_Multiline_Input now resets the horizontal position when 3195 focus is changed; this caused problems when multiple multiline 3196 widgets were used in an application. 3197 - All handle() methods are now public, and all draw() methods are 3198 now protected in FLTK widgets. 3199 - More fixes to the OpenGL overlay code on win32. This now 3200 seems to work quite reliably on several different pieces of 3201 hardware. Apparently doing SetLayerPaletteEntries with a 3202 palette larger than the overlay size caused the drivers to 3203 screw up in unpredictable ways. Also SwapBuffers swapped both 3204 the overlay and main window, which is not what fltk's 3205 interface wanted, this was easy to fix however. 3206 - Patch for full scrollbars so that clicking on them does not 3207 move anything. 3208 - Documentation fixes. 3209 - Better horizontal scrolling of Fl_Input when cursor is near 3210 the end of the line. 3211 - Fl_Input::value(x) selects all text. 3212 - Fl_Output and Fl_Multiline_Output would scroll to the end 3213 of the text. 3214 - filename_isdir() now drops any trailing slash from the 3215 filename (needed for Windows) 3216 - Added return type for main() function in line_style demo. 3217 - Running FLUID with the "-cs" option writes the I18N message 3218 file. 3219 - The WIN32 version of XParseGeometry() didn't initialize some 3220 variables. This caused a compiler warning but did not affect 3221 the actual code. 3222 3223 [changes in snapshot 1] 3224 3225 - EMail changes - fltk-bugs@easysw.com now officially 3226 fltk-bugs@fltk.org. 3227 - The FLTK DLL project file didn't include fl_compose.cxx 3228 - Dropped the GCC -fno-rtti option since it caused problems 3229 with existing programs. 3230 - Moved the .fl rules back to the test directory. 3231 - Fixed some makefile and spec file problems. 3232 - Fixed hardware overlays. The problem was the new 3233 fl_clipped() code, which tests against the current window 3234 size. The hardware overlay code did not set the current 3235 window when drawing the overlay. I needed hardware overlay 3236 for DD's code, I'm not sure if these fixes are good enough to 3237 enable this in our general release. Hardware overlay still 3238 only works on SGI Irix. 3239 - Some patches to turn off the MSVC++ -Oa (assumme no aliasing) 3240 optimization flag. Suprisingly this only broke a few parts 3241 of fltk, or at least these are the only ones I found. 3242 - Does not unmap child windows when the main window is 3243 iconized. This reduces flashing when the window is 3244 deiconized. 3245 - Fl::key() is set to zero by all events except key down/up. 3246 This will allow you to reliably test if an event or callback 3247 was produced by a keystroke. Fixes the bug posted about 3248 stopping Escape from closing the window. 3249 - User defined cursors on OpenGL windows slowed down NT a 3250 *LOT*. Some attempts to fix this by turning off the cursor 3251 while drawing the window. 3252 - Filename completion in the file chooser works better on NT. 3253 Typing TAB fixes the case of everything you typed to match 3254 the shortest name that can be completed. 3255 3256 3257CHANGES SINCE FLTK 1.0.7 3258 3259 - Many documentation changes/fixes/improvements. 3260 - FLUID didn't save Fl_Double_Window's as 3261 double-buffered windows. 3262 - Fl_Menu_ text color is used if Fl_Menu_Item text color 3263 is not set. 3264 - Added Fl::first_window(window) method to change the 3265 "top" window that is used when showing modal windows. 3266 By default it is the window the user last 3267 clicked/typed in. 3268 - The Fl_Menu::global() handler now uses the current top 3269 window instead of the menu bar for modal stuff. 3270 - Added fl_line_style() function to set the line style. 3271 Note that user-defined line styles ONLY WORK UNDER X11 3272 and Windows NT/2000. Windows 95/98 do, however, 3273 support the "standard" line styles. 3274 - Fl::wait() does not return immediately when no windows 3275 - XForms keyboard shortcuts using hex keycode constants 3276 now work. 3277 - Updated the configure script for *BSD and to turn off 3278 exceptions and RTTI in the FLTK library itself (does 3279 not affect applications which use these things) 3280 - FLUID now supports I18N using the POSIX or GNU 3281 mechanisms. 3282 - Fixed definition of glutBitmapWidth to match header 3283 file. 3284 - Does not turn visible() on when a window is iconized() 3285 or if a modal window is shown and it's parent is 3286 iconized. This allows the code "while (w->visible() 3287 && w->damage()) Fl::check();" to reliably wait for the 3288 window to be mapped and drawn the first time. 3289 - Setting box(FL_NO_BOX) on a button makes it an 3290 invisible overlay 3291 - FL_NORMAL_SIZE is now a global variable so you can 3292 change the default text size prior to creating your 3293 widgets. 3294 - Menus now draw properly with a box type of 3295 FL_FLAT_BOX. 3296 - Cygwin fixes to compile in POSIX mode. 3297 - Fl_Value_Input callback can call value() or 3298 destructor. 3299 - OpenGL overlays now work under Windows NT! 3300 - Fl_Slider and Fl_Scrollbar could cause a divide by 3301 zero. 3302 - Clicking in an Fl_Input field no longer selects the 3303 whole field, it just moves the text cursor. 3304 - Tru64 UNIX fixes for filename_list() 3305 - Fl_Browser now draws itself properly when deactivated. 3306 - FLUID GUIs now use Courier font for all code input. 3307 - The FLUID OK and Cancel buttons are now all shown in 3308 the same order in all windows. 3309 - Fixes to compile under GCC 2.95.2 3310 - Fixed the BC5 project files. 3311 - FL_LEFT_MOUSE and friends are now in 3312 <FL/Enumerations.H> 3313 - Fixes for fake OpenGL overlay code under WIN32. 3314 - Message windows are now resizeable. 3315 - On WIN32 non_modal (but not modal) windows have the 3316 close and size boxes. 3317 - Fl_Button and friends didn't honor the 3318 FL_WHEN_NOT_CHANGED condition. 3319 - Disabled XDBE on all platforms. 3320 - XGetDefault patch from James Roth 3321 - New fl_open_display(Display *) function to allow FLTK 3322 to share a display connection with another toolkit 3323 (like Xt, GTK, etc.) 3324 - Shortcut labels for special keys should now display 3325 properly under WIN32. 3326 - fl_set_fonts() did not reuse fonts. 3327 - Fixed shortcut problem under WIN32 when the focus 3328 window changes. 3329 - "dead" keys should now work under X11. 3330 - Fixes to make FLTK compile with GCC 2.95.2 3331 - FL_SHORTCUT fix for I18N. 3332 - Fixed cut/paste problems under WIN32 3333 - FLUID now produces correct code for nested class 3334 destructors. 3335 - Nested windows should now redraw properly under WIN32. 3336 - "table" is now static in fl_cursor.cxx 3337 - Fl_Chart used the textcolor() and not the color() for 3338 horizontal bar charts. 3339 - Now set the input hint for TWM and TWM-derived window 3340 managers. 3341 - Now look for TrueColor visual if FLTK is compiled with 3342 USE_COLORMAP == 0. 3343 - Fl_Scrollbar could generate a divide-by-0 error if the 3344 min and max values were the same. 3345 - Fl_Menu_::remove() now removes whole submenus if 3346 needed. 3347 - Scrollbar buttons now draw themselves pushed in as 3348 needed. 3349 - Fixed the gl_overlay demo (and gl overlays in general) 3350 when they are faked with no hardware and the window is 3351 resized. 3352 - Selections weren't shown in Fl_Browser widgets when an 3353 item used the @B (background) format. 3354 - Windows can now be resized by the program under X11 3355 for more window managers. 3356 - OS/2 makeinclude updates. 3357 - Added Fl.H required by an inline function in 3358 Fl_Repeat_Button.H 3359 - Fl_add_idle adds new functions to the end of the queue 3360 ring, rather than the start, so they are executed in 3361 the order added, and a callback that adds itself does 3362 not prevent others from being called. 3363 - FLUID lets you type in code that starts with '#' for 3364 cpp directives. 3365 - XBell() could be called before the X11 display was 3366 opened, causing a segfault. 3367 - Fixed Fl_Gl_Window::ortho() - Borland C++ doesn't 3368 define GLint to "int", but instead to "long"... 3369 - Fixed Fl_Browser scrollbars within an Fl_Scroll 3370 widget. 3371 - Fl_Output (and non-focused Fl_Input) now scroll in 3372 response to position() 3373 - Fl_Input now does not scroll horizontally if the 3374 entire string will fit in the widget. 3375 - Fl_Scrollbar didn't push the right arrow buttons when 3376 you clicked outside the scroller. 3377 - Now use WSAAsyncSelect() for better socket performance 3378 with Fl::add_fd() 3379 3380 3381CHANGES SINCE FLTK 1.0.6 3382 3383 - Fixed Fl_Input_ bug under WIN32 - no longer stop accepting input 3384 when one of the "Windows" keys is pressed. 3385 - Now call TranslateEvent for all events under WIN32. 3386 - Fixes for OpenBSD and NetBSD 3387 - The FL_CURSOR_HAND cursor now uses the IDC_HAND cursor instead of 3388 IDC_UPARROW under Windows 98 and 2000. 3389 - Fl_Scrollbar now does a page-up/down when you click outside the 3390 scroller. 3391 - Fl_Window::show(0, NULL) causes core dump 3392 - Fixed a compile-time error in fl_call_main.c for Borland C++. 3393 - "fluid -c filename.fl" would try to open an X display if the 3394 FLUID file contained an Fl_Browser widget. 3395 - Fl_Browser now correctly measures items with @C or @B color 3396 formatting commands. 3397 - Fixed a bitmap drawing bug for WIN32 (bit reversal table was wrong) 3398 - fl_xyz() dialogs now set a title in the title bar. 3399 - fl_alert() sounds the bell under X11. 3400 - fl_xyz() dialogs now call MessageBeep() under WIN32. 3401 - Fl_Browser_ didn't draw the selection box with the inactive color 3402 when the browser wasn't activated. 3403 - Fl_Browser now responds to FL_KEYBOARD as well as FL_SHORTCUT. If 3404 you subclass it to accept focus then keyboard navigation will work. 3405 - Fl_Tile and Fl_Tabs do their callback when the user changes their 3406 display. 3407 - Made some of the private methods of Fl_Browser protected. 3408 - Now set win_gravity correctly, this helps some X 3409 window managers that use it position the window where 3410 FLTK wants it to be. 3411 - 0-width browsers crashed. 3412 - Minor change: if the X window manager does not do 3413 anything else with windows that don't have their 3414 position specified, the windows appear centered in the 3415 screen, rather than in the top-left corner. This 3416 happened with modal windows under Irix 4Dwm. This 3417 also causes windows to be centered when no window 3418 manager is running, which might be useful for 3419 installation gui programs? 3420 - Clicking in an Fl_Input field the first time selects the entire 3421 field. 3422 - Clicking the middle mouse button in an Fl_Input field now inserts 3423 the text at the indicated position instead of the cursor position. 3424 - Drag-selecting text in an Fl_Input field now copies the text 3425 automatically. 3426 - Fl::flush() no longer calls the draw() method for invisible windows. 3427 - Calling deactivate() on an invisible widget could cause an 3428 infinite loop in some obscure cases. 3429 - Added #pragma's for SGI C++ compilers - the 6.{23} X headers had 3430 errors in them. 3431 - Fl_Gl_Window::ortho() changed so that text and images 3432 are not erased if the origin is off the left/bottom of the 3433 window. 3434 - Small change to Fl_Input so that a click that gives it 3435 the focus also selects all the text. 3436 - Fixed a slider drawing problem. 3437 - You can now add/delete children of Fl_Tabs widgets whether or 3438 not they are visible. 3439 - Now embed woff options for SGI C++ compilers (gets rid of X11 3440 header warnings) 3441 - draw_pixmap used a cast that the Digital UNIX C++ compiler didn't 3442 like. 3443 - The GLUT function key constants were off by one. 3444 - The XPM reading code didn't handle RGB colors other than #rrggbb. 3445 3446 3447CHANGES SINCE FLTK 1.0.5 3448 3449 - Fl_win32.cxx defined WM_MOUSE_LEAVE instead of WM_MOUSELEAVE. 3450 - Fl_get_key_win32.cxx needed to include <ctype.h> 3451 - gl_draw_pixmap.cxx needed a pointer cast for ANSI C++. 3452 - Fl_Repeat_Button didn't always delete its timeout. 3453 - Now keep track of the current OpenGL context; this provides 3454 significant performance improvements for OpenGL applications 3455 with a single context. 3456 3457 3458CHANGES SINCE FLTK 1.0.4 3459 3460 - Fl_Roller didn't handle a width and height of 0. 3461 - filename_list() fix for FreeBSD. 3462 - Fixed RPM install docos - needed "--install" option... 3463 - Fl_Browser_ wouldn't draw the vertical scrollbar right away if it 3464 added a horizontal one which covered the last line. 3465 - Fl_Tabs problems - single-character labels don't show up (problem in 3466 measure_tabs() or measure_label() methods?), and doesn't clear top 3467 tab area before drawing tabs. 3468 - Fl_Browser needs a destructor. 3469 - fl_draw_label() quoted characters between 0x80 and 0xa0, which 3470 caused problems for some programs using the WinANSI character set. 3471 - FLUID didn't handle declared class destructors. 3472 - Fixed another WIN32 cut/paste bug. 3473 - Fl_Tabs didn't work properly when there was only 1 tab. 3474 - Fl_Menu::add() didn't delete the old array. 3475 - Fl_Repeat_Button didn't delete its timeout when disabled. 3476 - fl_draw() would crash if no font was set (now defaults to 3477 a 14-pixel Helvetica font) 3478 - Can't forward declare classes; need to check for "class ", "struct ", 3479 "union ", etc. See Bill's message 3480 - Added #pragma around xlib.h for IRIX 3481 - FL_KEYBOARD events have the correct x/y when sent to child X 3482 windows. Note that if you worked around this bug by adjusting the 3483 x/y yourself you will have to change your code. In addition all 3484 events have the correct x/y when sent to the grab() widget. And 3485 the code to do all this was simplified a lot. 3486 - The XPM code didn't handle named colors with spaces in the names. 3487 - Pressing ESCape closed the window with pointer focus, even if there 3488 was a modal window open (now closes the modal window). 3489 - FLUID no longer produces trigraphs accidentally in the image data. 3490 - FLUID uses string constant concatenation to produce shorter image 3491 data. 3492 - The Fl_Group deletion code crashed if there was exactly one child 3493 widget. 3494 - Simulated overlays in single-buffered Fl_Gl_Windows now draw 3495 correctly (though very slowly as it requires the entire window to 3496 be redrawn to erase the overlay). This fix ported our Digital 3497 Domain programs better to systems with no overlay hardware. 3498 - Added support for extern "C" declarations in FLUID. 3499 - Added Fl_Pack support to FLUID. 3500 - Fixed the order of #include's in FLUID generated header files. 3501 - Fixed detection of vsnprintf and snprintf under HP-UX 10.20 once 3502 and for all. 3503 - The checkers demo did not compile with GCC 2.95 3504 - FLUID didn't output virtual destructors properly. 3505 - Added inline "make_visible()" method to Fl_Browser. 3506 - Fl::wait() now returns immediately if any timeouts are 3507 called. 3508 - 16-bit XPM files are now properly handled. 3509 - Fl_Window::resize() was missing FL_EXPORT (caused problems 3510 with Windows DLLs) 3511 - FLUID was writing extern declarations twice. 3512 - New FLUID arrow key functionality: arrows move by one pixel, shift+arrow 3513 resizes, ctrl+arrow steps by grid 3514 3515 3516CHANGES SINCE FLTK 1.0.3 3517 3518 - Documentation updates 3519 - Fl_Browser::bottomline(size) didn't scroll to the bottom 3520 if the second-to-last line was visible. 3521 - fl_wait() didn't poll FDs properly for WIN32. 3522 - Fixed DLL definitions for BC++. 3523 - FLUID now handles nested classes properly. 3524 - The "connect" demo now does a wait() for the PPP process 3525 so that you aren't left with a lot of zombie processes. 3526 - Fixed the FLTK colormap to use FF instead of F4 for full 3527 intensity values. 3528 - Minor change to scrollbar drawing code to match other 3529 toolkits. 3530 - New selections would cancel themselves out in WIN32. 3531 - The header file links were broken in the IRIX 3532 distributions. 3533 - fl_elapsed() now always uses GetClockTick() for WIN32. 3534 - fl_display is now initialized to GetModuleHandle(NULL) - 3535 this fixes problems people had with Cygwin and MingW32. 3536 - WinMain() is no longer compiled in with Cygwin and 3537 MingW32; it wasn't being used for those compilers anyways. 3538 - Added Solaris compiler options to configure script. 3539 - Fl_Value_Input wouldn't update properly if you set the 3540 value from a callback. 3541 - Fl_Tile wouldn't resize if the resizeable widget was the 3542 last child. 3543 - Was missing #include <ctype.h> and #include <stdlib.h> in 3544 several files, which caused problems on some platforms. 3545 - Fixed another case where Fl_Browser_ could get in an 3546 infinite resizing loop. 3547 - Fl_win32.cxx now includes <FL/filename.H> to export missing 3548 DLL symbols. 3549 - FLUID didn't handle member functions that include the 3550 scope operator. 3551 - Fl_Chart was dividing by 0 if there were no data samples 3552 or if they were all the same (min == max). 3553 3554 3555CHANGES SINCE FLTK 1.0.2 3556 3557 - XDBE is now enabled for IRIX 6.[234] as well as 6.5. 3558 - FLUID didn't write the when() condition properly. 3559 - Tab/space/backtab/backspace can be used to navigate 3560 through menus. 3561 - Changed $(DSONAME) in the src/Makefile to "libfltk.so.1 3562 libfltk.sl.1". 3563 - Fl_Browser could read past the end of the string when 3564 computing the item height. 3565 - Fl_Browser could get in an infinite loop when checking to 3566 see if scrollbars needed to be displayed. 3567 - FLUID now honors the return type of the outermost widget. 3568 This was a problem when substituting Fl_Group in an 3569 Fl_Window widget. 3570 - Fl_Menu_::copy() wasn't allocating a power of 2 for the 3571 array size. 3572 - FLWM would crash if fl_xmousewin was deleted. 3573 - The fast_slow demo now uses output widgets. 3574 - Timers under WIN32 were unreliable. 3575 3576 3577CHANGES SINCE FLTK 1.0.1 3578 3579 - Documentation updates 3580 - The Visual C++ project files didn't include fl_add_idle.cxx. 3581 - LIBRARY/DSO name inconsistencies in src/Makefile. 3582 - src/Makefile didn't clean the DSO. 3583 - The valuator demo now has only a single callback. 3584 - The code looked for HAVE_SYS_SELECT_H, but the 3585 config file uses HAVE_SYS_SELECT. 3586 - Fl_Image redraw not quite right under X11 or WIN32 3587 - Problems with timeouts & cube demo under WIN32 3588 - FLUID problems with inline functions. 3589 - Documentation fixes... 3590 - Fl_Browser::item_height() didn't handle blank lines or 3591 non-default fonts properly. 3592 - FL/math.h didn't have #ifndef...#define...#endif guards 3593 against multiple inclusion... 3594 - Fl_Menu_::copy() fix - didn't allocate power of 2... 3595 - Fl::damage() now remains true until all windows are actually 3596 redrawn. 3597 - Fl_Widget destructor, hide(), and deactivate() methods no longer 3598 send FL_LEAVE, FL_RELEASE, or FL_UNFOCUS events to the widget 3599 (which could cause applications to crash). 3600 - FLUID now outputs symbolic names for align() and when(). 3601 - Fixed select() to use maxfd + 1 instead of maxfd. 3602 - Added "Fl::remove_fd(fd, when)" function so you can remove the 3603 read and write callbacks separately. 3604 - The Fl::add_fd() and Fl::add_timeout() arrays are now dynamically 3605 allocated. 3606 - FLUID didn't always turn the FL_SUBMENU flag on for submenu titles. 3607 - The "extra code" in FLUID now is placed before the "o->end()" call 3608 for Fl_Group and its derived classes. 3609 - You can now set a FL_Window widget's class in FLUID to Fl_Group to 3610 generate a function or class that builds part of a GUI (i.e. no window). 3611 - FLUID now displays "Save file before exiting?" with the standard yes, 3612 no, and cancel buttons rather than "Discard changes?". 3613 - Fl_Menu_::add() now works with any type of menu, even one set with 3614 the menu() method. 3615 - The keypad keys were not always decoded properly under X11. 3616 - Some pointers were not being turned off when widgets were deleted, 3617 which caused some applications (like FLWM) to crash. 3618 3619 3620CHANGES SINCE FLTK 1.0 3621 3622 - Documentation fixes. 3623 - Fl::check() didn't return the correct value, breaking a number 3624 of applications. 3625 - Fixed FLUID bug that caused styles patch to crash when you delete 3626 a menu item. 3627 - Updated valuators demo to put the values in the gui box. 3628 - Fl_Browser_::item_height() didn't always compute the correct 3629 value. 3630 - Fixed the alignment of Fl_Choice text. 3631 - Fixes for OS/2. 3632 - Fl_Menu_Item::clear() didn't clear value. 3633 - Added some changes to make FLTK work with Borland C++. 3634 - ANSI C++ fixes. 3635 - Plugged a memory leak in the fractal demo. 3636 - Fl::add_timeout() didn't work under WIN32 with small values. 3637 - The configure script and makefiles now define DSONAME and 3638 use the static library for all example programs. 3639