summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES18
-rw-r--r--FL/Enumerations.H6
-rw-r--r--FL/Fl_Double_Window.H8
-rw-r--r--FL/Fl_Window.H5
-rw-r--r--documentation/Fl_Widget.html8
-rw-r--r--documentation/enumerations.html2
-rw-r--r--src/Fl_Help_View.cxx12
-rw-r--r--src/Fl_Sys_Menu_Bar.cxx14
-rw-r--r--src/Fl_win32.cxx6
-rw-r--r--src/fl_shortcut.cxx14
10 files changed, 58 insertions, 35 deletions
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 <TT>b</TT> is <TT>NULL</TT>.
-<H4><A name=Fl_Widget.damage>uchar Fl_Widget::damage() const</A></H4>
+<H4><A name=Fl_Widget.damage>uchar Fl_Widget::damage() const<BR>
+void damage(uchar c);<BR>
+void damage(uchar c, int X, int Y, int W, int H);</A></H4>
-<P>Non-zero if <A
+<P>The first version returns non-zero if <A
HREF="subclassing.html#draw"><TT>draw()</TT></A> 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.
+<P>The last two forms set the damage bits for the widget; the
+last form damages the widget within the specified bounding box.
<H4><A name=Fl_Widget.default_callback>static void
Fl_Widget::default_callback(Fl_Widget*, void*)</A></H4>
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.</P>
<LI><TT>FL_DAMAGE_SCROLL</TT> - The <TT>Fl_Scroll</TT> widget was
scrolled. </LI>
<LI><TT>FL_DAMAGE_OVERLAY</TT> - The overlay planes need to be redrawn. </LI>
+<LI><TT>FL_DAMAGE_USER1</TT> - First user-defined damage bit. </LI>
+<LI><TT>FL_DAMAGE_USER2</TT> - Second user-defined damage bit. </LI>
<LI><TT>FL_DAMAGE_ALL</TT> - Everything needs to be redrawn. </LI>
</UL>
</BODY></HTML>
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
* <B, I, U, O, and S
enum {
-ÊÊÊÊkMenuNoModifiersÊÊÊÊÊÊÊÊ= 0,
-ÊÊÊÊkMenuShiftModifierÊÊÊÊÊÊ= (1 << 0),
-ÊÊÊÊkMenuOptionModifierÊÊÊÊÊ= (1 << 1),
-ÊÊÊÊkMenuControlModifierÊÊÊÊ= (1 << 2),
-ÊÊÊÊkMenuNoCommandModifierÊÊ= (1 << 3)
+ kMenuNoModifiers = 0,
+ kMenuShiftModifier = (1 << 0),
+ kMenuOptionModifier = (1 << 1),
+ kMenuControlModifier = (1 << 2),
+ kMenuNoCommandModifier = (1 << 3)
};
*/
static void setMenuShortcut( MenuHandle mh, int miCnt, const Fl_Menu_Item *m )
@@ -316,5 +316,5 @@ int Fl_Menu_Bar::handle(int event) {
*/
//
-// End of "$Id: Fl_Sys_Menu_Bar.cxx,v 1.1.2.6 2003/01/30 21:42:45 easysw Exp $".
+// End of "$Id: Fl_Sys_Menu_Bar.cxx,v 1.1.2.7 2003/06/12 01:36:18 easysw Exp $".
//
diff --git a/src/Fl_win32.cxx b/src/Fl_win32.cxx
index 3116f78d4..e1de53279 100644
--- a/src/Fl_win32.cxx
+++ b/src/Fl_win32.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_win32.cxx,v 1.33.2.37.2.45 2003/05/20 19:09:33 easysw Exp $"
+// "$Id: Fl_win32.cxx,v 1.33.2.37.2.46 2003/06/12 01:36:18 easysw Exp $"
//
// WIN32-specific code for the Fast Light Tool Kit (FLTK).
//
@@ -613,7 +613,7 @@ static LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPar
fl_save_pen();
i->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 $".
//