summaryrefslogtreecommitdiff
path: root/CHANGES
blob: 4a14936adfa8f565a34245ef34505d2253a45d5c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
CHANGES IN FLTK 1.1.0rc1

	- The fl_file_chooser() and fl_dir_chooser() functions
	  now support an optional "relative" argument to get
	  relative pathnames; the default is to return absolute
	  pathnames.
	- The backspace and delete keys now work as expected in
	  the file chooser when doing filename completion.
	- FLUID now supports running shell commands.
	- New Fl_File_Input widget that shows directory
	  separators with filename in input field.
	- The Fl_File_Chooser dialog now shows the absolute path
	  in the filename field using the Fl_File_Input widget.
	- FLUID now keeps track of grid, tooltip, and other
	  GUI options, along with the last 10 files opened.
	- Tooltip windows would show up in the task bar under
	  WIN32.
	- Now append trailing slash to directory names in names
	  in WIN32 version of scandir().  This takes care of a
	  file chooser performance problem with large
	  directories.
	- Added Fl_Preferences class from Matthias Melcher,
	  including binary data support.
	- FLUID now recognizes the "using" keyword in
	  declarations.
	- fl_file_chooser() didn't highlight the requested file
	  the second time the file chooser dialog was shown.
	- Fixed rendering of Fl_Light_Button with the plastic
	  scheme.
	- Fixed a bug in the MacOS font enumeration code.
	- Now show a "locked" icon next to static/private
	  elements in FLUID, and "unlocked" icon next to
	  global/public elements.
	- Implemented Fl_Menu_Item image labels using older
	  1.0.x labeltype method.
	- Updated the PNG library check to support both png.h
	  and libpng/png.h.
	- Fixed a recursion bug in tooltips that was causing
	  random crashes.
	- fl_file_chooser() could cause a segfault when passed a
	  NULL filename parameter in some situations.
	- Added a "-g" option to fltk-config to support quick
	  compiling with debugging enabled.
	- Fixed redraw problem with Fl_Input and anti-aliased
	  text.
	- Added threading support for MacOS X and Darwin.
	- The filesystem list in the file chooser now works under
	  MacOS X and Darwin.
	- The fl_msg structure now contains all data passed to
	  the WndProc function under WIN32.
	- Fixed some window focus/positioning problems under
	  MacOS X.
	- Added fl_create_alphamask() function to create an alpha
	  mask from 8-bit data; currently this always generates a
	  1-bit screen-door bitmask, however in the future it will
	  allow us to generate N-bit masks as needed by various
	  OS's.
	- Fl_File_Browser::load() didn't properly show drives
	  when compiled in Cygwin mode.
	- Now pass correctly pass keyboard and mouse events to
	  widget under tooltip as needed...
	- Added new Fl::dnd_text_ops() methods to enable/disable
	  drag-and-drop text operations.
	- Fl_Input now supports clicking inside a selection to
	  set the new text position when drag-and-drop is
	  enabled.
	- Added support of X resources for scheme, dnd_text_ops,
	  tooltips, and visible_focus...
	- Fixed some case problems in includes for the MacOS X
	  code.
	- Fl_Widget::handle() returned 1 for FL_ENTER and
	  FL_LEAVE events, which caused some compatibility
	  problems with 1.0 code.
	- Fl_Box::handle() now returns 1 for FL_ENTER and
	  FL_LEAVE events so that tooltips will work with Fl_Box
	  widgets.
	- Some source files still defined strcasecmp and
	  strncasecmp under WIN32.
	- Some source files still used the "false" and "true"
	  C++ keywords, even though several of our "supported"
	  C++ compilers don't support them.  Using 0 and 1 until
	  FLTK 2.0 (which uses the bool type instead of int for
	  any boolean values...)
	- Minor Fl_Color revamping, so that color constants map
	  to the color cube and FL_FOREGROUND_COLOR,
	  FL_BACKGROUND_COLOR, FL_BACKGROUND2_COLOR,
	  FL_INACTIVE_COLOR, and FL_SELECTION_COLOR map to the
	  user-defined colors.


CHANGES IN FLTK 1.1.0b13

	- Fixed a bug in the Xft support in Fl_Window::hide()
	  (the config header wasn't included, so the Xft code
	  wasn't getting called)
	- Xdbe support must now be enabled explicitly using
	  --enable-xdbe due to inconsistent bugs in XFree86 and
	  others.
	- Windows resized by a program would revert to their
	  original size when moved under WIN32.
	- Cygwin can only compile the new WIN32 drag-n-drop code
	  using GCC 3.x.
	- Tooltips now appear for inactive and output widgets.
	- Tooltips no longer steal keyboard events other than
	  ESCape.
	- Tooltips are no longer delayed when moving between
	  adjacent widgets.
	- fl_beep(FL_BEEP_DEFAULT) now uses the PC speaker under
	  Windows (0xFFFFFFFF) rather than an event sound.
	- The configure script didn't include the -mwindows or
	  -DWIN32 compiler options in the output of fltk-config
	  when using the Cygwin tools.
	- Fl_Output didn't take input focus when needed, so it
	  was unable to support CTRL-C for copying text in the
	  field and did not unhighlight selections when the
	  widget lost focus.
	- The fl_filename_name() function didn't handle a NULL
	  input string.
	- The input field used by the fl_input() and
	  fl_password() functions was resized too small in
	  1.1.0b12.
	- Added casts in fl_set_fonts_win32.cxx for VC++ 5.0.
	- Fl_File_Icon::find() did not check the basename of a
	  filename for a match; this caused matches for a
	  specific filename (e.g. "fluid") to fail.
	- The Fl_Shared_Image class now supports additional
	  image handling functions - this allows you to support
	  additional image file formats transparently.


CHANGES IN FLTK 1.1.0b12

	- Documentation updates.
	- Fl_Choice didn't clip the current value properly - it
	  wasn't accounting for the box border width.
	- The forms compatibility functions are now placed in a
	  "fltk_forms" library to match FLTK 2.0.
	- Renamed down() and frame() to fl_down() and
	  fl_frame(), filename_xyz() to fl_filename_xyz(), and
	  all of the define_FL_FOO() functions for the custom
	  boxtypes to fl_define_FL_FOO() to avoid namespace
	  clashes.
	- Stereo OpenGL support (patch from Stuart Levy)
	- All of the convenience functions defined in fl_ask.H
	  now resize the widgets and dialog window as needed for
	  the labels and prompt.
	- Backported FLTK 2.0 dual cut/paste buffer code.
	- Added support for Xft library to provide anti-aliased
	  text on X11.
	- Fl_Help_View didn't keep track of the background color
	  of cells properly.
	- Fl_Browser::item_width() didn't compute the width of
	  the item properly when column_widths() was set.
	- Fl_Button didn't check to see if the widget could
	  accept focus before taking input focus.
	- Fl_Help_View didn't preserve target names (e.g.
	  "filename.html#target") when following links.
	- Drag-and-drop support for MacOS.
	- Updated MacOS issues documentation.


CHANGES IN FLTK 1.1.0b11

	- Now conditionally use the WIN32 TrackMouseEvent API
	  (default is no...)
	- Fixed a table rendering bug in the Fl_Help_View
	  widget.
	- The fltk-config script now recognizes all common C++
	  extensions.
	- The menu code was using overlay visuals when the
	  scheme was set to "plastic".
	- Fixed some drawing problems with Fl_Light_Button and
	  its subclasses.
	- Fixed a minor event propagation bug in Fl_Group that
	  caused mousewheel events to be passed to scrollbars
	  that were not visible.
	- The fl_file_chooser() function did not preserve the
	  old file/directory like the old file chooser did.
	- The prototypes for fl_input() and fl_password() did
	  not default the "default value" to NULL.
	- Fl_Tabs now draws tabs using the selection_color() of
	  the child groups; this allows the tabs to be colored
	  separately from the body.  Selected tabs are a mix of
	  the Fl_Tabs selection_color() and the child group's
	  selection_color().
	- Fl_Tabs didn't include images in the measurement of
	  the tabs if no label text was defined.
	- The WIN32 code didn't return 0 from the window
	  procedure after handling WM_PAINT messages.
	- fl_draw() would incorrectly test the clipping of
	  labels the lay outside the bounding box.
	- filename_relative() didn't always return the correct
	  relative path.
	- Updated the test makefile to work with more versions
	  of "make".
	- Added new "--with-optim" configure option to set the
	  optimization flags to use when compiling FLTK.
	- The fltk-config script no longer reports the
	  optimization flags that were used to compile FLTK.
	- Initial port of FLTK 2.0 drag-and-drop support.


