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)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3026 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Michael R Sweet 2003-06-12 01:36:18 +00:00
parent dd6c9535ef
commit f438ffa087
10 changed files with 58 additions and 35 deletions

18
CHANGES
View File

@ -1,11 +1,23 @@
CHANGES IN FLTK 1.1.4 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 - 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 - Added the OSX-specific fl_open_callback() function to
handle Open Documents messages from the Finder (STR handle Open Documents messages from the Finder (STR
#pending) #80)
- The configure script contained erroneous whitespace in - The configure script contained erroneous whitespace in
various tests which caused errors on some platforms various tests which caused errors on some platforms
(STR #60) (STR #60)

View File

@ -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). // Enumerations for the Fast Light Tool Kit (FLTK).
// //
@ -403,6 +403,8 @@ enum Fl_Damage {
FL_DAMAGE_EXPOSE = 0x02, FL_DAMAGE_EXPOSE = 0x02,
FL_DAMAGE_SCROLL = 0x04, FL_DAMAGE_SCROLL = 0x04,
FL_DAMAGE_OVERLAY = 0x08, FL_DAMAGE_OVERLAY = 0x08,
FL_DAMAGE_USER1 = 0x10,
FL_DAMAGE_USER2 = 0x20,
FL_DAMAGE_ALL = 0x80 FL_DAMAGE_ALL = 0x80
}; };
@ -417,5 +419,5 @@ enum Fl_Damage {
#endif #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 $".
// //

View File

@ -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). // Double-buffered window header file for the Fast Light Tool Kit (FLTK).
// //
@ -40,13 +40,13 @@ public:
void hide(); void hide();
~Fl_Double_Window(); ~Fl_Double_Window();
Fl_Double_Window(int W, int H, const char *l = 0) 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_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 #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 $".
// //

View File

@ -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). // Window header file for the Fast Light Tool Kit (FLTK).
// //
@ -29,6 +29,7 @@
#include "Fl_Group.H" #include "Fl_Group.H"
#define FL_WINDOW 0xF0 // all subclasses have type() >= this #define FL_WINDOW 0xF0 // all subclasses have type() >= this
#define FL_DOUBLE_WINDOW 0xF1
class Fl_X; class Fl_X;
@ -123,5 +124,5 @@ public:
#endif #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 $".
// //

View File

@ -258,13 +258,17 @@ method for more information.
equal to this widget. Returns 0 if <TT>b</TT> is <TT>NULL</TT>. 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 HREF="subclassing.html#draw"><TT>draw()</TT></A> needs to be
called. The damage value is actually a bit field that the widget called. The damage value is actually a bit field that the widget
subclass can use to figure out what parts to draw. 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 <H4><A name=Fl_Widget.default_callback>static void
Fl_Widget::default_callback(Fl_Widget*, void*)</A></H4> Fl_Widget::default_callback(Fl_Widget*, void*)</A></H4>

View File

@ -295,6 +295,8 @@ cursors.</P>
<LI><TT>FL_DAMAGE_SCROLL</TT> - The <TT>Fl_Scroll</TT> widget was <LI><TT>FL_DAMAGE_SCROLL</TT> - The <TT>Fl_Scroll</TT> widget was
scrolled. </LI> scrolled. </LI>
<LI><TT>FL_DAMAGE_OVERLAY</TT> - The overlay planes need to be redrawn. </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> <LI><TT>FL_DAMAGE_ALL</TT> - Everything needs to be redrawn. </LI>
</UL> </UL>
</BODY></HTML> </BODY></HTML>

View File

@ -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. // Fl_Help_View widget routines.
// //
@ -2759,9 +2759,11 @@ quote_char(const char *p) { // I - Quoted string
{ "yuml;", 5, 255 } { "yuml;", 5, 255 }
}; };
if (!strchr(p, ';')) return -1;
if (isdigit(*p)) return atoi(p); 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 ++) for (i = (int)(sizeof(names) / sizeof(names[0])), nameptr = names; i > 0; i --, nameptr ++)
if (strncmp(p, nameptr->name, nameptr->namelen) == 0) if (strncmp(p, nameptr->name, nameptr->namelen) == 0)
return nameptr->code; 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 $".
// //

View File

@ -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). // 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 * append a marker to identify the menu shortcut
* <B, I, U, O, and S * <B, I, U, O, and S
enum { enum {
ÊÊÊÊkMenuNoModifiersÊÊÊÊÊÊÊÊ= 0, kMenuNoModifiers = 0,
ÊÊÊÊkMenuShiftModifierÊÊÊÊÊÊ= (1 << 0), kMenuShiftModifier = (1 << 0),
ÊÊÊÊkMenuOptionModifierÊÊÊÊÊ= (1 << 1), kMenuOptionModifier = (1 << 1),
ÊÊÊÊkMenuControlModifierÊÊÊÊ= (1 << 2), kMenuControlModifier = (1 << 2),
ÊÊÊÊkMenuNoCommandModifierÊÊ= (1 << 3) kMenuNoCommandModifier = (1 << 3)
}; };
*/ */
static void setMenuShortcut( MenuHandle mh, int miCnt, const Fl_Menu_Item *m ) 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 $".
// //

View File

@ -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). // 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(); fl_save_pen();
i->flush(); i->flush();
fl_restore_pen(); fl_restore_pen();
if (window->parent()) ValidateRgn(hWnd,0); if (window->type() == FL_DOUBLE_WINDOW) ValidateRgn(hWnd,0);
else ValidateRgn(hWnd,i->region); else ValidateRgn(hWnd,i->region);
window->clear_damage(); window->clear_damage();
} return 0; } 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 $".
// //

View File

@ -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). // 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]; static char buf[20];
char *p = buf; char *p = buf;
if (!shortcut) {*p = 0; return 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... . // \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_SHIFT) {strcpy(p,"Shift+"); p += 6;} //: Mac hollow up arrow
if (shortcut & FL_META) {strcpy(p,"ctrl+"); p += 5;} //: Mac 'cotrol' 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_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_CTRL) {strcpy(p,"Cmd+"); p += 4;} //: Mac Apple or Curlyflour
#else #else
if (shortcut & FL_META) {strcpy(p,"Meta+"); p += 5;} if (shortcut & FL_META) {strcpy(p,"Meta+"); p += 5;}
if (shortcut & FL_ALT) {strcpy(p,"Alt+"); p += 4;} 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 $".
// //