diff --git a/CHANGES b/CHANGES index dd14c89df..f692f9d0a 100644 --- a/CHANGES +++ b/CHANGES @@ -1,11 +1,23 @@ CHANGES IN FLTK 1.1.4 - - CodeWarrior Mac OS X updated to work with current CW8.3 + - Added documentation for all forms of + Fl_Widget::damage() (STR #61) + - Fl_Double_Window now has a type() value of + FL_DOUBLE_WINDOW, to allow double-buffered windows to + process redraws properly on WIN32 (STR #46) + - Added FL_DAMAGE_USER1 and FL_DAMAGE_USER2 damage bits + for use by widget developers (STR #57) + - Fl_Help_View didn't support numeric character entities + (STR #66) + - Menu shortcuts didn't use the Mac key names under + MacOS X (STR #71) + - CodeWarrior Mac OS X updated to work with current + CW8.3 (STR #34) - Apple-C/X/V/Z didn't work in the Fl_Input widget due - to a bad mapping to control keys (STR #pending) + to a bad mapping to control keys (STR #79) - Added the OSX-specific fl_open_callback() function to handle Open Documents messages from the Finder (STR - #pending) + #80) - The configure script contained erroneous whitespace in various tests which caused errors on some platforms (STR #60) diff --git a/FL/Enumerations.H b/FL/Enumerations.H index 843aa0d7f..5bfe44c24 100644 --- a/FL/Enumerations.H +++ b/FL/Enumerations.H @@ -1,5 +1,5 @@ // -// "$Id: Enumerations.H,v 1.18.2.14.2.34 2003/05/18 22:12:19 easysw Exp $" +// "$Id: Enumerations.H,v 1.18.2.14.2.35 2003/06/12 01:36:15 easysw Exp $" // // Enumerations for the Fast Light Tool Kit (FLTK). // @@ -403,6 +403,8 @@ enum Fl_Damage { FL_DAMAGE_EXPOSE = 0x02, FL_DAMAGE_SCROLL = 0x04, FL_DAMAGE_OVERLAY = 0x08, + FL_DAMAGE_USER1 = 0x10, + FL_DAMAGE_USER2 = 0x20, FL_DAMAGE_ALL = 0x80 }; @@ -417,5 +419,5 @@ enum Fl_Damage { #endif // -// End of "$Id: Enumerations.H,v 1.18.2.14.2.34 2003/05/18 22:12:19 easysw Exp $". +// End of "$Id: Enumerations.H,v 1.18.2.14.2.35 2003/06/12 01:36:15 easysw Exp $". // diff --git a/FL/Fl_Double_Window.H b/FL/Fl_Double_Window.H index 8bca2bdb8..bd35a6b91 100644 --- a/FL/Fl_Double_Window.H +++ b/FL/Fl_Double_Window.H @@ -1,5 +1,5 @@ // -// "$Id: Fl_Double_Window.H,v 1.7.2.3.2.4 2003/01/30 21:38:57 easysw Exp $" +// "$Id: Fl_Double_Window.H,v 1.7.2.3.2.5 2003/06/12 01:36:16 easysw Exp $" // // Double-buffered window header file for the Fast Light Tool Kit (FLTK). // @@ -40,13 +40,13 @@ public: void hide(); ~Fl_Double_Window(); Fl_Double_Window(int W, int H, const char *l = 0) - : Fl_Window(W,H,l), force_doublebuffering_(0) {} + : Fl_Window(W,H,l), force_doublebuffering_(0) { type(FL_DOUBLE_WINDOW); } Fl_Double_Window(int X, int Y, int W, int H, const char *l = 0) - : Fl_Window(X,Y,W,H,l), force_doublebuffering_(0) {} + : Fl_Window(X,Y,W,H,l), force_doublebuffering_(0) { type(FL_DOUBLE_WINDOW); } }; #endif // -// End of "$Id: Fl_Double_Window.H,v 1.7.2.3.2.4 2003/01/30 21:38:57 easysw Exp $". +// End of "$Id: Fl_Double_Window.H,v 1.7.2.3.2.5 2003/06/12 01:36:16 easysw Exp $". // diff --git a/FL/Fl_Window.H b/FL/Fl_Window.H index dd6f46a2a..880fcc7a7 100644 --- a/FL/Fl_Window.H +++ b/FL/Fl_Window.H @@ -1,5 +1,5 @@ // -// "$Id: Fl_Window.H,v 1.12.2.6.2.6 2003/01/30 21:40:37 easysw Exp $" +// "$Id: Fl_Window.H,v 1.12.2.6.2.7 2003/06/12 01:36:16 easysw Exp $" // // Window header file for the Fast Light Tool Kit (FLTK). // @@ -29,6 +29,7 @@ #include "Fl_Group.H" #define FL_WINDOW 0xF0 // all subclasses have type() >= this +#define FL_DOUBLE_WINDOW 0xF1 class Fl_X; @@ -123,5 +124,5 @@ public: #endif // -// End of "$Id: Fl_Window.H,v 1.12.2.6.2.6 2003/01/30 21:40:37 easysw Exp $". +// End of "$Id: Fl_Window.H,v 1.12.2.6.2.7 2003/06/12 01:36:16 easysw Exp $". // diff --git a/documentation/Fl_Widget.html b/documentation/Fl_Widget.html index 3b6a1cf58..48e2076c9 100644 --- a/documentation/Fl_Widget.html +++ b/documentation/Fl_Widget.html @@ -258,13 +258,17 @@ method for more information. equal to this widget. Returns 0 if b is NULL. -

uchar Fl_Widget::damage() const

+

uchar Fl_Widget::damage() const
+void damage(uchar c);
+void damage(uchar c, int X, int Y, int W, int H);

-

Non-zero if The first version returns non-zero if draw() needs to be called. The damage value is actually a bit field that the widget subclass can use to figure out what parts to draw. +

The last two forms set the damage bits for the widget; the +last form damages the widget within the specified bounding box.

static void Fl_Widget::default_callback(Fl_Widget*, void*)

diff --git a/documentation/enumerations.html b/documentation/enumerations.html index c5aed2a1c..2d7817248 100644 --- a/documentation/enumerations.html +++ b/documentation/enumerations.html @@ -295,6 +295,8 @@ cursors.

  • FL_DAMAGE_SCROLL - The Fl_Scroll widget was scrolled.
  • FL_DAMAGE_OVERLAY - The overlay planes need to be redrawn.
  • +
  • FL_DAMAGE_USER1 - First user-defined damage bit.
  • +
  • FL_DAMAGE_USER2 - Second user-defined damage bit.
  • FL_DAMAGE_ALL - Everything needs to be redrawn.
  • diff --git a/src/Fl_Help_View.cxx b/src/Fl_Help_View.cxx index 58c177fcb..75136ebda 100644 --- a/src/Fl_Help_View.cxx +++ b/src/Fl_Help_View.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_Help_View.cxx,v 1.1.2.47 2003/05/21 16:12:14 easysw Exp $" +// "$Id: Fl_Help_View.cxx,v 1.1.2.48 2003/06/12 01:36:17 easysw Exp $" // // Fl_Help_View widget routines. // @@ -2759,9 +2759,11 @@ quote_char(const char *p) { // I - Quoted string { "yuml;", 5, 255 } }; - - if (isdigit(*p)) return atoi(p); - + if (!strchr(p, ';')) return -1; + if (*p == '#') { + if (*(p+1) == 'x' || *(p+1) == 'X') return strtol(p+2, NULL, 16); + else return atoi(p+1); + } for (i = (int)(sizeof(names) / sizeof(names[0])), nameptr = names; i > 0; i --, nameptr ++) if (strncmp(p, nameptr->name, nameptr->namelen) == 0) return nameptr->code; @@ -2793,5 +2795,5 @@ hscrollbar_callback(Fl_Widget *s, void *) // -// End of "$Id: Fl_Help_View.cxx,v 1.1.2.47 2003/05/21 16:12:14 easysw Exp $". +// End of "$Id: Fl_Help_View.cxx,v 1.1.2.48 2003/06/12 01:36:17 easysw Exp $". // diff --git a/src/Fl_Sys_Menu_Bar.cxx b/src/Fl_Sys_Menu_Bar.cxx index 76b588cb7..7ea2eeec5 100644 --- a/src/Fl_Sys_Menu_Bar.cxx +++ b/src/Fl_Sys_Menu_Bar.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_Sys_Menu_Bar.cxx,v 1.1.2.6 2003/01/30 21:42:45 easysw Exp $" +// "$Id: Fl_Sys_Menu_Bar.cxx,v 1.1.2.7 2003/06/12 01:36:18 easysw Exp $" // // MacOS system menu bar widget for the Fast Light Tool Kit (FLTK). // @@ -110,11 +110,11 @@ static void catMenuFont( const Fl_Menu_Item *m, char *dst ) * append a marker to identify the menu shortcut * flush(); fl_restore_pen(); - if (window->parent()) ValidateRgn(hWnd,0); + if (window->type() == FL_DOUBLE_WINDOW) ValidateRgn(hWnd,0); else ValidateRgn(hWnd,i->region); window->clear_damage(); } return 0; @@ -1193,5 +1193,5 @@ void Fl_Window::make_current() { } // -// End of "$Id: Fl_win32.cxx,v 1.33.2.37.2.45 2003/05/20 19:09:33 easysw Exp $". +// End of "$Id: Fl_win32.cxx,v 1.33.2.37.2.46 2003/06/12 01:36:18 easysw Exp $". // diff --git a/src/fl_shortcut.cxx b/src/fl_shortcut.cxx index a89b554c8..9f56f9e7b 100644 --- a/src/fl_shortcut.cxx +++ b/src/fl_shortcut.cxx @@ -1,5 +1,5 @@ // -// "$Id: fl_shortcut.cxx,v 1.4.2.9.2.10 2003/05/21 01:50:14 easysw Exp $" +// "$Id: fl_shortcut.cxx,v 1.4.2.9.2.11 2003/06/12 01:36:18 easysw Exp $" // // Shortcut support routines for the Fast Light Tool Kit (FLTK). // @@ -116,12 +116,12 @@ const char * fl_shortcut_label(int shortcut) { static char buf[20]; char *p = buf; if (!shortcut) {*p = 0; return buf;} -#ifdef UNUSED__APPLE__UNUSED +#ifdef __APPLE__ // \todo Mac : we might want to change the symbols for Mac users - consider drawing Apple Symbols... . - if (shortcut & FL_SHIFT) {strcpy(p,"shift+"); p += 6;} //: Mac hollow up arrow - if (shortcut & FL_META) {strcpy(p,"ctrl+"); p += 5;} //: Mac 'cotrol' - if (shortcut & FL_ALT) {strcpy(p,"option+"); p += 7;} //: Mac 'Option' or fancy switch symbol - if (shortcut & FL_CTRL) {strcpy(p,"cmd+"); p += 4;} //: Mac Apple or Curlyflour + if (shortcut & FL_SHIFT) {strcpy(p,"Shift+"); p += 6;} //: Mac hollow up arrow + if (shortcut & FL_META) {strcpy(p,"Ctrl+"); p += 5;} //: Mac 'control' + if (shortcut & FL_ALT) {strcpy(p,"Option+"); p += 7;} //: Mac 'Option' or fancy switch symbol + if (shortcut & FL_CTRL) {strcpy(p,"Cmd+"); p += 4;} //: Mac Apple or Curlyflour #else if (shortcut & FL_META) {strcpy(p,"Meta+"); p += 5;} if (shortcut & FL_ALT) {strcpy(p,"Alt+"); p += 4;} @@ -201,5 +201,5 @@ int Fl_Widget::test_shortcut() { } // -// End of "$Id: fl_shortcut.cxx,v 1.4.2.9.2.10 2003/05/21 01:50:14 easysw Exp $". +// End of "$Id: fl_shortcut.cxx,v 1.4.2.9.2.11 2003/06/12 01:36:18 easysw Exp $". //