CHANGES IN FLTK 1.1.0b10

	- Fixed the new WIN32 TrackMouseEvent code.
	- Fixed the VC++ project files to link against
	  comctl32.lib.


CHANGES IN FLTK 1.1.0b9

	- Better FL_LEAVE event handling for WIN32.
	- The alpha mask was bit-reversed.
	- Fl::scheme() applied the scheme tile image to overlay
	  and menu windows, which caused problems when the
	  overlay planes were in use.
	- Fixed Fl::event_button() value when hiding tooltip on
	  some systems.
	- Added Fl_BMP_Image class to support loading of Windows
	  bitmap (BMP) files.
	- The shiny demo didn't work on some systems (no
	  single-buffered OpenGL visual), and the new box types
	  were reset when show(argc, argv) was called.
	- Fl::scheme() didn't update windows that were not
	  shown.
	- The fractals demo would get far ahead of the UI with
	  some Linux OpenGL drivers.  Now use glFinish() instead
	  of glFlush() so we are at most 1 frame ahead.
	- The fractals demo Y axis controls were backwards for
	  the "flying" mode.
	- MacOS: cleaned up src/Fl_mac.cxx
	- MacOS: fixed Fl::wait(0.0), fixed Cmd-Q handling
	- Update CygWin support for Fl::add_fd().
	- Update the plastic scheme to not override the default
	  colors - move the color code to the MacOS-specific
	  code.  Also updates the tile image colormap to match
	  the current background color.
	- Add fl_parse_color() to X11 as well, removing a bunch
	  of conditional code and providing a common interface
	  for looking up color values.
	- Fixed the make problems in the test directory - some
	  make programs had trouble handling the recursive
	  dependencies on the FLUID files...
	- Now use rint() to round floating-point coordinates.
	- Demo cleanup - made sure they all worked with schemes.
	- Fl_Tabs no longer clears the unused area of the tab
	  bar.
	- Added show(argc, argv) method to Fl_Help_Dialog.
	- MacOS: implemented cut/copy/paste.
	- MacOS: improved keyboard handling, fixed keyboard
	  focus handling, fixed get_key, modified 'keyboard'
	  demo to show second mouse wheel and additional keys
	  'help' and FL_NK+'='


CHANGES IN FLTK 1.1.0b8

	- OS/2 build fixes.
	- fl_draw() didn't ignore symbol escapes properly for
	  the browsers...
	- New Fl::scheme() methods from FLTK 2.0; currently only
	  the standard ("") and plastic ("plastic") methods are
	  supported.  Schemes can be set on the command-line
	  ("-scheme plastic") or using the FLTK_SCHEME
	  environment variable.
	- MacOS: fixed iBook keyboard handling, moved 
	  remaining message handling to Carbon, added mouse
	  capture support, added timer support, added overlay
	  support, fixed double-buffering side effects.
	- The configure script wasn't using the -fpermissive or
	  -fno-exceptions options with GCC.
	- Fl_JPEG_Image and friends didn't set the depth if the
	  image file couldn't be loaded; since Fl_RGB_Image
	  didn't check for this, it could fail when displaying
	  or copying these images.
	- filename_absolute() did not always free its temporary
	  buffer.
	- filename_relative() did not do a case-insensitive
	  comparison under MacOS, OS/2, and Windows.
	- filename_isdir() didn't properly handle "D:L" under
	  WIN32.
	- Fl_Shared_Image::get() did not check to see if the
	  image could not be loaded.
	- Fl_Help_View didn't clear the line array in the
	  Fl_Help_Block structure; this causes erratic
	  formatting for some pages.
	- The font and size members of Fl_Help_Block were never
	  used.
	- The threading functions (Fl::lock() and friends) were
	  not exported under WIN32.
	- The Fl_Text_Display destructor deleted the scrollbars
	  twice...
	- Fl_Help_View didn't reset the horizontal scroll
	  position when showing a new page.
	- Fl_Pack now allows any child widget to be the
	  resizable() widget, not just the last one.
	- MacOS: opaque window resizing, all events except 
	  Mac menus are now handled using Carbon, window 
	  activation fixed, GL_SWAP_TYPE default changed to 
	  make gl_overlay work.
	- Fl_Help_View::resize() didn't resize the horizontal
	  scrollbar.
	- MacOS: list all fonts, fixed clipping and mouse
	  pointer bugs.
	- The Fl_File_Chooser widget now uses hotspot() to
	  position the dialog under the mouse pointer prior to
	  showing it.
	- Added a configure check for *BSD - use -pthread option
	  instead of -lpthread.
	- Fl_Text_Display could get in an infinite loop when
	  redrawing a portion of the screen.  Added a check for
	  the return value from fl_clip_box() so that the
	  correct bounding box is used.
	- Removed the Fl_Mutex and Fl_Signal_Mutex classes from
	  the threads example, since they weren't being used
	  and apparently are not very portable.
	- Fl_Help_View now ignores links when the link callback
	  returns NULL, and displays a sensible error message
	  when an unhandled URI scheme is used (e.g. http:,
	  ftp:)
	- Fl_File_Icon::load_system_icons() no longer complains
	  about missing icon files, just files that exist but
	  can't be loaded.
	- FLUID didn't list the plastic box and frame types.
	- Now hide the tooltip window whenever a window is
	  hidden.  Otherwise a tooltip window could keep an
	  application running.
	- Updated FLUID to only append a trailing semicolon to
	  code lines in a callback (so "#include" and friends
	  will work...)
	- The Fl_Color_Chooser widget now supports keyboard
	  navigation.
	- Fixed button and valuator widgets to call Fl::focus()
	  instead of take_focus().
	- Tweeked the radio button drawing code for better
	  circles with different boxtypes.
	- The Fl_File_Chooser widget did not provide a shown()
	  method, and fl_file_chooser() and fl_dir_chooser() did
	  not wait on shown(); this would cause them to return
	  prematurely if you switched desktops/workspaces.
	- Cosmetic changes to plastic boxtypes.  Now look much
	  better for large areas and the buttons now have a much
	  greater "3D" feeling to them.
	- Added new Fl::draw_box_active() method so that
	  boxtypes can find out if the widget they are drawing
	  for is active or not.
	- Fl_Button and its subclasses did not redraw the parent
	  when the boxtype was FL_NO_BOX and they lost keyboard
	  focus (the parent redraw clears the focus box.)
	- Fixed the example program makefile - wasn't building
	  the mandelbrot and shiny demos right.
	- Fl::set_font(Fl_Font, Fl_Font) was not implemented.
	- Fixed the documentation Makefile commands; was not
	  using the fltk.book file for some reason...


