Adjust fluid/file.cxx so that it builds again on OSX.

I don't think this change will prevent the prior "fix"
workaround that Albrecht made from working on cygwin...

Probably!



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10381 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Ian MacArthur
2014-10-15 20:51:39 +00:00
parent de1d03cd52
commit f344e4a459
2 changed files with 101 additions and 101 deletions
+100 -100
View File
@@ -27,7 +27,7 @@
* in the current patch release of FLTK. ** Use for static builds only! ** * in the current patch release of FLTK. ** Use for static builds only! **
* For more info on this macro, see: http://fltk.org/cmp.php#FLTK_ABI_VERSION * For more info on this macro, see: http://fltk.org/cmp.php#FLTK_ABI_VERSION
*/ */
//#define FLTK_ABI_VERSION 10303 #define FLTK_ABI_VERSION 10303
# include "Fl_Export.H" # include "Fl_Export.H"
# include "fl_types.h" # include "fl_types.h"
@@ -36,7 +36,7 @@
FLTK defines some constants to help the programmer to FLTK defines some constants to help the programmer to
find out, for which FLTK version a program is compiled. find out, for which FLTK version a program is compiled.
The following constants are defined: The following constants are defined:
*/ */
/*@{*/ /*@{*/
@@ -83,12 +83,12 @@
or presses a key, an event is generated and sent to your or presses a key, an event is generated and sent to your
application. Events can also come from other programs like the application. Events can also come from other programs like the
window manager. window manager.
Events are identified by the integer argument passed to the Events are identified by the integer argument passed to the
Fl_Widget::handle() virtual method. Other information about the Fl_Widget::handle() virtual method. Other information about the
most recent event is stored in static locations and acquired by most recent event is stored in static locations and acquired by
calling the Fl::event_*() methods. This static information remains calling the Fl::event_*() methods. This static information remains
valid until the next event is read from the window system, so it valid until the next event is read from the window system, so it
is ok to look at it outside of the handle() method. is ok to look at it outside of the handle() method.
\sa Fl::event_text(), Fl::event_key(), class Fl:: \sa Fl::event_text(), Fl::event_key(), class Fl::
@@ -98,22 +98,22 @@ enum Fl_Event { // events
FL_NO_EVENT = 0, FL_NO_EVENT = 0,
/** A mouse button has gone down with the mouse pointing at this /** A mouse button has gone down with the mouse pointing at this
widget. You can find out what button by calling Fl::event_button(). widget. You can find out what button by calling Fl::event_button().
You find out the mouse position by calling Fl::event_x() and You find out the mouse position by calling Fl::event_x() and
Fl::event_y(). Fl::event_y().
A widget indicates that it "wants" the mouse click by returning non-zero A widget indicates that it "wants" the mouse click by returning non-zero
from its Fl_Widget::handle() method. It will then become the from its Fl_Widget::handle() method. It will then become the
Fl::pushed() widget and will get FL_DRAG and the matching FL_RELEASE events. Fl::pushed() widget and will get FL_DRAG and the matching FL_RELEASE events.
If Fl_Widget::handle() returns zero then FLTK will try sending the FL_PUSH If Fl_Widget::handle() returns zero then FLTK will try sending the FL_PUSH
to another widget. to another widget.
*/ */
FL_PUSH = 1, FL_PUSH = 1,
/** A mouse button has been released. You can find out what button by /** A mouse button has been released. You can find out what button by
calling Fl::event_button(). calling Fl::event_button().
In order to receive the FL_RELEASE event, the widget must return In order to receive the FL_RELEASE event, the widget must return
non-zero when handling FL_PUSH. non-zero when handling FL_PUSH.
*/ */
FL_RELEASE = 2, FL_RELEASE = 2,
@@ -122,64 +122,64 @@ enum Fl_Event { // events
be used for highlighting feedback. If a widget wants to be used for highlighting feedback. If a widget wants to
highlight or otherwise track the mouse, it indicates this by highlight or otherwise track the mouse, it indicates this by
returning non-zero from its handle() method. It then returning non-zero from its handle() method. It then
becomes the Fl::belowmouse() widget and will receive becomes the Fl::belowmouse() widget and will receive
FL_MOVE and FL_LEAVE events. FL_MOVE and FL_LEAVE events.
*/ */
FL_ENTER = 3, FL_ENTER = 3,
/** The mouse has moved out of the widget. /** The mouse has moved out of the widget.
In order to receive the FL_LEAVE event, the widget must In order to receive the FL_LEAVE event, the widget must
return non-zero when handling FL_ENTER. return non-zero when handling FL_ENTER.
*/ */
FL_LEAVE = 4, FL_LEAVE = 4,
/** The mouse has moved with a button held down. The current button state /** The mouse has moved with a button held down. The current button state
is in Fl::event_state(). The mouse position is in Fl::event_x() and is in Fl::event_state(). The mouse position is in Fl::event_x() and
Fl::event_y(). Fl::event_y().
In order to receive FL_DRAG events, the widget must return non-zero In order to receive FL_DRAG events, the widget must return non-zero
when handling FL_PUSH. when handling FL_PUSH.
*/ */
FL_DRAG = 5, FL_DRAG = 5,
/** This indicates an <I>attempt</I> to give a widget the keyboard focus. /** This indicates an <I>attempt</I> to give a widget the keyboard focus.
If a widget wants the focus, it should change itself to display the If a widget wants the focus, it should change itself to display the
fact that it has the focus, and return non-zero from its handle() method. fact that it has the focus, and return non-zero from its handle() method.
It then becomes the Fl::focus() widget and gets FL_KEYDOWN, FL_KEYUP, It then becomes the Fl::focus() widget and gets FL_KEYDOWN, FL_KEYUP,
and FL_UNFOCUS events. and FL_UNFOCUS events.
The focus will change either because the window manager changed which The focus will change either because the window manager changed which
window gets the focus, or because the user tried to navigate using tab, window gets the focus, or because the user tried to navigate using tab,
arrows, or other keys. You can check Fl::event_key() to figure out why arrows, or other keys. You can check Fl::event_key() to figure out why
it moved. For navigation it will be the key pressed and for interaction it moved. For navigation it will be the key pressed and for interaction
with the window manager it will be zero. with the window manager it will be zero.
*/ */
FL_FOCUS = 6, FL_FOCUS = 6,
/** This event is sent to the previous Fl::focus() widget when another /** This event is sent to the previous Fl::focus() widget when another
widget gets the focus or the window loses focus. widget gets the focus or the window loses focus.
*/ */
FL_UNFOCUS = 7, FL_UNFOCUS = 7,
/** A key was pressed (FL_KEYDOWN) or released (FL_KEYUP). /** A key was pressed (FL_KEYDOWN) or released (FL_KEYUP).
Fl_KEYBOARD is a synonym for FL_KEYDOWN. Fl_KEYBOARD is a synonym for FL_KEYDOWN.
The key can be found in Fl::event_key(). The key can be found in Fl::event_key().
The text that the key should insert can be found with Fl::event_text() The text that the key should insert can be found with Fl::event_text()
and its length is in Fl::event_length(). If you use the key handle() and its length is in Fl::event_length(). If you use the key handle()
should return 1. If you return zero then FLTK assumes you ignored the should return 1. If you return zero then FLTK assumes you ignored the
key and will then attempt to send it to a parent widget. If none of key and will then attempt to send it to a parent widget. If none of
them want it, it will change the event into a FL_SHORTCUT event. them want it, it will change the event into a FL_SHORTCUT event.
To receive FL_KEYBOARD events you must also respond to the FL_FOCUS To receive FL_KEYBOARD events you must also respond to the FL_FOCUS
and FL_UNFOCUS events. and FL_UNFOCUS events.
If you are writing a text-editing widget you may also want to call If you are writing a text-editing widget you may also want to call
the Fl::compose() function to translate individual keystrokes into the Fl::compose() function to translate individual keystrokes into
non-ASCII characters. non-ASCII characters.
FL_KEYUP events are sent to the widget that currently has focus. This FL_KEYUP events are sent to the widget that currently has focus. This
is not necessarily the same widget that received the corresponding is not necessarily the same widget that received the corresponding
FL_KEYDOWN event because focus may have changed between events. FL_KEYDOWN event because focus may have changed between events.
*/ */
FL_KEYDOWN = 8, FL_KEYDOWN = 8,
@@ -188,7 +188,7 @@ enum Fl_Event { // events
\see FL_KEYDOWN \see FL_KEYDOWN
*/ */
FL_KEYBOARD = 8, FL_KEYBOARD = 8,
/** Key release event. /** Key release event.
\see FL_KEYDOWN \see FL_KEYDOWN
*/ */
@@ -196,70 +196,70 @@ enum Fl_Event { // events
/** The user clicked the close button of a window. /** The user clicked the close button of a window.
This event is used internally only to trigger the callback of This event is used internally only to trigger the callback of
Fl_Window derived classed. The default callback closes the Fl_Window derived classed. The default callback closes the
window calling Fl_Window::hide(). window calling Fl_Window::hide().
*/ */
FL_CLOSE = 10, FL_CLOSE = 10,
/** The mouse has moved without any mouse buttons held down. /** The mouse has moved without any mouse buttons held down.
This event is sent to the Fl::belowmouse() widget. This event is sent to the Fl::belowmouse() widget.
In order to receive FL_MOVE events, the widget must return In order to receive FL_MOVE events, the widget must return
non-zero when handling FL_ENTER. non-zero when handling FL_ENTER.
*/ */
FL_MOVE = 11, FL_MOVE = 11,
/** If the Fl::focus() widget is zero or ignores an FL_KEYBOARD /** If the Fl::focus() widget is zero or ignores an FL_KEYBOARD
event then FLTK tries sending this event to every widget it event then FLTK tries sending this event to every widget it
can, until one of them returns non-zero. FL_SHORTCUT is first can, until one of them returns non-zero. FL_SHORTCUT is first
sent to the Fl::belowmouse() widget, then its parents and siblings, sent to the Fl::belowmouse() widget, then its parents and siblings,
and eventually to every widget in the window, trying to find an and eventually to every widget in the window, trying to find an
object that returns non-zero. FLTK tries really hard to not to ignore object that returns non-zero. FLTK tries really hard to not to ignore
any keystrokes! any keystrokes!
You can also make "global" shortcuts by using Fl::add_handler(). A You can also make "global" shortcuts by using Fl::add_handler(). A
global shortcut will work no matter what windows are displayed or global shortcut will work no matter what windows are displayed or
which one has the focus. which one has the focus.
*/ */
FL_SHORTCUT = 12, FL_SHORTCUT = 12,
/** This widget is no longer active, due to Fl_Widget::deactivate() /** This widget is no longer active, due to Fl_Widget::deactivate()
being called on it or one of its parents. Fl_Widget::active() may being called on it or one of its parents. Fl_Widget::active() may
still be true after this, the widget is only active if Fl_Widget::active() still be true after this, the widget is only active if Fl_Widget::active()
is true on it and all its parents (use Fl_Widget::active_r() to check this). is true on it and all its parents (use Fl_Widget::active_r() to check this).
*/ */
FL_DEACTIVATE = 13, FL_DEACTIVATE = 13,
/** This widget is now active, due to Fl_Widget::activate() being /** This widget is now active, due to Fl_Widget::activate() being
called on it or one of its parents. called on it or one of its parents.
*/ */
FL_ACTIVATE = 14, FL_ACTIVATE = 14,
/** This widget is no longer visible, due to Fl_Widget::hide() being /** This widget is no longer visible, due to Fl_Widget::hide() being
called on it or one of its parents, or due to a parent window being called on it or one of its parents, or due to a parent window being
minimized. Fl_Widget::visible() may still be true after this, but the minimized. Fl_Widget::visible() may still be true after this, but the
widget is visible only if visible() is true for it and all its widget is visible only if visible() is true for it and all its
parents (use Fl_Widget::visible_r() to check this). parents (use Fl_Widget::visible_r() to check this).
*/ */
FL_HIDE = 15, FL_HIDE = 15,
/** This widget is visible again, due to Fl_Widget::show() being called on /** This widget is visible again, due to Fl_Widget::show() being called on
it or one of its parents, or due to a parent window being restored. it or one of its parents, or due to a parent window being restored.
Child Fl_Windows respond to this by actually creating the window if not Child Fl_Windows respond to this by actually creating the window if not
done already, so if you subclass a window, be sure to pass FL_SHOW done already, so if you subclass a window, be sure to pass FL_SHOW
to the base class Fl_Widget::handle() method! to the base class Fl_Widget::handle() method!
*/ */
FL_SHOW = 16, FL_SHOW = 16,
/** You should get this event some time after you call Fl::paste(). /** You should get this event some time after you call Fl::paste().
The contents of Fl::event_text() is the text to insert and the number The contents of Fl::event_text() is the text to insert and the number
of characters is in Fl::event_length(). of characters is in Fl::event_length().
*/ */
FL_PASTE = 17, FL_PASTE = 17,
/** The Fl::selection_owner() will get this event before the selection is /** The Fl::selection_owner() will get this event before the selection is
moved to another widget. This indicates that some other widget or program moved to another widget. This indicates that some other widget or program
has claimed the selection. Motif programs used this to clear the selection has claimed the selection. Motif programs used this to clear the selection
indication. Most modern programs ignore this. indication. Most modern programs ignore this.
*/ */
FL_SELECTIONCLEAR = 18, FL_SELECTIONCLEAR = 18,
@@ -269,14 +269,14 @@ enum Fl_Event { // events
*/ */
FL_MOUSEWHEEL = 19, FL_MOUSEWHEEL = 19,
/** The mouse has been moved to point at this widget. A widget that is /** The mouse has been moved to point at this widget. A widget that is
interested in receiving drag'n'drop data must return 1 to receive interested in receiving drag'n'drop data must return 1 to receive
FL_DND_DRAG, FL_DND_LEAVE and FL_DND_RELEASE events. FL_DND_DRAG, FL_DND_LEAVE and FL_DND_RELEASE events.
*/ */
FL_DND_ENTER = 20, FL_DND_ENTER = 20,
/** The mouse has been moved inside a widget while dragging data. A /** The mouse has been moved inside a widget while dragging data. A
widget that is interested in receiving drag'n'drop data should widget that is interested in receiving drag'n'drop data should
indicate the possible drop position. indicate the possible drop position.
*/ */
FL_DND_DRAG = 21, FL_DND_DRAG = 21,
@@ -285,8 +285,8 @@ enum Fl_Event { // events
*/ */
FL_DND_LEAVE = 22, FL_DND_LEAVE = 22,
/** The user has released the mouse button dropping data into the widget. /** The user has released the mouse button dropping data into the widget.
If the widget returns 1, it will receive the data in the immediately If the widget returns 1, it will receive the data in the immediately
following FL_PASTE event. following FL_PASTE event.
*/ */
FL_DND_RELEASE = 23, FL_DND_RELEASE = 23,
@@ -326,7 +326,7 @@ enum Fl_When { // Fl_Widget::when():
\todo FL_Button and FL_key... constants could be structured better \todo FL_Button and FL_key... constants could be structured better
(use an enum or some doxygen grouping ?) (use an enum or some doxygen grouping ?)
\sa Fl::event_key() and Fl::get_key(int) (use ascii letters for all other keys): \sa Fl::event_key() and Fl::get_key(int) (use ascii letters for all other keys):
*/ */
@@ -338,7 +338,7 @@ enum Fl_When { // Fl_Widget::when():
#define FL_BackSpace 0xff08 ///< The backspace key. #define FL_BackSpace 0xff08 ///< The backspace key.
#define FL_Tab 0xff09 ///< The tab key. #define FL_Tab 0xff09 ///< The tab key.
#define FL_Iso_Key 0xff0c ///< The additional key of ISO keyboards. #define FL_Iso_Key 0xff0c ///< The additional key of ISO keyboards.
#define FL_Enter 0xff0d ///< The enter key. #define FL_Enter 0xff0d ///< The enter key.
#define FL_Pause 0xff13 ///< The pause key. #define FL_Pause 0xff13 ///< The pause key.
#define FL_Scroll_Lock 0xff14 ///< The scroll lock key. #define FL_Scroll_Lock 0xff14 ///< The scroll lock key.
#define FL_Escape 0xff1b ///< The escape key. #define FL_Escape 0xff1b ///< The escape key.
@@ -355,7 +355,7 @@ enum Fl_When { // Fl_Widget::when():
#define FL_Page_Down 0xff56 ///< The page-down key. #define FL_Page_Down 0xff56 ///< The page-down key.
#define FL_End 0xff57 ///< The end key. #define FL_End 0xff57 ///< The end key.
#define FL_Print 0xff61 ///< The print (or print-screen) key. #define FL_Print 0xff61 ///< The print (or print-screen) key.
#define FL_Insert 0xff63 ///< The insert key. #define FL_Insert 0xff63 ///< The insert key.
#define FL_Menu 0xff67 ///< The menu key. #define FL_Menu 0xff67 ///< The menu key.
#define FL_Help 0xff68 ///< The 'help' key on Mac keyboards #define FL_Help 0xff68 ///< The 'help' key on Mac keyboards
#define FL_Num_Lock 0xff7f ///< The num lock key. #define FL_Num_Lock 0xff7f ///< The num lock key.
@@ -372,7 +372,7 @@ enum Fl_When { // Fl_Widget::when():
#define FL_Meta_L 0xffe7 ///< The left meta/Windows key. #define FL_Meta_L 0xffe7 ///< The left meta/Windows key.
#define FL_Meta_R 0xffe8 ///< The right meta/Windows key. #define FL_Meta_R 0xffe8 ///< The right meta/Windows key.
#define FL_Alt_L 0xffe9 ///< The left alt key. #define FL_Alt_L 0xffe9 ///< The left alt key.
#define FL_Alt_R 0xffea ///< The right alt key. #define FL_Alt_R 0xffea ///< The right alt key.
#define FL_Delete 0xffff ///< The delete key. #define FL_Delete 0xffff ///< The delete key.
// These use the Private Use Area (PUA) of the Basic Multilingual Plane // These use the Private Use Area (PUA) of the Basic Multilingual Plane
@@ -401,7 +401,7 @@ enum Fl_When { // Fl_Widget::when():
/** \name Mouse Buttons /** \name Mouse Buttons
These constants define the button numbers for FL_PUSH and FL_RELEASE events. These constants define the button numbers for FL_PUSH and FL_RELEASE events.
\sa Fl::event_button() \sa Fl::event_button()
*/ */
@@ -440,7 +440,7 @@ enum Fl_When { // Fl_Widget::when():
#define FL_BUTTONS 0x7f000000 ///< Any mouse button is pushed #define FL_BUTTONS 0x7f000000 ///< Any mouse button is pushed
#define FL_BUTTON(n) (0x00800000<<(n)) ///< Mouse button n (n > 0) is pushed #define FL_BUTTON(n) (0x00800000<<(n)) ///< Mouse button n (n > 0) is pushed
#define FL_KEY_MASK 0x0000ffff ///< All keys are 16 bit for now #define FL_KEY_MASK 0x0000ffff ///< All keys are 16 bit for now
// FIXME: Unicode needs 24 bits! // FIXME: Unicode needs 24 bits!
#ifdef __APPLE__ #ifdef __APPLE__
@@ -455,14 +455,14 @@ enum Fl_When { // Fl_Widget::when():
/** \name Box Types /** \name Box Types
\brief FLTK standard box types \brief FLTK standard box types
This enum defines the standard box types included with FLTK. This enum defines the standard box types included with FLTK.
FL_NO_BOX means nothing is drawn at all, so whatever is already FL_NO_BOX means nothing is drawn at all, so whatever is already
on the screen remains. The FL_..._FRAME types only draw their edges, on the screen remains. The FL_..._FRAME types only draw their edges,
leaving the interior unchanged. The blue color in Figure 1 leaving the interior unchanged. The blue color in Figure 1
is the area that is not drawn by the frame types. is the area that is not drawn by the frame types.
\image html boxtypes.png "Figure 1: FLTK standard box types" \image html boxtypes.png "Figure 1: FLTK standard box types"
\image latex boxtypes.png "FLTK standard box types" width=10cm \image latex boxtypes.png "FLTK standard box types" width=10cm
\todo Description of boxtypes is incomplete. \todo Description of boxtypes is incomplete.
@@ -620,9 +620,9 @@ inline Fl_Boxtype fl_frame(Fl_Boxtype b) {
/** /**
The labeltype() method sets the type of the label. The labeltype() method sets the type of the label.
The following standard label types are included: The following standard label types are included:
\todo The doxygen comments are incomplete, and some labeltypes \todo The doxygen comments are incomplete, and some labeltypes
are starting with an underscore. Also, there are three are starting with an underscore. Also, there are three
external functions undocumented (yet): external functions undocumented (yet):
@@ -643,8 +643,8 @@ enum Fl_Labeltype { // labeltypes:
FL_FREE_LABELTYPE ///< first free labeltype to use for creating own labeltypes FL_FREE_LABELTYPE ///< first free labeltype to use for creating own labeltypes
}; };
/** /**
Sets the current label type and return its corresponding Fl_Labeltype value. Sets the current label type and return its corresponding Fl_Labeltype value.
@{ @{
*/ */
#define FL_SYMBOL_LABEL FL_NORMAL_LABEL #define FL_SYMBOL_LABEL FL_NORMAL_LABEL
@@ -656,9 +656,9 @@ extern Fl_Labeltype FL_EXPORT fl_define_FL_EMBOSSED_LABEL();
#define FL_EMBOSSED_LABEL fl_define_FL_EMBOSSED_LABEL() #define FL_EMBOSSED_LABEL fl_define_FL_EMBOSSED_LABEL()
/** @} */ /** @} */
/** \name Alignment Flags /** \name Alignment Flags
Flags to control the label alignment. Flags to control the label alignment.
This controls how the label is displayed next to or inside the widget. This controls how the label is displayed next to or inside the widget.
The default value is FL_ALIGN_CENTER for most widgets, which centers the label The default value is FL_ALIGN_CENTER for most widgets, which centers the label
inside the widget. inside the widget.
@@ -743,7 +743,7 @@ const Fl_Font FL_HELVETICA_BOLD = 1; ///< Helvetica (or Arial) bold
const Fl_Font FL_HELVETICA_ITALIC = 2; ///< Helvetica (or Arial) oblique const Fl_Font FL_HELVETICA_ITALIC = 2; ///< Helvetica (or Arial) oblique
const Fl_Font FL_HELVETICA_BOLD_ITALIC = 3; ///< Helvetica (or Arial) bold-oblique const Fl_Font FL_HELVETICA_BOLD_ITALIC = 3; ///< Helvetica (or Arial) bold-oblique
const Fl_Font FL_COURIER = 4; ///< Courier normal const Fl_Font FL_COURIER = 4; ///< Courier normal
const Fl_Font FL_COURIER_BOLD = 5; ///< Courier bold const Fl_Font FL_COURIER_BOLD = 5; ///< Courier bold
const Fl_Font FL_COURIER_ITALIC = 6; ///< Courier italic const Fl_Font FL_COURIER_ITALIC = 6; ///< Courier italic
const Fl_Font FL_COURIER_BOLD_ITALIC = 7; ///< Courier bold-italic const Fl_Font FL_COURIER_BOLD_ITALIC = 7; ///< Courier bold-italic
const Fl_Font FL_TIMES = 8; ///< Times roman const Fl_Font FL_TIMES = 8; ///< Times roman
@@ -769,7 +769,7 @@ typedef int Fl_Fontsize;
extern FL_EXPORT Fl_Fontsize FL_NORMAL_SIZE; ///< normal font size extern FL_EXPORT Fl_Fontsize FL_NORMAL_SIZE; ///< normal font size
/** \name Colors /** \name Colors
The Fl_Color type holds an FLTK color value. The Fl_Color type holds an FLTK color value.
Colors are either 8-bit indexes into a virtual colormap Colors are either 8-bit indexes into a virtual colormap
@@ -787,7 +787,7 @@ extern FL_EXPORT Fl_Fontsize FL_NORMAL_SIZE; ///< normal font size
+--------- red component (8 bit) +--------- red component (8 bit)
</pre> </pre>
A color can have either an index or an rgb value. Colors with rgb set A color can have either an index or an rgb value. Colors with rgb set
and an index >0 are reserved for special use. and an index >0 are reserved for special use.
*/ */
@@ -867,19 +867,19 @@ inline Fl_Color fl_rgb_color(uchar g) {
else return (Fl_Color)(((((g << 8) | g) << 8) | g) << 8); else return (Fl_Color)(((((g << 8) | g) << 8) | g) << 8);
} }
/** Returns a gray color value from black (i == 0) to white (i == FL_NUM_GRAY - 1). /** Returns a gray color value from black (i == 0) to white (i == FL_NUM_GRAY - 1).
FL_NUM_GRAY is defined to be 24 in the current FLTK release. FL_NUM_GRAY is defined to be 24 in the current FLTK release.
To get the closest FLTK gray value to an 8-bit grayscale color 'I' use: To get the closest FLTK gray value to an 8-bit grayscale color 'I' use:
\code \code
fl_gray_ramp(I * (FL_NUM_GRAY - 1) / 255) fl_gray_ramp(I * (FL_NUM_GRAY - 1) / 255)
\endcode \endcode
*/ */
inline Fl_Color fl_gray_ramp(int i) {return (Fl_Color)(i+FL_GRAY_RAMP);} inline Fl_Color fl_gray_ramp(int i) {return (Fl_Color)(i+FL_GRAY_RAMP);}
/** Returns a color out of the color cube. /** Returns a color out of the color cube.
\p r must be in the range 0 to FL_NUM_RED (5) minus 1, \p r must be in the range 0 to FL_NUM_RED (5) minus 1,
\p g must be in the range 0 to FL_NUM_GREEN (8) minus 1, \p g must be in the range 0 to FL_NUM_GREEN (8) minus 1,
\p b must be in the range 0 to FL_NUM_BLUE (5) minus 1. \p b must be in the range 0 to FL_NUM_BLUE (5) minus 1.
@@ -894,7 +894,7 @@ inline Fl_Color fl_gray_ramp(int i) {return (Fl_Color)(i+FL_GRAY_RAMP);}
inline Fl_Color fl_color_cube(int r, int g, int b) { inline Fl_Color fl_color_cube(int r, int g, int b) {
return (Fl_Color)((b*FL_NUM_RED + r) * FL_NUM_GREEN + g + FL_COLOR_CUBE);} return (Fl_Color)((b*FL_NUM_RED + r) * FL_NUM_GREEN + g + FL_COLOR_CUBE);}
/*@}*/ // group: Colors /*@}*/ // group: Colors
/** \name Cursors */ /** \name Cursors */
/*@{*/ /*@{*/
@@ -933,7 +933,7 @@ enum Fl_Cursor {
FL_CURSOR_NONE =255 /**< invisible. */ FL_CURSOR_NONE =255 /**< invisible. */
}; };
/*@}*/ // group: Cursors /*@}*/ // group: Cursors
/** FD "when" conditions */ /** FD "when" conditions */
enum { // values for "when" passed to Fl::add_fd() enum { // values for "when" passed to Fl::add_fd()
@@ -943,7 +943,7 @@ enum { // values for "when" passed to Fl::add_fd()
}; };
/** visual types and Fl_Gl_Window::mode() (values match Glut) */ /** visual types and Fl_Gl_Window::mode() (values match Glut) */
enum Fl_Mode { enum Fl_Mode {
FL_RGB = 0, FL_RGB = 0,
FL_INDEX = 1, FL_INDEX = 1,
FL_SINGLE = 0, FL_SINGLE = 0,
+1 -1
View File
@@ -379,7 +379,7 @@ static void read_children(Fl_Type *p, int paste) {
if (!strcmp(c,"version")) { if (!strcmp(c,"version")) {
c = read_word(); c = read_word();
read_version = strtod(c,0); read_version = strtod(c,0);
if (read_version<=0 || read_version>double(FL_VERSION+0.00001d)) if (read_version<=0 || read_version>double(FL_VERSION+0.00001))
read_error("unknown version '%s'",c); read_error("unknown version '%s'",c);
continue; continue;
} }