2018-05-17 14:01:02 +00:00
|
|
|
//
|
|
|
|
// "$Id: Enumerations.H 5389 2006-09-01 15:39:19Z spitzak $"
|
|
|
|
//
|
|
|
|
// Enumerations for the Fast Light Tool Kit (FLTK).
|
|
|
|
//
|
|
|
|
// Copyright 1998-2006 by Bill Spitzak and others.
|
|
|
|
//
|
|
|
|
// This library is free software; you can redistribute it and/or
|
|
|
|
// modify it under the terms of the GNU Library General Public
|
|
|
|
// License as published by the Free Software Foundation; either
|
|
|
|
// version 2 of the License, or (at your option) any later version.
|
|
|
|
//
|
|
|
|
// This library is distributed in the hope that it will be useful,
|
|
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
// Library General Public License for more details.
|
|
|
|
//
|
|
|
|
// You should have received a copy of the GNU Library General Public
|
|
|
|
// License along with this library; if not, write to the Free Software
|
|
|
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
|
|
|
// USA.
|
|
|
|
//
|
|
|
|
// Please report all bugs and problems to "fltk-bugs@fltk.org".
|
|
|
|
//
|
|
|
|
|
|
|
|
#ifndef Fl_Enumerations_H
|
|
|
|
#define Fl_Enumerations_H
|
|
|
|
|
|
|
|
# include <fltk/FL_API.h>
|
|
|
|
# include <fltk/FL_VERSION.h>
|
|
|
|
|
|
|
|
enum Fl_Event { // these should match fltk/events.h
|
|
|
|
FL_NO_EVENT = 0,
|
|
|
|
FL_PUSH = 1,
|
|
|
|
FL_RELEASE = 2,
|
|
|
|
FL_ENTER = 3,
|
|
|
|
FL_LEAVE = 4,
|
|
|
|
FL_DRAG = 5,
|
|
|
|
FL_FOCUS = 6,
|
|
|
|
FL_UNFOCUS = 7,
|
|
|
|
FL_KEYDOWN = 8,
|
|
|
|
FL_KEYBOARD = FL_KEYDOWN,
|
|
|
|
FL_KEYUP = 9,
|
|
|
|
//FL_CLOSE = 10, // not in fltk2.0
|
|
|
|
FL_MOVE = 11,
|
|
|
|
FL_SHORTCUT = 12,
|
|
|
|
FL_DEACTIVATE = 13,
|
|
|
|
FL_ACTIVATE = 14,
|
|
|
|
FL_HIDE = 15,
|
|
|
|
FL_SHOW = 16,
|
|
|
|
FL_PASTE = 17,
|
|
|
|
//FL_SELECTIONCLEAR = 18, // not in fltk2.0
|
|
|
|
FL_MOUSEWHEEL = 19,
|
|
|
|
FL_DND_ENTER = 20,
|
|
|
|
FL_DND_DRAG = 21,
|
|
|
|
FL_DND_LEAVE = 22,
|
|
|
|
FL_DND_RELEASE = 23
|
|
|
|
};
|
|
|
|
|
|
|
|
enum Fl_When { // These should match values in fltk/Widget.h
|
|
|
|
FL_WHEN_NEVER = 0,
|
|
|
|
FL_WHEN_CHANGED = 1,
|
|
|
|
FL_WHEN_RELEASE = 4,
|
|
|
|
FL_WHEN_RELEASE_ALWAYS= 6,
|
|
|
|
FL_WHEN_ENTER_KEY = 8,
|
|
|
|
FL_WHEN_ENTER_KEY_ALWAYS=10,
|
|
|
|
FL_WHEN_ENTER_KEY_CHANGED=11,
|
|
|
|
FL_WHEN_NOT_CHANGED = 2 // modifier bit to disable changed() test
|
|
|
|
};
|
|
|
|
|
|
|
|
// These should match symbols in fltk/events.h:
|
|
|
|
#define FL_Button 0 // old value was 0xfee8
|
|
|
|
#define FL_LEFT_MOUSE 1
|
|
|
|
#define FL_MIDDLE_MOUSE 2
|
|
|
|
#define FL_RIGHT_MOUSE 3
|
|
|
|
#define FL_BackSpace 0xff08
|
|
|
|
#define FL_Tab 0xff09
|
|
|
|
#define FL_Enter 0xff0d
|
|
|
|
#define FL_Pause 0xff13
|
|
|
|
#define FL_Scroll_Lock 0xff14
|
|
|
|
#define FL_Escape 0xff1b
|
|
|
|
#define FL_Home 0xff50
|
|
|
|
#define FL_Left 0xff51
|
|
|
|
#define FL_Up 0xff52
|
|
|
|
#define FL_Right 0xff53
|
|
|
|
#define FL_Down 0xff54
|
|
|
|
#define FL_Page_Up 0xff55
|
|
|
|
#define FL_Page_Down 0xff56
|
|
|
|
#define FL_End 0xff57
|
|
|
|
#define FL_Print 0xff61
|
|
|
|
#define FL_Insert 0xff63
|
|
|
|
#define FL_Menu 0xff67 // the "menu/apps" key on XFree86
|
|
|
|
#define FL_Help 0xff68 // the 'help' key on Mac keyboards
|
|
|
|
#define FL_Num_Lock 0xff7f
|
|
|
|
#define FL_KP 0xff80 // use FL_KP+'x' for 'x' on numeric keypad
|
|
|
|
#define FL_KP_Enter 0xff8d // same as Fl_KP+'\r'
|
|
|
|
#define FL_KP_Last 0xffbd // use to range-check keypad
|
|
|
|
#define FL_F 0xffbd // use FL_F+n for function key n
|
|
|
|
#define FL_F_Last 0xffe0 // use to range-check function keys
|
|
|
|
#define FL_Shift_L 0xffe1
|
|
|
|
#define FL_Shift_R 0xffe2
|
|
|
|
#define FL_Control_L 0xffe3
|
|
|
|
#define FL_Control_R 0xffe4
|
|
|
|
#define FL_Caps_Lock 0xffe5
|
|
|
|
#define FL_Meta_L 0xffe7
|
|
|
|
#define FL_Meta_R 0xffe8
|
|
|
|
#define FL_Alt_L 0xffe9
|
|
|
|
#define FL_Alt_R 0xffea
|
|
|
|
#define FL_Delete 0xffff
|
|
|
|
|
|
|
|
#define FL_SHIFT 0x00010000
|
|
|
|
#define FL_CAPS_LOCK 0x00020000
|
|
|
|
#define FL_CTRL 0x00040000
|
|
|
|
#define FL_ALT 0x00080000
|
|
|
|
#define FL_NUM_LOCK 0x00100000 // most X servers do this?
|
|
|
|
#define FL_META 0x00400000
|
|
|
|
#define FL_SCROLL_LOCK 0x00800000
|
|
|
|
#define FL_BUTTON1 0x01000000
|
|
|
|
#define FL_BUTTON2 0x02000000
|
|
|
|
#define FL_BUTTON3 0x04000000
|
|
|
|
#define FL_BUTTONS 0x7f000000 // All possible buttons
|
|
|
|
#define FL_BUTTON(n) (0x00800000<<(n))
|
|
|
|
|
|
|
|
#ifdef __APPLE__
|
|
|
|
# define FL_COMMAND FL_META
|
|
|
|
#else
|
|
|
|
# define FL_COMMAND FL_CTRL
|
|
|
|
#endif // __APPLE__
|
|
|
|
|
|
|
|
#include <fltk/Style.h>
|
|
|
|
|
|
|
|
typedef fltk::Box* Fl_Boxtype;
|
|
|
|
|
|
|
|
// Box types. Many of the FRAME types are deleted in fltk2.0, these have
|
|
|
|
// been replaced with the equivalent BOX which draws it's inner area:
|
|
|
|
#define FL_NO_BOX fltk::NO_BOX
|
|
|
|
#define FL_FLAT_BOX fltk::FLAT_BOX
|
|
|
|
#define FL_UP_BOX fltk::UP_BOX
|
|
|
|
#define FL_DOWN_BOX fltk::DOWN_BOX
|
|
|
|
#define FL_UP_FRAME fltk::UP_BOX //
|
|
|
|
#define FL_DOWN_FRAME fltk::DOWN_BOX //
|
|
|
|
#define FL_THIN_UP_BOX fltk::THIN_UP_BOX
|
|
|
|
#define FL_THIN_DOWN_BOX fltk::THIN_DOWN_BOX
|
|
|
|
#define FL_THIN_UP_FRAME fltk::THIN_UP_BOX //
|
|
|
|
#define FL_THIN_DOWN_FRAME fltk::THIN_DOWN_BOX //
|
|
|
|
#define FL_ENGRAVED_BOX fltk::ENGRAVED_BOX
|
|
|
|
#define FL_EMBOSSED_BOX fltk::EMBOSSED_BOX
|
|
|
|
#define FL_ENGRAVED_FRAME fltk::ENGRAVED_BOX //
|
|
|
|
#define FL_EMBOSSED_FRAME fltk::EMBOSSED_BOX //
|
|
|
|
#define FL_BORDER_BOX fltk::BORDER_BOX
|
|
|
|
#define FL_SHADOW_BOX fltk::SHADOW_BOX
|
|
|
|
#define FL_BORDER_FRAME fltk::BORDER_FRAME
|
|
|
|
#define FL_SHADOW_FRAME fltk::SHADOW_BOX //
|
|
|
|
#define FL_ROUNDED_BOX fltk::ROUNDED_BOX
|
|
|
|
#define FL_RSHADOW_BOX fltk::RSHADOW_BOX
|
|
|
|
#define FL_ROUNDED_FRAME fltk::ROUNDED_BOX //
|
|
|
|
#define FL_RFLAT_BOX fltk::RFLAT_BOX
|
|
|
|
#define FL_ROUND_UP_BOX fltk::ROUND_UP_BOX
|
|
|
|
#define FL_ROUND_DOWN_BOX fltk::ROUND_DOWN_BOX
|
|
|
|
#define FL_DIAMOND_UP_BOX fltk::DIAMOND_UP_BOX
|
|
|
|
#define FL_DIAMOND_DOWN_BOX fltk::DIAMOND_DOWN_BOX
|
|
|
|
#define FL_OVAL_BOX fltk::OVAL_BOX
|
|
|
|
#define FL_OSHADOW_BOX fltk::OSHADOW_BOX
|
|
|
|
#define FL_OVAL_FRAME fltk::OVAL_BOX //
|
|
|
|
#define FL_OFLAT_BOX fltk::OFLAT_BOX
|
|
|
|
#define FL_PLASTIC_UP_BOX fltk::PLASTIC_UP_BOX
|
|
|
|
#define FL_PLASTIC_DOWN_BOX fltk::PLASTIC_DOWN_BOX
|
|
|
|
#define FL_PLASTIC_UP_FRAME fltk::PLASTIC_UP_BOX //
|
|
|
|
#define FL_PLASTIC_DOWN_FRAME fltk::PLASTIC_DOWN_BOX //
|
|
|
|
//#define FL_FREE_BOXTYPE not used in fltk 2.0
|
|
|
|
|
|
|
|
// conversions of box types to other boxtypes:
|
|
|
|
//inline Fl_Boxtype fl_down(Fl_Boxtype b) // not implemented
|
|
|
|
//inline Fl_Boxtype fl_frame(Fl_Boxtype b)
|
|
|
|
|
|
|
|
// back-compatability box types:
|
|
|
|
#define FL_FRAME FL_ENGRAVED_FRAME
|
|
|
|
#define FL_FRAME_BOX FL_ENGRAVED_BOX
|
|
|
|
#define FL_CIRCLE_BOX FL_ROUND_DOWN_BOX
|
|
|
|
#define FL_DIAMOND_BOX FL_DIAMOND_DOWN_BOX
|
|
|
|
|
|
|
|
// labeltypes:
|
|
|
|
#define FL_NO_LABEL fltk::NO_LABEL
|
|
|
|
#define FL_NORMAL_LABEL fltk::NORMAL_LABEL
|
|
|
|
#define FL_SHADOW_LABEL fltk::SHADOW_LABEL
|
|
|
|
#define FL_ENGRAVED_LABEL fltk::ENGRAVED_LABEL
|
|
|
|
#define FL_EMBOSSED_LABEL fltk::EMBOSSED_LABEL
|
|
|
|
//#define FL_FREE_LABELTYPE not used in fltk2.0
|
|
|
|
#define FL_SYMBOL_LABEL FL_NORMAL_LABEL
|
|
|
|
|
|
|
|
#define Fl_Align fltk::Flags
|
|
|
|
enum {
|
|
|
|
FL_ALIGN_CENTER = 0,
|
|
|
|
FL_ALIGN_TOP = fltk::ALIGN_TOP,
|
|
|
|
FL_ALIGN_BOTTOM = fltk::ALIGN_BOTTOM,
|
|
|
|
FL_ALIGN_LEFT = fltk::ALIGN_LEFT,
|
|
|
|
FL_ALIGN_RIGHT = fltk::ALIGN_RIGHT,
|
|
|
|
FL_ALIGN_INSIDE = fltk::ALIGN_INSIDE,
|
|
|
|
FL_ALIGN_TEXT_OVER_IMAGE = fltk::ALIGN_BOTTOM|fltk::ALIGN_INSIDE, //
|
|
|
|
FL_ALIGN_IMAGE_OVER_TEXT = 0,
|
|
|
|
FL_ALIGN_CLIP = fltk::ALIGN_CLIP,
|
|
|
|
FL_ALIGN_WRAP = fltk::ALIGN_WRAP,
|
|
|
|
FL_ALIGN_MASK = fltk::ALIGN_MASK,
|
|
|
|
FL_ALIGN_TOP_LEFT = FL_ALIGN_TOP | FL_ALIGN_LEFT,
|
|
|
|
FL_ALIGN_TOP_RIGHT = FL_ALIGN_TOP | FL_ALIGN_RIGHT,
|
|
|
|
FL_ALIGN_BOTTOM_LEFT = FL_ALIGN_BOTTOM | FL_ALIGN_LEFT,
|
|
|
|
FL_ALIGN_BOTTOM_RIGHT = FL_ALIGN_BOTTOM | FL_ALIGN_RIGHT,
|
|
|
|
FL_ALIGN_LEFT_TOP = FL_ALIGN_TOP_LEFT,
|
|
|
|
FL_ALIGN_RIGHT_TOP = FL_ALIGN_TOP_RIGHT,
|
|
|
|
FL_ALIGN_LEFT_BOTTOM = FL_ALIGN_BOTTOM_LEFT,
|
|
|
|
FL_ALIGN_RIGHT_BOTTOM = FL_ALIGN_BOTTOM_RIGHT,
|
|
|
|
FL_ALIGN_NOWRAP = 0
|
|
|
|
};
|
|
|
|
|
|
|
|
#define FL_HELVETICA fltk::HELVETICA
|
|
|
|
#define FL_HELVETICA_BOLD fltk::HELVETICA_BOLD
|
|
|
|
#define FL_HELVETICA_ITALIC fltk::HELVETICA_ITALIC
|
|
|
|
#define FL_HELVETICA_BOLD_ITALIC fltk::HELVETICA_BOLD_ITALIC
|
|
|
|
#define FL_COURIER fltk::COURIER
|
|
|
|
#define FL_COURIER_BOLD fltk::COURIER_BOLD
|
|
|
|
#define FL_COURIER_ITALIC fltk::COURIER_ITALIC
|
|
|
|
#define FL_COURIER_BOLD_ITALIC fltk::COURIER_BOLD_ITALIC
|
|
|
|
#define FL_TIMES fltk::TIMES
|
|
|
|
#define FL_TIMES_BOLD fltk::TIMES_BOLD
|
|
|
|
#define FL_TIMES_ITALIC fltk::TIMES_ITALIC
|
|
|
|
#define FL_TIMES_BOLD_ITALIC fltk::TIMES_BOLD_ITALIC
|
|
|
|
#define FL_SYMBOL fltk::SYMBOL_FONT
|
|
|
|
#define FL_SCREEN fltk::SCREEN_FONT
|
|
|
|
#define FL_SCREEN_BOLD fltk::SCREEN_BOLD_FONT
|
|
|
|
#define FL_ZAPF_DINGBATS fltk::ZAPF_DINGBATS
|
|
|
|
//#define FL_FREE_FONT
|
|
|
|
// These used to be added to the above fonts but were sometimes used alone
|
|
|
|
// because FL_HELVETICA was zero. Only using these by themselves works now:
|
|
|
|
#define FL_BOLD fltk::HELVETICA_BOLD
|
|
|
|
#define FL_ITALIC fltk::HELVETICA_ITALIC
|
|
|
|
|
|
|
|
#define FL_NORMAL_SIZE (fltk::Widget::default_style->labelsize_)
|
|
|
|
#define FL_FOREGROUND_COLOR (fltk::Widget::default_style->labelcolor_)
|
|
|
|
#define FL_BACKGROUND2_COLOR (fltk::Widget::default_style->color_)
|
|
|
|
#define FL_SELECTION_COLOR (fltk::Widget::default_style->selection_color_)
|
|
|
|
|
|
|
|
#define Fl_Color fltk::Color
|
|
|
|
enum {
|
|
|
|
FL_GRAY0 = fltk::GRAY00,
|
|
|
|
FL_DARK3 = fltk::GRAY33,
|
|
|
|
FL_DARK2 = fltk::GRAY60,
|
|
|
|
FL_DARK1 = fltk::GRAY66,
|
|
|
|
FL_GRAY = fltk::GRAY75,
|
|
|
|
FL_BACKGROUND_COLOR = fltk::GRAY75,
|
|
|
|
FL_LIGHT1 = fltk::GRAY85,
|
|
|
|
FL_LIGHT2 = fltk::GRAY90,
|
|
|
|
FL_LIGHT3 = fltk::GRAY99,
|
|
|
|
|
|
|
|
FL_BLACK = fltk::BLACK,
|
|
|
|
FL_RED = fltk::RED,
|
|
|
|
FL_GREEN = fltk::GREEN,
|
|
|
|
FL_YELLOW = fltk::YELLOW,
|
|
|
|
FL_BLUE = fltk::BLUE,
|
|
|
|
FL_MAGENTA = fltk::MAGENTA,
|
|
|
|
FL_CYAN = fltk::CYAN,
|
|
|
|
FL_DARK_RED = 72,
|
|
|
|
|
|
|
|
FL_DARK_GREEN = 60,
|
|
|
|
FL_DARK_YELLOW = 76,
|
|
|
|
FL_DARK_BLUE = 136,
|
|
|
|
FL_DARK_MAGENTA = 152,
|
|
|
|
FL_DARK_CYAN = 140,
|
|
|
|
|
|
|
|
FL_WHITE = fltk::WHITE,
|
|
|
|
|
|
|
|
FL_FREE_COLOR = 16,
|
|
|
|
FL_NUM_FREE_COLOR = 16,
|
|
|
|
FL_GRAY_RAMP = fltk::GRAY00,
|
|
|
|
FL_NUM_GRAY = 24,
|
|
|
|
FL_COLOR_CUBE = fltk::BLACK,
|
|
|
|
FL_NUM_RED = 5,
|
|
|
|
FL_NUM_GREEN = 8,
|
|
|
|
FL_NUM_BLUE = 5
|
|
|
|
};
|
|
|
|
|
|
|
|
#define fl_inactive(c) fltk::inactive(c)
|
|
|
|
#define fl_contrast(a,b) fltk::contrast(a,b)
|
|
|
|
#define fl_color_average(a,b,c) fltk::lerp(b,a,c)
|
|
|
|
#define fl_lighter(c) fltk::lerp(fltk::WHITE,c,.67f)
|
|
|
|
#define fl_darker(c) fltk::lerp(fltk::BLACK,c,.67f)
|
|
|
|
#define fl_rgb_color fltk::color
|
|
|
|
#define fl_gray_ramp(i) (fltk::GRAY00+(i))
|
|
|
|
#define fl_color_cube(r,g,b) (((b)*5+(r))*8+(g)+fltk::BLACK)
|
|
|
|
|
|
|
|
#include <fltk/Cursor.h>
|
|
|
|
#define Fl_Cursor fltk::Cursor*
|
|
|
|
#define FL_CURSOR_DEFAULT fltk::CURSOR_DEFAULT
|
|
|
|
#define FL_CURSOR_ARROW fltk::CURSOR_ARROW
|
|
|
|
#define FL_CURSOR_CROSS fltk::CURSOR_CROSS
|
|
|
|
#define FL_CURSOR_WAIT fltk::CURSOR_WAIT
|
|
|
|
#define FL_CURSOR_INSERT fltk::CURSOR_INSERT
|
|
|
|
#define FL_CURSOR_HAND fltk::CURSOR_HAND
|
|
|
|
#define FL_CURSOR_HELP fltk::CURSOR_HELP
|
|
|
|
#define FL_CURSOR_MOVE fltk::CURSOR_MOVE
|
|
|
|
#define FL_CURSOR_NS fltk::CURSOR_NS
|
|
|
|
#define FL_CURSOR_WE fltk::CURSOR_WE
|
|
|
|
#define FL_CURSOR_NWSE fltk::CURSOR_NWSE
|
|
|
|
#define FL_CURSOR_NESW fltk::CURSOR_NESW
|
|
|
|
#define FL_CURSOR_NO fltk::CURSOR_NO
|
|
|
|
#define FL_CURSOR_NONE fltk::CURSOR_NONE
|
|
|
|
#define FL_CURSOR_N fltk::CURSOR_NS
|
|
|
|
#define FL_CURSOR_NE fltk::CURSOR_NESW
|
|
|
|
#define FL_CURSOR_E fltk::CURSOR_WE
|
|
|
|
#define FL_CURSOR_SE fltk::CURSOR_NWSE
|
|
|
|
#define FL_CURSOR_S fltk::CURSOR_NS
|
|
|
|
#define FL_CURSOR_SW fltk::CURSOR_NESW
|
|
|
|
#define FL_CURSOR_W fltk::CURSOR_WE
|
|
|
|
#define FL_CURSOR_NW fltk::CURSOR_NWSE
|
|
|
|
|
|
|
|
enum { // must match values in fltk/run.h
|
|
|
|
FL_READ = 1,
|
|
|
|
FL_WRITE = 4,
|
|
|
|
FL_EXCEPT = 8
|
|
|
|
};
|
|
|
|
|
|
|
|
enum Fl_Mode { // must match values in fltk/visual.h
|
|
|
|
FL_RGB = 0,
|
|
|
|
FL_INDEX = 1,
|
|
|
|
FL_SINGLE = 0,
|
|
|
|
FL_DOUBLE = 2,
|
|
|
|
FL_ACCUM = 4,
|
|
|
|
FL_ALPHA = 8,
|
|
|
|
FL_DEPTH = 16,
|
|
|
|
FL_STENCIL = 32,
|
|
|
|
FL_RGB8 = 64,
|
|
|
|
FL_MULTISAMPLE= 128,
|
|
|
|
FL_STEREO = 256,
|
|
|
|
FL_FAKE_SINGLE = 512 // Fake single buffered windows using double-buffer
|
|
|
|
};
|
|
|
|
|
|
|
|
#include <fltk/damage.h>
|
|
|
|
enum Fl_Damage {
|
|
|
|
FL_DAMAGE_CHILD = fltk::DAMAGE_CHILD,
|
|
|
|
FL_DAMAGE_EXPOSE = fltk::DAMAGE_EXPOSE,
|
|
|
|
FL_DAMAGE_SCROLL = fltk::DAMAGE_SCROLL,
|
|
|
|
FL_DAMAGE_OVERLAY = fltk::DAMAGE_OVERLAY,
|
|
|
|
FL_DAMAGE_ALL = fltk::DAMAGE_ALL
|
|
|
|
};
|
|
|
|
|
|
|
|
// FLTK 1.0.x compatibility definitions...
|
|
|
|
# ifdef FLTK_1_0_COMPAT
|
|
|
|
# define contrast fl_contrast
|
|
|
|
# define down fl_down
|
|
|
|
# define frame fl_frame
|
|
|
|
# define inactive fl_inactive
|
|
|
|
# endif // FLTK_1_0_COMPAT
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
//
|
|
|
|
// End of "$Id: Enumerations.H 5389 2006-09-01 15:39:19Z spitzak $".
|
|
|
|
//
|