CHANGES IN FLTK 1.1.0b7

	- More documentation updates...
	- Mac OS X support works 95%
	- The Fl_Window::hotspot() off-screen avoidance code was
	  commented out.
	- Mac OS X uses mostly Carbon event handling to support
	  Mousewheel, three buttons, all modifier keys, etc.
	- Updated paragraph 4 of the FLTK license exceptions;
	  there was some question about the requirement to show
	  that a program uses FLTK, which is required by section
	  6 of the LGPL. The new exemption specifies that
	  inclusion of the FLTK license is not required, just a
	  statement that the program uses FLTK.
	- Fl_Button::handle() was calling take_focus() for both
	  FL_PUSH and FL_DRAG.
	- File and memory fixes for Fl_GIF_Image, Fl_PNG_Image,
	  Fl_PNM_Image, Fl_Shared_Image, Fl_Tiled_Image, and
	  Fl_XBM_Image.
	- filename_match() didn't handle backslashes properly
	  under WIN32, and didn't use a case-insensitive
	  comparison under MacOS X.
	- The Fl class was missing access methods for the
	  FL_MOUSEWHEEL event values - Fl::event_dx() and
	  Fl::event_dy().
	- The default help string didn't include the -nokbd
	  option.
	- "make uninstall" didn't uninstall the static OpenGL
	  widget library.
	- Mac cursor shapes added...
	- Fl_Text_Display would lockup when all text was
	  deleted; for example, when running the editor
	  demo, you couldn't load a second file.
	- Added Fl::lock() and friends from FLTK 2.0 to
	  support multi-threaded applications; see the
	  "threads" demo for an example of this.
	- Fl_Check_Button and Fl_Round_Button now use the
	  FL_NO_BOX box type to show the background of the
	  parent widget.
	- Tweeked the plastic boxtype code to draw with the
	  right shading for narrow, but horizontal buttons.
	- Fl_Progress now shades the bounding box instead of
	  drawing a polygon inside it.
	- Fl::warning() under WIN32 defaults to no action. This
	  avoids warning dialogs when an image file cannot be
	  loaded.
	- Some Win32 drivers would draw into wrong buffers
	  after OpenGL mode change
	- The file chooser would cause a segfault if you
	  clicked in an empty area of the file list.
	- Fl_File_Icon::labeltype() would cause a segfault
	  if the value pointer was NULL.
	- Fl_File_Icon::load_image() could cause segfaults
	  (NULL data and incrementing the data pointer too
	  often.)
	- Fl_File_Icon::load_image() now handles 2-byte
	  per color XPM files.
	- Some Win32 drivers would draw into wrong buffers
	  after OpenGL mode change.
	- Message handling and Resources for MacOS port.
	- Fl_Help_View could get in an infinitely loop when
	  determining the maximum width of the page; this
	  was due to a bug in the get_length() method with
	  percentages (100% width would cause the bug.)
	- Don't need -lgdi32 for CygWin, since -mwindows
	  does this for us.
	- The WIN32 event handler did not properly handle
	  WM_SYNCPAINT messages.
	- Fl_Tabs now uses the boxtype exclusively to draw
	  both the tabs and surrounding box, so alternate
	  box types actually work and the look is a little
	  nicer.
	- Fixed the drawing of large areas with the new
	  plastic boxtypes.
	- Updated the Visual C++ demo projects to use fluid
	  to generate the GUI files as needed.
	- The demo program didn't load the right menu file
	  when compiled for debugging under WIN32.
	- Added plastic box types to forms demo.
	- Added mousewheel to keyboard demo.
	- The Fl_Text_Editor widget caused an infinite loop
	  when it received keyboard focus.
	- filename_isdir() didn't properly handle drive letters
	  properly; WIN32 needs a trailing slash for drive
	  letters by themselves, but cannot have a trailing
	  slash for directory names, go figure...
	- The Fl_Text_Buffer and Fl_Text_Display classes did not
	  initialize all of their members.
	- fl_normal_label() had a totally redundant set of
	  if/else tests, which the new code handles all from
	  fl_draw().
	- The Fl_File_Chooser dialog contained two hotspots.
	- The fl_draw_pixmap() function didn't free the 2-byte
	  color lookup table properly (delete instead of
	  delete[]).
	- fl_draw() reset the text color under WIN32, causing
	  bitmaps to draw incorrectly.
	- Fl::get_font_sizes() is now implemented under WIN32.
	- Fl_Text_Display now uses the same default colors for
	  selection and text as Fl_Input_ and friends.
	- Changed the default line scrolling in Fl_Text_Display
	  to 3 lines for the mouse wheel and scrollbar arrows.


CHANGES IN FLTK 1.1.0b6

	- Documentation updates...
	- The configure script now works within the CygWin
	  environment.
	- Tooltips are now enabled by default, but are not
	  re-enabled when calling the Fl_Widget::tooltip()
	  method.
	- Added new Fl::version() method to get the current
	  FLTK library version (for shared libraries/DLLs)
	- Added new Fl::event() method to get the current
	  event that is being processed.
	- Added new fl_beep() function to do audible
	  notifications of various types.
	- Added new Fl_GIF_Image, Fl_JPEG_Image, Fl_PNG_Image,
	  Fl_PNM_Image, Fl_XBM_Image, and Fl_XPM_Image classes.
	- Added new Fl_Shared_Image class, a la FLTK 2.0.
	- Added new Fl_Tiled_Image class for tiled backgrounds.
	- Added new copy(), desaturate(), inactive(), and
	  color_average() methods to the Fl_Image classes.
	- Added a horizontal scrollbar to the Fl_Help_View
	  widget.
	- Added new FL_PLASTIC_{UP/DOWN}_{BOX/FRAME} boxtypes
	  for a more "modern" look (sort of a cross between KDE
	  2.2 and Aqua.)
	- Fl_Float_Input and Fl_Int_Input no longer accept
	  pasted text that is not a floating point or integer
	  value.  Pasted numbers now replace text in these
	  widgets.
	- Implemented the Fl_File_Icon::load_png() method.
	- The Fl_File_Icon::load_system_icons() method now
	  supports KDE 2.x icons.
	- Fixed PNG support in Fl_Help_View.
	- Removed the "Microsoft" mode button from the menubar
	  demo.
	- The browser demo now makes sure that the input field
	  contains a number.
	- The Fl_Browser::make_visible() method now range checks
	  the input.
	- Updated the fl_draw() and fl_measure() methods to
	  accept an optional draw_symbols argument, which
	  controls whether symbols are drawn in the text.
	- Added new Fl::visible_focus() methods to control
	  whether the focus box is drawn.
	- The focus box is now drawn using the contrast color.
	- Fl_Repeat_Button didn't accept keyboard focus.
	- Added new Fl::visible_focus() method and standard
	  "-kbd" and "-nokbd" options in Fl::args() processing
	  to control whether keyboard focus is shown and handled
	  by non-text widgets.
	- The wrong tooltip could be shown if the user moved the
	  mouse over adjacent widgets with tooltips.
	- The drop-down button on Fl_Choice widgets was not
	  limited in width.
	- Tooltips could appear off the screen.
	- Mouse wheel events are now sent to the focus widget
	  first, then to any other interested widget.
	- The Fl_RGB_Image class now supports images with an
	  alpha channel.  Images are currently drawn using
	  "screen door" transparency...  See the "image" demo
	  for an example.
	- Added new fl_create_bitmask() and fl_delete_bitmask()
	  functions that create bitmap objects for masking and
	  bitmap drawing.
	- Was sending FL_RELEASE events for buttons 4 and 5
	  under X11, which are only for FL_MOUSEWHEEL.
	- Fl_Help_View now supports the EM and STRONG elements.
	- Didn't do callbacks when changing tabs via keyboard.
	- FLUID didn't write tooltip strings to the message
	  catalog file.
	- Fl_File_Icon now uses Fl_Shared_Image to load icon
	  images; the load_png() and load_xpm() methods have
	  been replaced by a single load_image() method.
	- Fl_File_Icon::load_system_icons() now does a better
	  job of finding KDE icons.
	- Now use Fl::warning() and Fl::error() in place of
	  printf's in some of the newer widgets.
	- The default behavior of Fl::error() is now to display
	  an error but not to exit; Fl::fatal() still exits.
	- FLUID now uses the Fl_Shared_Image class, so FLUID-
	  generated GUIs can embed any of the supported image
	  file formats.
	- New filename_relative() function to convert an
	  absolute filename to a relative one.
	- Updated the filename_absolute(), filename_expand(),
	  and filename_setext() functions to take the
	  destination string size, with inline functions for the
	  old FL_PATH_MAX size.
	- fl_file_chooser() and fl_dir_chooser() now return a
	  relative path.
	- Fl_Help_View now supports all ampersand escapes.


CHANGES IN FLTK 1.1.0b5

	**** NOTE: DUE TO CHANGES IN THE WIDGET CLASSES,  ****
	****       YOU MUST RECOMPILE ALL SOURCE FILES    ****
	****       THAT USE FLTK!!!                       ****

	- All FLTK color values are now 32-bits and support
	  both the legacy 8-bit color values as well as 24-bit
	  RGB values (0xRRGGBB00 for 24-bit RGB, 0x000000II
	  for indexed color).
	- Fl::set_boxtype() and fl_internal_boxtype() now keep
	  track of when a boxtype is changed; this allows you to
	  override the "special" boxtypes without references to
	  those boxtypes causing them to be reset.
	- Fl_Help_Func now takes a Fl_Widget pointer as well as
	  a pathname.
	- Added code to support FL_KEYUP events.
	- Focus did not return to the Fl_Text_Display and Editor
	  widgets when scrolling and then clicking inside the
	  editor window.
	- Now set the line size of the vertical scrollbar in the
	  text editor to 1.
	- The symbols demo didn't show the strings needed to
	  show the corresponding symbol (the label string was
	  not quoted...)
	- FLTK should now compile with Cygwin cleanly.
	- Shortcut changes were not being saved by FLUID.
	- FLUID didn't write the deimage() static data.


CHANGES IN FLTK 1.1.0b4

	**** NOTE: DUE TO CHANGES IN THE FL_WIDGET CLASS, ****
	****       YOU MUST RECOMPILE ALL SOURCE FILES    ****
	****       THAT USE FLTK!!!                       ****

	- Updated the flags_ member of Fl_Widget to be an
	  integer instead of uchar, to support the new
	  FL_OVERRIDE flag for Fl_Window.

	- The parent() method of Fl_Widget now uses pointers to
	  Fl_Group instead of Fl_Widget.

	- Fl_Window now provides the FLTK 2.0 "override()" and
	  "set_override()" methods for windows.

	- Added a configure check (and warning) for GCC 3.0.x.

	- Updated the configure script to check for the
	  png_set_tRNS_to_alpha() function.

	- Updated the config.h files for all platforms for the
	  image and FLTK documentation defines.

	- Updated the makeinclude files for all platforms to
	  match the current makeinclude.in file.

	- FLUID would crash if you cleared an image for a
	  widget.

	- Fl_Help_View::add_image() did not initialize the image
	  member of the base (unscaled) image.

	- Fl_Help_View didn't support A elements with both a
	  NAME and HREF attribute - the HREF was ignored.

	- Miscellaneous compile warning fixes.

	- Tooltips were being reset by Fl::belowmouse(), which
	  caused problems with the FLUID main window (flashing
	  tooltip windows and serious problems with KDE 2.2)

	- The editor demo had the save and discard button
	  actions reversed.

	- The Fl_Help_View widget now uses
	  png_destroy_read_struct() if the older
	  png_read_destroy() function is not available.

	- The WIN32 DLL library now includes the OpenGL widgets.
	  This is a simpler solution for the export/import
	  dillemma under WIN32, as OpenGL and non-OpenGL symbols
	  need to be exported at different times with the
	  separate library scheme.  Since OpenGL is standard
	  under Windows, this is less of a problem than under
	  UNIX...


CHANGES IN FLTK 1.1.0b3

	- The top-level makefile did not include the makeinclude
	  file, causing the fltk-config installation commands to
	  fail.

	- The fl_file_chooser.cxx source file conflicted with
	  Fl_File_Chooser.cxx under Windows.  Similarly, the
	  fl_file_chooser.H header file conflicts with the
	  Fl_File_Chooser.H header file.

	- Now save and restore the GDI pen object when
	  responding to WIN32 paint messages.

	- Documentation updates from A. Suatoni.


CHANGES IN FLTK 1.1.0b2

	- New fltk-config script.

	- Fixed image/text label handling; in b1 the label
	  needed a non-blank text string to display the image. 
	  This bug also caused all sorts of crashes and display
	  problems.

	- Added new filetype() method to Fl_FileBrowser to allow
	  for file or directory browsing.

	- Fixed the drawing of the focus box around
	  Fl_Return_Button.

	- Fixed menu item measurement bug (wasn't initializing
	  image pointers to 0...)

	- Radio and checkbox menu items now draw with the new
	  style (round radio buttons with dots and square check
	  buttons with check marks.)

	- Improved the appearance of Fl_Check_Button.

	- Improved the Fl_HelpView table formatting code; now
	  dynamically sizes the table columns, and supports
	  COLSPAN.

	- The FLUID keyboard shortcuts now work as expected
	  (CTRL-C copies, SHIFT-CTRL-C writes code, etc.)

	- The FLTK_DOCDIR environment variable can now be
	  used to tell FLUID where to find the on-line
	  documentation files.

	- FLUID now supports image labels in addition to text
	  labels + text over image alignment.

	- FLUID now supports tooltips.

	- The widget panel in FLUID is now tabbed, a la FLTK
	  2.0.

	- The FLUID pixmap destructor tried to free 1 too many
	  lines of image data.

	- FLUID now provides on-line help.

	- Changed Fl_FileXYZ to Fl_File_XYZ.

	- Changed Fl_HelpXYZ to Fl_Help_XYZ.

	- Tooltip fixes for Fl_Browser_, Fl_Choice, and Fl_Input_.

	- Added tooltips to FLUID, help dialog, and file chooser.

	- Now load system icons in FLUID.


CHANGES IN FLTK 1.1.0b1

	- Added new image() and deimage() methods to support
	  image + text labels more easily.

	- Added new alignment bit FL_ALIGN_TEXT_OVER_IMAGE.

	- Added tooltip support using Jacques Tremblay's tooltip
	  patch.

	- Added keyboard navigation to all widgets.

	- Added support for mouse wheels using the new
	  FL_MOUSEWHEEL event type.  Get the mouse wheel
	  movement values from Fl::e_dx (horizontal) and
	  Fl::e_dy (vertical).

	- Added the Fl_Check_Browser, Fl_FileBrowser,
	  Fl_FileChooser, Fl_FileIcon, Fl_HelpDialog,
	  Fl_HelpView, Fl_Progress, and Fl_Wizard widgets from
	  the bazaar.

	- Added 2.0 Fl_Text_Display and Fl_Text_Editor widgets
	  based on NEdit.

	- The Fl_Choice widget now looks more line a combo box
	  than a Motif option menu.

	- Moved the OpenGL widgets into a separate library
	  called fltkgl - this eliminates shared library
	  dependencies on OpenGL when no OpenGL functionality is
	  used/required.

	- FLUID now supports the new Fl_CheckBrowser,
	  Fl_FileBrowser, Fl_FileIcon, Fl_HelpView,
	  Fl_Text_Display, Fl_Text_Editor, and Fl_Wizard
	  widgets.

	- Updated configure stuff to support shared libraries
	  under AIX (link to -lfltk_s)

	- Symbol labels can now contain regular text.

	- FLUID now supports relative filenames for the source
	  and header files you generate.

	- Fl_Menu_Item::add() didn't use the flags that were
	  passed in.

	- Fixed a bug in Fl_Scrollbar - clicking in the "trough"
	  of the scrollbar would move the scroller in the wrong
	  direction.

	- Made the Forms pixmap parameter const to match the
	  Fl_Pixmap.H definitions.

	- Changed the Fl_Pixmap constructor to use the explicit
	  keyword which should work for all C++ compilers.

	- Fl_Menu_add of a menu item with the same name as an
	  existing submenu title would mess up by replacing that
	  menu title, it now adds a new item.

	- Fl_Menu::add() of text starting with '/' to a menu is
	  assummed to be a filename. So "/foo/bar" creates a
	  single menu item. You can also put filenames into
	  submenus by doing "submenu//foo/bar", this will create
	  a submenu called "submenu" with an item "/foo/bar".
	  Menu items starting with "\_" will insert an item
	  starting with '_' rather than a divider line. These
	  changes make the menus compatable with fltk 2.0.

	- Another little fix for the BoXX OpenGL overlays.

	- Fl_Gl_Window no longer blanks the mouse pointer on
	  WIN32 unless an OpenGL overlay is being used.  This
	  should make non-overlay displays faster when a cursor
	  is set.


CHANGES SINCE FLTK 1.0.10

	- CHANGED THE DEFAULT RUN-TIME LINKING TO "MULTITHREADED
	  DLL". You'll need to change your project settings to
	  use this as well or you'll get errors.

	- Added new --disable-gl option to configure script.

	- Added new const const pointer versions of pixmap
	  functions to eliminate an annoying pointer warning
	  message that was generated by the Sun and other C++
	  compilers.

	- Eliminated all "var hides class::var" warnings.

	- Eliminated all "string literal converted to char *"
	  warnings.

	- OS/2 updates from Alexander Mai.

	- Tidied up the HTML documentation to be more standards
	  compliant.

	- Compiling with -DBOXX_BUGS will work around some
	  problems with the newest X drivers that BoXX delivers,
	  the problems all affect use of Overlays for normal X
	  drawing and OpenGL drawing. Normal compilation is
	  unchanged.

	- The file chooser buttons use user_data() rather than
	  the label to decide what to do, allowing the label to
	  be somewhat cleaner.

	- Selection color on X changed to blue, to match what
	  happens on Windows now.

	- Added support for AIX (static library only).

	- Added support for SunOS 4.x

	- Now process WIN32 WM_ACTIVATEAPP message to reset the
	  key and button states in Fl::e_state.

	- Fl_has_idle only tested N-1 callbacks and missed one.

	- Restored WM_SYNCPAINT handling under WIN32; this fixed
	  a refresh bug under some versions of Windows.

	- Check for OpenGL headers before checking to see if
	  OpenGL is supported.  This should eliminate compile
	  errors due to missing non-FLTK header files...

	- Add -D_INCLUDE_POSIX_SOURCE option when compiling with
	  the HP compilers.

	- Replaced remaining _WIN32 symbols with WIN32

	- Removed reference to unused GL/glu.h header file, which is missing on
	  some Linux systems.

	- Fl_Gl_Window has a new method to allow you to get and set the context:

	      void Fl_Gl_Window::context(void*, int destroy = 0)
	      void* Fl_Gl_Window::context() const;

	  Return or set a pointer to the GLContext that this window is
	  using. This is a system-dependent structure, but it is portable to
	  copy the context from one window to another. You can also set it to
	  NULL, which will force FLTK to recreate the context the next time
	  make_current() is called, this is useful for getting around bugs in
	  OpenGL implementations.

	  If destroy_flag is true the context will be destroyed by fltk when
	  the window is destroyed, or when the mode() is changed, or the next
	  time context(x) is called.

	- Some cleanup of Fl_Gl_Choice to move most of the system dependent
	  #ifdefs into Fl_Gl_Choice.cxx.

	- Fl_Gl_Window does not set drawbuffer(BACKBUFFER) for
	  single-buffered windows.

	- Fl_Input::replace(...) correctly updates the display
	  if the replaced region does not include the mark,
	  point, or selected region.

	- Added Fl::add_check(...), Fl::remove_check, and
	  Fl::has_check. These are similar to idle callbacks but
	  are only called just before it waits for new events.
	  They can be used to watch for changes in global state
	  and respond to them.

	- "accu-timer": some changes to repeat_timeout that seem
	  to make it accurate on Unix and WIN32 at speeds up to
	  500000 timeouts/second (and 700000 on Linux), and
	  within about .001% as accurate as the system clock.

	- Fix to Fl_Valuator::step() by Guillermo Andrade.

	- Fixed the FLUID write-menu bug introduced in 1.0.10

	- Fl::flush() now calls GdiFlush() under WIN32 to
	  ensure that all graphics are drawn.

	- fl_curve() now uses a much better algorithim to figure
	  out how many pieces to cut the curve into.

	- FLUID now uses GetTempPath() under WIN32 to determine
	  where to store the clipboard.

	- Right-ctrl does not delete selected text in Fl_Input,
	  until you type a composed character.

	- Added simple FLTK and FLUID manual pages.

	- Fl_Gl_Window leaked memory under WIN32.

	- The colbrowser demo was missing an include file when
	  compiled under OS/2.


CHANGES SINCE FLTK 1.0.9

	- Added a strcasecmp() function to FLUID; AIX doesn't
	  have it.

	- Bug #115509: Fl_Scroll not repainting background.

	- Updated the configure script and makeinclude.in file
	  to work with the Sun PRO compilers.

	- Disabled the WIN32 async socket select code by default:
	  it doesn't seem to work anymore...

	- Fl::below_mouse() was incorrectly clearing e_is_click;
	  this prevented any double-clicks from getting
	  through...

	- No longer clear Fl::keysym on every event, this makes
	  better back compatability and fixes Win2000

	- Fluid now restores which tab in an Fl_Tabs was
	  selected when loads .fl files.

	- Hack to fix the annoying "raise another application
	  when a modal window is closed" problem on WIN32.

	- Fl_Tabs now draws the background behind the tabs.

	- Fl::set_fonts() on WIN32 fixed to work before the
	  first window is shown.

	- CUA function keys, code submitted by George Yohng
	  <yohng@drivex.dosware.8m.com>

	- Another attempt to get glut.h to work on WIN32.

	- Fl_Menu_::add() ignores '&' signs when comparing menu
	  items, so you don't have to make the shortcuts the
	  same all the time.

	- Fixed bit-flipping patterns in WIN32 bitmap code.

	- Fixed size of data written by gif images to .C files

	- Menu titles and buttons in the menubar can be images
	  (allows it to be used as a toolbar)

	- Reads selectBackground from the xrdb database to set
	  the selection color. Adding this to your .Xdefaults
	  will make fltk and Motif programs look much more
	  Windoze-like:

	      *selectForeground: white
	      *selectBackground: #000080

	- FL_WHEN_RELEASE on Fl_Input will now do the callback
	  when the input field is hidden, for instance when it
	  is on a tab and the user switches to another tab.

	- Fl_Gl_Window with an overlay on X always resized any
	  child windows even if you turned resizable() off
	  because it turned it back on to resize the overlay
	  window. This patch avoids changing resizable().

	- Fix so multiple Fl::add_idle() calls works

	- The input focus got messed up if you called
	  Fl_Tabs::value(x) and there was something that took
	  focus on an earlier tab.

	- Removed some (not all) of the warnings when compiled
	  with -Wwrite-strings, this should also get similar
	  warnings Solaris produces.

	- Made Fl_Browser not hide the Fl_Widget::show() method

	- Changes & additions for OS/2 from Alexander Mai

	- Patch from Mike Lindner to make the turning on/off of
	  scrollbars on Fl_Scroll smarter.

	- Added missing FL_EXPORT for Fl_Valuator::format()

	- Shortcuts for "buttons" in a Fl_Menu_Bar work again.

	- Fix for cut/paste support and Xdnd.

	- Shortcuts for submenu titles in a menubar pop up the
	  submenu (rather than calling the callback)

	- Added documentation for GL_SWAP_TYPE

	- Buttons with box(FL_NO_BOX) did not draw.  Apparently
	  they did in older versions of fltk, I restored this.
	  (bug 108771)

	- Removed 8-bit colormap drawing code that was not doing
	  anything in fl_draw_image due to the colormap
	  allocation changes.  I also made fl_color(r,g,b)
	  actually allocate the requested color rather than the
	  nearest fltk color-cube color (this is only done for
	  the first color that maps to a given entry in the fltk
	  color cube), the result is that pixmaps with a small
	  number of colors are drawn much more accurately. The
	  resulting code seems to produce better images and is a
	  good deal smaller!

	- Fixed makeinclude.in so CFLAGS are used for c source
	  code instead of CXXFLAGS. (bug 108694)

	- Better fix for gif files suggested by pauly (bug
	  108770)

	- Performance of Fl_Gl_Window may be improved on some
	  types of OpenGL implementations, in particular MESA
	  or other software emulators, by setting the
	  GL_SWAP_TYPE environment variable.  This variable
	  declares what is in the back buffer after you do a
	  swapbuffers:

	      setenv GL_SWAP_TYPE COPY

	      This indicates that the back buffer is copied to
	      the front buffer, and still contains it's old
	      data. This is true of many hardware
	      implementations.  Setting this will speed up
	      emulation of overlays, and widgets that can do
	      partial update can take advantage of this as
	      damage() will not be cleared to -1.

	      setenv GL_SWAP_TYPE NODAMAGE

	      This indicates that nothing changes the back
	      buffer except drawing into it.  This is true of
	      MESA and Win32 software emulation and perhaps some
	      hardware emulation on systems with lots of memory.

	  All other values for GL_SWAP_TYPE, and not setting
	  the variable, cause fltk to assumme that the back
	  buffer must be completely redrawn after a swap.

	  This is easily tested by running the gl_overlay demo
	  program and seeing if the display is correct when
	  you drag another window over it or if you drag the
	  window off the screen and back on. You have to exit
	  and run the program again for it to see any changes
	  to the environment variable.

	- Optimized colormap usage on 8-bit displays with
	  images. New code only allocates colors as they are
	  needed (still converts indexed images to full RGB and
	  dithers, tho...)

	- Fixed .gif files in fluid, they were broken by the fix
	  for large .xpm files in version 1.0.9.

	- Fix for OpenGL hardware overlays with the transparent
	  index != 0. Tested on the brand new HP Linux
	  Workstations, this is the only bug encountered.  Both
	  X and OpenGL hardware overlay works perfectly on
	  these, though configue may not enable it by
	  default...)

	- Fl_Choice and all other Fl_Menu_ subclasses draw the
	  items using textcolor() as the default color of the
	  text.

	- Fix suggested by Stuart Levy to fix scrolling when
	  deleting items from the browser.

	- Replaced the -$(MAKEFLAGS) with $(MFLAGS) as per the
	  gmake documenation.  Apperntly this works with other
	  make programs and MAKEFLAGS is passed invisibly by
	  gmake, though the documenation is not too clear...


CHANGES SINCE FLTK 1.0.8

	- More documentation fixes.
	- GLUT_STROKE_*_ROMAN in glut.h are defined as 0,1 on
	  WIN32 to match the glut header files there.
	- Added Fl::has_timeout() and Fl::has_idle() functions.
	- Added new Fl::repeat_timeout() method that
	  measures time from when the last timeout was called. 
	  This has slightly less overhead and allows accurate
	  spacing of timeouts.
	- More Cygwin changes
	- FLUID could crash with identifiers with trailing
	  whitespace.
	- Fixed the XPM loading code in FLUID to handle files
	  longer than 2048 lines.
	- Added a bunch of missing FL_EXTERN's to glut.h to
	  eliminate GLUT linking errors under WIN32.
	- Fix for sliders so that clicking on one with a small
	  (or zero) slider_size will not move the slider.
	- fl_shortcut.cxx didn't export fl_old_shortcut() in the
	  WIN32 DLL.
	- Fixed xpaint link in the documentation.
	- Included Fl_Input word-wrap fixes from Alexander Rabi
	  Beels. This will not affect things much because
	  word-wrap is normally disabled.
	- Patch from Stuart Levy so the *last* widget in an
	  Fl_Pack may be resizable.  This should be compatable
	  because resizable didn't do anything before so there
	  was no reason to set it.
	- Cleaned up the timeout and Fl::wait() code.  The new
	  code calls the clock function less than half as much,
	  which results in a noticable performance improvement
	  in some apps.
	- Fl::wait(time) with a time greater than the system can
	  handle (24.855 days on NT, the same on some Unix
	  systems) will now act as though the time is infinity. 
	  Before it would do unpredictable things.
	- "USE_POLL" now compiles and works, although it is
	  disabled by default. poll() is an alternative to the
	  UNIX select() call which is available on some version
	  of UNIX and may be faster depending on the platform;
	  try it by editing config.h.
	- The WIN32 USE_ASYNC_SELECT code now does translation
	  and dispatching of the select events; this makes
	  Windows a lot happier.
	- Added a check for an open display in Fl::wait() so
	  that you don't need an open window under X to call it.

	  [changes in snapshot 2]

	- fl_old_shortcut() wasn't being exported in the WIN32 DLL
	  project.
	- Updated Cygwin and Mingw makefiles.
	- Updated the BC++ project file.
	- You can no longer insert control chars into Fl_Int/Float_Input.
	- Fl_Multiline_Input now resets the horizontal position when
	  focus is changed; this caused problems when multiple multiline
	  widgets were used in an application.
	- All handle() methods are now public, and all draw() methods are
	  now protected in FLTK widgets.
	- More fixes to the OpenGL overlay code on win32.  This now
	  seems to work quite reliably on several different pieces of
	  hardware. Apparently doing SetLayerPaletteEntries with a
	  palette larger than the overlay size caused the drivers to
	  screw up in unpredictable ways. Also SwapBuffers swapped both
	  the overlay and main window, which is not what fltk's
	  interface wanted, this was easy to fix however.
	- Patch for full scrollbars so that clicking on them does not
	  move anything.
	- Documentation fixes.
	- Better horizontal scrolling of Fl_Input when cursor is near
	  the end of the line.
	- Fl_Input::value(x) selects all text.
	- Fl_Output and Fl_Multiline_Output would scroll to the end
	  of the text.
	- filename_isdir() now drops any trailing slash from the
	  filename (needed for Windows)
	- Added return type for main() function in line_style demo.
	- Running FLUID with the "-cs" option writes the I18N message
	  file.
	- The WIN32 version of XParseGeometry() didn't initialize some
	  variables.  This caused a compiler warning but did not affect
	  the actual code.

	  [changes in snapshot 1]

	- EMail changes - fltk-bugs@easysw.com now officially
	  fltk-bugs@fltk.org.
	- The FLTK DLL project file didn't include fl_compose.cxx
	- Dropped the GCC -fno-rtti option since it caused problems
	  with existing programs.
	- Moved the .fl rules back to the test directory.
	- Fixed some makefile and spec file problems.
	- Fixed hardware overlays.  The problem was the new
	  fl_clipped() code, which tests against the current window
	  size.  The hardware overlay code did not set the current
	  window when drawing the overlay.  I needed hardware overlay
	  for DD's code, I'm not sure if these fixes are good enough to
	  enable this in our general release.  Hardware overlay still
	  only works on SGI Irix.
	- Some patches to turn off the MSVC++ -Oa (assumme no aliasing)
	  optimization flag.  Suprisingly this only broke a few parts
	  of fltk, or at least these are the only ones I found.
	- Does not unmap child windows when the main window is
	  iconized.  This reduces flashing when the window is
	  deiconized.
	- Fl::key() is set to zero by all events except key down/up. 
	  This will allow you to reliably test if an event or callback
	  was produced by a keystroke.  Fixes the bug posted about
	  stopping Escape from closing the window.
	- User defined cursors on OpenGL windows slowed down NT a
	  *LOT*.  Some attempts to fix this by turning off the cursor
	  while drawing the window.
	- Filename completion in the file chooser works better on NT. 
	  Typing TAB fixes the case of everything you typed to match
	  the shortest name that can be completed.


CHANGES SINCE FLTK 1.0.7

	- Many documentation changes/fixes/improvements.
	- FLUID didn't save Fl_Double_Window's as
	  double-buffered windows.
	- Fl_Menu_ text color is used if Fl_Menu_Item text color
	  is not set.
	- Added Fl::first_window(window) method to change the
	  "top" window that is used when showing modal windows.
	  By default it is the window the user last
	  clicked/typed in.
	- The Fl_Menu::global() handler now uses the current top
	  window instead of the menu bar for modal stuff.
	- Added fl_line_style() function to set the line style. 
	  Note that user-defined line styles ONLY WORK UNDER X11
	  and Windows NT/2000. Windows 95/98 do, however,
	  support the "standard" line styles.
	- Fl::wait() does not return immediately when no windows
	- XForms keyboard shortcuts using hex keycode constants
	  now work.
	- Updated the configure script for *BSD and to turn off
	  exceptions and RTTI in the FLTK library itself (does
	  not affect applications which use these things)
	- FLUID now supports I18N using the POSIX or GNU
	  mechanisms.
	- Fixed definition of glutBitmapWidth to match header
	  file.
	- Does not turn visible() on when a window is iconized()
	  or if a modal window is shown and it's parent is
	  iconized.  This allows the code "while (w->visible()
	  && w->damage()) Fl::check();" to reliably wait for the
	  window to be mapped and drawn the first time.
	- Setting box(FL_NO_BOX) on a button makes it an
	  invisible overlay
	- FL_NORMAL_SIZE is now a global variable so you can
	  change the default text size prior to creating your
	  widgets.
	- Menus now draw properly with a box type of
	  FL_FLAT_BOX.
	- Cygwin fixes to compile in POSIX mode.
	- Fl_Value_Input callback can call value() or
	  destructor.
	- OpenGL overlays now work under Windows NT!
	- Fl_Slider and Fl_Scrollbar could cause a divide by
	  zero.
	- Clicking in an Fl_Input field no longer selects the
	  whole field, it just moves the text cursor.
	- Tru64 UNIX fixes for filename_list()
	- Fl_Browser now draws itself properly when deactivated.
	- FLUID GUIs now use Courier font for all code input.
	- The FLUID OK and Cancel buttons are now all shown in
	  the same order in all windows.
	- Fixes to compile under GCC 2.95.2
	- Fixed the BC5 project files.
	- FL_LEFT_MOUSE and friends are now in
	  <FL/Enumerations.H>
	- Fixes for fake OpenGL overlay code under WIN32.
	- Message windows are now resizeable.
	- On WIN32 non_modal (but not modal) windows have the
	  close and size boxes.
	- Fl_Button and friends didn't honor the
	  FL_WHEN_NOT_CHANGED condition.
	- Disabled XDBE on all platforms.
	- XGetDefault patch from James Roth
	- New fl_open_display(Display *) function to allow FLTK
	  to share a display connection with another toolkit
	  (like Xt, GTK, etc.)
	- Shortcut labels for special keys should now display
	  properly under WIN32.
	- fl_set_fonts() did not reuse fonts.
	- Fixed shortcut problem under WIN32 when the focus
	  window changes.
	- "dead" keys should now work under X11.
	- Fixes to make FLTK compile with GCC 2.95.2
	- FL_SHORTCUT fix for I18N.
	- Fixed cut/paste problems under WIN32
	- FLUID now produces correct code for nested class
	  destructors.
	- Nested windows should now redraw properly under WIN32.
	- "table" is now static in fl_cursor.cxx
	- Fl_Chart used the textcolor() and not the color() for
	  horizontal bar charts.
	- Now set the input hint for TWM and TWM-derived window
	  managers.
	- Now look for TrueColor visual if FLTK is compiled with
	  USE_COLORMAP == 0.
	- Fl_Scrollbar could generate a divide-by-0 error if the
	  min and max values were the same.
	- Fl_Menu_::remove() now removes whole submenus if
	  needed.
	- Scrollbar buttons now draw themselves pushed in as
	  needed.
	- Fixed the gl_overlay demo (and gl overlays in general)
	  when they are faked with no hardware and the window is
	  resized.
	- Selections weren't shown in Fl_Browser widgets when an
	  item used the @B (background) format.
	- Windows can now be resized by the program under X11
	  for more window managers.
	- OS/2 makeinclude updates.
	- Added Fl.H required by an inline function in
	  Fl_Repeat_Button.H
	- Fl_add_idle adds new functions to the end of the queue
	  ring, rather than the start, so they are executed in
	  the order added, and a callback that adds itself does
	  not prevent others from being called.
	- Fluid lets you type in code that starts with '#' for
	  cpp directives.
	- XBell() could be called before the X11 display was
	  opened, causing a segfault.
	- Fixed Fl_Gl_Window::ortho() - Borland C++ doesn't
	  define GLint to "int", but instead to "long"...
	- Fixed Fl_Browser scrollbars within an Fl_Scroll
	  widget.
	- Fl_Output (and non-focused Fl_Input) now scroll in
	  response to position()
	- Fl_Input now does not scroll horizontally if the
	  entire string will fit in the widget.
	- Fl_Scrollbar didn't push the right arrow buttons when
	  you clicked outside the scroller.
	- Now use WSAAsyncSelect() for better socket performance
	  with Fl::add_fd()


CHANGES SINCE FLTK 1.0.6

	- Fixed Fl_Input_ bug under WIN32 - no longer stop accepting input
	  when one of the "Windows" keys is pressed.
	- Now call TranslateEvent for all events under WIN32.
	- Fixes for OpenBSD and NetBSD
	- The FL_CURSOR_HAND cursor now uses the IDC_HAND cursor instead of
	  IDC_UPARROW under Windows 98 and 2000.
	- Fl_Scrollbar now does a page-up/down when you click outside the
	  scroller.
	- Fl_Window::show(0, NULL) causes core dump
	- Fixed a compile-time error in fl_call_main.c for Borland C++.
	- "fluid -c filename.fl" would try to open an X display if the
	  FLUID file contained an Fl_Browser widget.
	- Fl_Browser now correctly measures items with @C or @B color
	  formatting commands.
	- Fixed a bitmap drawing bug for WIN32 (bit reversal table was wrong)
	- fl_xyz() dialogs now set a title in the title bar.
	- fl_alert() sounds the bell under X11.
	- fl_xyz() dialogs now call MessageBeep() under WIN32.
	- Fl_Browser_ didn't draw the selection box with the inactive color
	  when the browser wasn't activated.
	- Fl_Browser now responds to FL_KEYBOARD as well as FL_SHORTCUT.  If
	  you subclass it to accept focus then keyboard navigation will work.
	- Fl_Tile and Fl_Tabs do their callback when the user changes their
	  display.
	- Made some of the private methods of Fl_Browser protected.
	- Now set win_gravity correctly, this helps some X
	  window managers that use it position the window where
	  FLTK wants it to be.
	- 0-width browsers crashed.
	- Minor change: if the X window manager does not do
	  anything else with windows that don't have their
	  position specified, the windows appear centered in the
	  screen, rather than in the top-left corner.  This
	  happened with modal windows under Irix 4Dwm.  This
	  also causes windows to be centered when no window
	  manager is running, which might be useful for
	  installation gui programs?
	- Clicking in an Fl_Input field the first time selects the entire
	  field.
	- Clicking the middle mouse button in an Fl_Input field now inserts
	  the text at the indicated position instead of the cursor position.
	- Drag-selecting text in an Fl_Input field now copies the text
	  automatically.
	- Fl::flush() no longer calls the draw() method for invisible windows.
	- Calling deactivate() on an invisible widget could cause an
	  infinite loop in some obscure cases.
	- Added #pragma's for SGI C++ compilers - the 6.{23} X headers had
	  errors in them.
	- Fl_Gl_Window::ortho() changed so that text and images
	  are not erased if the origin is off the left/bottom of the
	  window.
	- Small change to Fl_Input so that a click that gives it
	  the focus also selects all the text.
	- Fixed a slider drawing problem.
	- You can now add/delete children of Fl_Tabs widgets whether or
	  not they are visible.
	- Now embed woff options for SGI C++ compilers (gets rid of X11
	  header warnings)
	- draw_pixmap used a cast that the Digital UNIX C++ compiler didn't
	  like.
	- The GLUT function key constants were off by one.
	- The XPM reading code didn't handle RGB colors other than #rrggbb.


CHANGES SINCE FLTK 1.0.5

    - Fl_win32.cxx defined WM_MOUSE_LEAVE instead of WM_MOUSELEAVE.
    - Fl_get_key_win32.cxx needed to include <ctype.h>
    - gl_draw_pixmap.cxx needed a pointer cast for ANSI C++.
    - Fl_Repeat_Button didn't always delete its timeout.
    - Now keep track of the current OpenGL context; this provides
      significant performance improvements for OpenGL applications
      with a single context.


CHANGES SINCE FLTK 1.0.4

    - Fl_Roller didn't handle a width and height of 0.
    - filename_list() fix for FreeBSD.
    - Fixed RPM install docos - needed "--install" option...
    - Fl_Browser_ wouldn't draw the vertical scrollbar right away if it
      added a horizontal one which covered the last line.
    - Fl_Tabs problems - single-character labels don't show up (problem in
      measure_tabs() or measure_label() methods?), and doesn't clear top
      tab area before drawing tabs.
    - Fl_Browser needs a destructor.
    - fl_draw_label() quoted characters between 0x80 and 0xa0, which
      caused problems for some programs using the WinANSI character set.
    - FLUID didn't handle declared class destructors.
    - Fixed another WIN32 cut/paste bug.
    - Fl_Tabs didn't work properly when there was only 1 tab.
    - Fl_Menu::add() didn't delete the old array.
    - Fl_Repeat_Button didn't delete its timeout when disabled.
    - fl_draw() would crash if no font was set (now defaults to
      a 14-pixel Helvetica font)
    - Can't forward declare classes; need to check for "class ", "struct ",
      "union ", etc.  See Bill's message
    - Added #pragma around xlib.h for IRIX
    - FL_KEYBOARD events have the correct x/y when sent to child X
      windows. Note that if you worked around this bug by adjusting the
      x/y yourself you will have to change your code. In addition all
      events have the correct x/y when sent to the grab() widget.  And
      the code to do all this was simplified a lot.
    - The XPM code didn't handle named colors with spaces in the names.
    - Pressing ESCape closed the window with pointer focus, even if there
      was a modal window open (now closes the modal window).
    - Fluid no longer produces trigraphs accidentally in the image data.
    - Fluid uses string constant concatenation to produce shorter image
      data.
    - The Fl_Group deletion code crashed if there was exactly one child
      widget.
    - Simulated overlays in single-buffered Fl_Gl_Windows now draw
      correctly (though very slowly as it requires the entire window to
      be redrawn to erase the overlay).  This fix ported our Digital
      Domain programs better to systems with no overlay hardware.
    - Added support for extern "C" declarations in FLUID.
    - Added Fl_Pack support to FLUID.
    - Fixed the order of #include's in FLUID generated header files.
    - Fixed detection of vsnprintf and snprintf under HP-UX 10.20 once
      and for all.
    - The checkers demo did not compile with GCC 2.95
    - FLUID didn't output virtual destructors properly.
    - Added inline "make_visible()" method to Fl_Browser.
    - Fl::wait() now returns immediately if any timeouts are
      called.
    - 16-bit XPM files are now properly handled.
    - Fl_Window::resize() was missing FL_EXPORT (caused problems
      with Windows DLLs)
    - FLUID was writing extern declarations twice.
    - New FLUID arrow key functionality: arrows move by one pixel, shift+arrow
      resizes, ctrl+arrow steps by grid


CHANGES SINCE FLTK 1.0.3

    - Documentation updates
    - Fl_Browser::bottomline(size) didn't scroll to the bottom
      if the second-to-last line was visible.
    - fl_wait() didn't poll FDs properly for WIN32.
    - Fixed DLL definitions for BC++.
    - FLUID now handles nested classes properly.
    - The "connect" demo now does a wait() for the PPP process
      so that you aren't left with a lot of zombie processes.
    - Fixed the FLTK colormap to use FF instead of F4 for full
      intensity values.
    - Minor change to scrollbar drawing code to match other
      toolkits.
    - New selections would cancel themselves out in WIN32.
    - The header file links were broken in the IRIX
      distributions.
    - fl_elapsed() now always uses GetClockTick() for WIN32.
    - fl_display is now initialized to GetModuleHandle(NULL) -
      this fixes problems people had with Cygwin and MingW32.
    - WinMain() is no longer compiled in with Cygwin and
      MingW32; it wasn't being used for those compilers anyways.
    - Added Solaris compiler options to configure script.
    - Fl_Value_Input wouldn't update properly if you set the
      value from a callback.
    - Fl_Tile wouldn't resize if the resizeable widget was the
      last child.
    - Was missing #include <ctype.h> and #include <stdlib.h> in
      several files, which caused problems on some platforms.
    - Fixed another case where Fl_Browser_ could get in an
      infinite resizing loop.
    - Fl_win32.cxx now includes <FL/filename.H> to export missing
      DLL symbols.
    - Fluid didn't handle member functions that include the
      scope operator.
    - Fl_Chart was dividing by 0 if there were no data samples
      or if they were all the same (min == max).


CHANGES SINCE FLTK 1.0.2

    - XDBE is now enabled for IRIX 6.[234] as well as 6.5.
    - FLUID didn't write the when() condition properly.
    - Tab/space/backtab/backspace can be used to navigate
      through menus.
    - Changed $(DSONAME) in the src/Makefile to "libfltk.so.1
      libfltk.sl.1".
    - Fl_Browser could read past the end of the string when
      computing the item height.
    - Fl_Browser could get in an infinite loop when checking to
      see if scrollbars needed to be displayed.
    - FLUID now honors the return type of the outermost widget. 
      This was a problem when substituting Fl_Group in an
      Fl_Window widget.
    - Fl_Menu_::copy() wasn't allocating a power of 2 for the
      array size.
    - FLWM would crash if fl_xmousewin was deleted.
    - The fast_slow demo now uses output widgets.
    - Timers under WIN32 were unreliable.


CHANGES SINCE FLTK 1.0.1

    - Documentation updates
    - The Visual C++ project files didn't include fl_add_idle.cxx.
    - LIBRARY/DSO name inconsistencies in src/Makefile.
    - src/Makefile didn't clean the DSO.
    - The valuator demo now has only a single callback.
    - The code looked for HAVE_SYS_SELECT_H, but the
      config file uses HAVE_SYS_SELECT.
    - Fl_Image redraw not quite right under X11 or WIN32
    - Problems with timeouts & cube demo under WIN32
    - FLUID problems with inline functions.
    - Documentation fixes...
    - Fl_Browser::item_height() didn't handle blank lines or
      non-default fonts properly.
    - FL/math.h didn't have #ifndef...#define...#endif guards
      against multiple inclusion...
    - Fl_Menu_::copy() fix - didn't allocate power of 2...
    - Fl::damage() now remains true until all windows are actually
      redrawn.
    - Fl_Widget destructor, hide(), and deactivate() methods no longer
      send FL_LEAVE, FL_RELEASE, or FL_UNFOCUS events to the widget
      (which could cause applications to crash).
    - FLUID now outputs symbolic names for align() and when().
    - Fixed select() to use maxfd + 1 instead of maxfd.
    - Added "Fl::remove_fd(fd, when)" function so you can remove the
      read and write callbacks separately.
    - The Fl::add_fd() and Fl::add_timeout() arrays are now dynamically
      allocated.
    - FLUID didn't always turn the FL_SUBMENU flag on for submenu titles.
    - The "extra code" in FLUID now is placed before the "o->end()" call
      for Fl_Group and its derived classes.
    - You can now set a FL_Window widget's class in FLUID to Fl_Group to
      generate a function or class that builds part of a GUI (i.e. no window).
    - FLUID now displays "Save file before exiting?" with the standard yes,
      no, and cancel buttons rather than "Discard changes?".
    - Fl_Menu_::add() now works with any type of menu, even one set with
      the menu() method.
    - The keypad keys were not always decoded properly under X11.
    - Some pointers were not being turned off when widgets were deleted,
      which caused some applications (like FLWM) to crash.


CHANGES SINCE FLTK 1.0

    - Documentation fixes.
    - Fl::check() didn't return the correct value, breaking a number
      of applications.
    - Fixed fluid bug that caused styles patch to crash when you delete
      a menu item.
    - Updated valuators demo to put the values in the gui box.
    - Fl_Browser_::item_height() didn't always compute the correct
      value.
    - Fixed the alignment of Fl_Choice text.
    - Fixes for OS/2.
    - Fl_Menu_Item::clear() didn't clear value.
    - Added some changes to make FLTK work with Borland C++.
    - ANSI C++ fixes.
    - Plugged a memory leak in the fractal demo.
    - Fl::add_timeout() didn't work under WIN32 with small values.
    - The configure script and makefiles now define DSONAME and
      use the static library for all example programs.