fltk 1.3.0rc3
About: FLTK (Fast Light Tool Kit) is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, and MacOS X. Release candidate.
  SfR Fresh Dox: fltk-1.3.0rc3-source.tar.gz ("inofficial" and yet experimental doxygen-generated source code documentation)  

Enumerations.H File Reference

#include "Fl_Export.H"
#include "fl_types.h"
Include dependency graph for Enumerations.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

Version Numbers

FLTK defines some constants to help the programmer to find out, for which FLTK version a program is compiled.

The following constants are defined:

#define FL_MAJOR_VERSION   1
#define FL_MINOR_VERSION   3
#define FL_PATCH_VERSION   0
#define FL_VERSION
Mouse and Keyboard Events

This and the following constants define the non-ASCII keys on the keyboard for FL_KEYBOARD and FL_SHORTCUT events.

Todo:
FL_Button and FL_key... constants could be structured better (use an enum or some doxygen grouping ?)
See also:
Fl::event_key() and Fl::get_key(int) (use ascii letters for all other keys):
#define FL_Button   0xfee8
 A mouse button; use Fl_Button + n for mouse button n.
#define FL_BackSpace   0xff08
 The backspace key.
#define FL_Tab   0xff09
 The tab key.
#define FL_Enter   0xff0d
 The enter key.
#define FL_Pause   0xff13
 The pause key.
#define FL_Scroll_Lock   0xff14
 The scroll lock key.
#define FL_Escape   0xff1b
 The escape key.
#define FL_Home   0xff50
 The home key.
#define FL_Left   0xff51
 The left arrow key.
#define FL_Up   0xff52
 The up arrow key.
#define FL_Right   0xff53
 The right arrow key.
#define FL_Down   0xff54
 The down arrow key.
#define FL_Page_Up   0xff55
 The page-up key.
#define FL_Page_Down   0xff56
 The page-down key.
#define FL_End   0xff57
 The end key.
#define FL_Print   0xff61
 The print (or print-screen) key.
#define FL_Insert   0xff63
 The insert key.
#define FL_Menu   0xff67
 The menu key.
#define FL_Help   0xff68
 The 'help' key on Mac keyboards.
#define FL_Num_Lock   0xff7f
 The num lock key.
#define FL_KP   0xff80
 One of the keypad numbers; use FL_KP + n for number n.
#define FL_KP_Enter   0xff8d
 The enter key on the keypad, same as Fl_KP+'\r'.
#define FL_KP_Last   0xffbd
 The last keypad key; use to range-check keypad.
#define FL_F   0xffbd
 One of the function keys; use FL_F + n for function key n.
#define FL_F_Last   0xffe0
 The last function key; use to range-check function keys.
#define FL_Shift_L   0xffe1
 The lefthand shift key.
#define FL_Shift_R   0xffe2
 The righthand shift key.
#define FL_Control_L   0xffe3
 The lefthand control key.
#define FL_Control_R   0xffe4
 The righthand control key.
#define FL_Caps_Lock   0xffe5
 The caps lock key.
#define FL_Meta_L   0xffe7
 The left 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_R   0xffea
 The right alt key.
#define FL_Delete   0xffff
 The delete key.
Mouse Buttons

These constants define the button numbers for FL_PUSH and FL_RELEASE events.

See also:
Fl::event_button()
#define FL_LEFT_MOUSE   1
 The left mouse button.
#define FL_MIDDLE_MOUSE   2
 The middle mouse button.
#define FL_RIGHT_MOUSE   3
 The right mouse button.
Event States

The following constants define bits in the Fl::event_state() value.

#define FL_SHIFT   0x00010000
 One of the shift keys is down.
#define FL_CAPS_LOCK   0x00020000
 The caps lock is on.
#define FL_CTRL   0x00040000
 One of the ctrl keys is down.
#define FL_ALT   0x00080000
 One of the alt keys is down.
#define FL_NUM_LOCK   0x00100000
 The num lock is on.
#define FL_META   0x00400000
 One of the meta/Windows keys is down.
#define FL_SCROLL_LOCK   0x00800000
 The scroll lock is on.
#define FL_BUTTON1   0x01000000
 Mouse button 1 is pushed.
#define FL_BUTTON2   0x02000000
 Mouse button 2 is pushed.
#define FL_BUTTON3   0x04000000
 Mouse button 3 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_KEY_MASK   0x0000ffff
 All keys are 16 bit for now.
#define FL_COMMAND   FL_CTRL
 An alias for FL_CTRL on WIN32 and X11, or FL_META on MacOS X.
#define FL_CONTROL   FL_META
 An alias for FL_META on WIN32 and X11, or FL_META on MacOS X.

Typedefs

typedef int Fl_Fontsize

Enumerations

enum  Fl_Event {
  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 = 8, FL_KEYUP = 9, FL_CLOSE = 10,
  FL_MOVE = 11, FL_SHORTCUT = 12, FL_DEACTIVATE = 13, FL_ACTIVATE = 14,
  FL_HIDE = 15, FL_SHOW = 16, FL_PASTE = 17, FL_SELECTIONCLEAR = 18,
  FL_MOUSEWHEEL = 19, FL_DND_ENTER = 20, FL_DND_DRAG = 21, FL_DND_LEAVE = 22,
  FL_DND_RELEASE = 23
}
enum  Fl_Labeltype {
  FL_NORMAL_LABEL = 0, FL_NO_LABEL, _FL_SHADOW_LABEL, _FL_ENGRAVED_LABEL,
  _FL_EMBOSSED_LABEL, _FL_MULTI_LABEL, _FL_ICON_LABEL, _FL_IMAGE_LABEL,
  FL_FREE_LABELTYPE
}
When Conditions
enum  Fl_When {
  FL_WHEN_NEVER = 0, FL_WHEN_CHANGED = 1, FL_WHEN_NOT_CHANGED = 2, 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
}

Variables

FL_EXPORT Fl_Fontsize FL_NORMAL_SIZE
 normal font size

Box Types

FLTK standard box typesThis enum defines the standard box types included with FLTK.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, leaving the interior unchanged. The blue color in Figure 1 is the area that is not drawn by the frame types.
boxtypes.png

Figure 1: FLTK standard box types

Todo:
Description of boxtypes is incomplete. See below for the defined enum Fl_Boxtype.
See also:
src/Fl_get_system_colors.cxx

#define FL_ROUND_UP_BOX   fl_define_FL_ROUND_UP_BOX()
#define FL_ROUND_DOWN_BOX   (Fl_Boxtype)(fl_define_FL_ROUND_UP_BOX()+1)
#define FL_SHADOW_BOX   fl_define_FL_SHADOW_BOX()
#define FL_SHADOW_FRAME   (Fl_Boxtype)(fl_define_FL_SHADOW_BOX()+2)
#define FL_ROUNDED_BOX   fl_define_FL_ROUNDED_BOX()
#define FL_ROUNDED_FRAME   (Fl_Boxtype)(fl_define_FL_ROUNDED_BOX()+2)
#define FL_RFLAT_BOX   fl_define_FL_RFLAT_BOX()
#define FL_RSHADOW_BOX   fl_define_FL_RSHADOW_BOX()
#define FL_DIAMOND_UP_BOX   fl_define_FL_DIAMOND_BOX()
#define FL_DIAMOND_DOWN_BOX   (Fl_Boxtype)(fl_define_FL_DIAMOND_BOX()+1)
#define FL_OVAL_BOX   fl_define_FL_OVAL_BOX()
#define FL_OSHADOW_BOX   (Fl_Boxtype)(fl_define_FL_OVAL_BOX()+1)
#define FL_OVAL_FRAME   (Fl_Boxtype)(fl_define_FL_OVAL_BOX()+2)
#define FL_OFLAT_BOX   (Fl_Boxtype)(fl_define_FL_OVAL_BOX()+3)
#define FL_PLASTIC_UP_BOX   fl_define_FL_PLASTIC_UP_BOX()
#define FL_PLASTIC_DOWN_BOX   (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+1)
#define FL_PLASTIC_UP_FRAME   (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+2)
#define FL_PLASTIC_DOWN_FRAME   (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+3)
#define FL_PLASTIC_THIN_UP_BOX   (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+4)
#define FL_PLASTIC_THIN_DOWN_BOX   (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+5)
#define FL_PLASTIC_ROUND_UP_BOX   (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+6)
#define FL_PLASTIC_ROUND_DOWN_BOX   (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+7)
#define FL_GTK_UP_BOX   fl_define_FL_GTK_UP_BOX()
#define FL_GTK_DOWN_BOX   (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+1)
#define FL_GTK_UP_FRAME   (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+2)
#define FL_GTK_DOWN_FRAME   (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+3)
#define FL_GTK_THIN_UP_BOX   (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+4)
#define FL_GTK_THIN_DOWN_BOX   (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+5)
#define FL_GTK_THIN_UP_FRAME   (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+6)
#define FL_GTK_THIN_DOWN_FRAME   (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+7)
#define FL_GTK_ROUND_UP_BOX   (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+8)
#define FL_GTK_ROUND_DOWN_BOX   (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+9)
#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
enum  Fl_Boxtype {
  FL_NO_BOX = 0, FL_FLAT_BOX, FL_UP_BOX, FL_DOWN_BOX,
  FL_UP_FRAME, FL_DOWN_FRAME, FL_THIN_UP_BOX, FL_THIN_DOWN_BOX,
  FL_THIN_UP_FRAME, FL_THIN_DOWN_FRAME, FL_ENGRAVED_BOX, FL_EMBOSSED_BOX,
  FL_ENGRAVED_FRAME, FL_EMBOSSED_FRAME, FL_BORDER_BOX, _FL_SHADOW_BOX,
  FL_BORDER_FRAME, _FL_SHADOW_FRAME, _FL_ROUNDED_BOX, _FL_RSHADOW_BOX,
  _FL_ROUNDED_FRAME, _FL_RFLAT_BOX, _FL_ROUND_UP_BOX, _FL_ROUND_DOWN_BOX,
  _FL_DIAMOND_UP_BOX, _FL_DIAMOND_DOWN_BOX, _FL_OVAL_BOX, _FL_OSHADOW_BOX,
  _FL_OVAL_FRAME, _FL_OFLAT_BOX, _FL_PLASTIC_UP_BOX, _FL_PLASTIC_DOWN_BOX,
  _FL_PLASTIC_UP_FRAME, _FL_PLASTIC_DOWN_FRAME, _FL_PLASTIC_THIN_UP_BOX, _FL_PLASTIC_THIN_DOWN_BOX,
  _FL_PLASTIC_ROUND_UP_BOX, _FL_PLASTIC_ROUND_DOWN_BOX, _FL_GTK_UP_BOX, _FL_GTK_DOWN_BOX,
  _FL_GTK_UP_FRAME, _FL_GTK_DOWN_FRAME, _FL_GTK_THIN_UP_BOX, _FL_GTK_THIN_DOWN_BOX,
  _FL_GTK_THIN_UP_FRAME, _FL_GTK_THIN_DOWN_FRAME, _FL_GTK_ROUND_UP_BOX, _FL_GTK_ROUND_DOWN_BOX,
  FL_FREE_BOXTYPE
}
FL_EXPORT Fl_Boxtype fl_define_FL_ROUND_UP_BOX ()
FL_EXPORT Fl_Boxtype fl_define_FL_SHADOW_BOX ()
FL_EXPORT Fl_Boxtype fl_define_FL_ROUNDED_BOX ()
FL_EXPORT Fl_Boxtype fl_define_FL_RFLAT_BOX ()
FL_EXPORT Fl_Boxtype fl_define_FL_RSHADOW_BOX ()
FL_EXPORT Fl_Boxtype fl_define_FL_DIAMOND_BOX ()
FL_EXPORT Fl_Boxtype fl_define_FL_OVAL_BOX ()
FL_EXPORT Fl_Boxtype fl_define_FL_PLASTIC_UP_BOX ()
FL_EXPORT Fl_Boxtype fl_define_FL_GTK_UP_BOX ()
Fl_Boxtype fl_box (Fl_Boxtype b)
Fl_Boxtype fl_down (Fl_Boxtype b)
Fl_Boxtype fl_frame (Fl_Boxtype b)

#define FL_SYMBOL_LABEL   FL_NORMAL_LABEL
#define FL_SHADOW_LABEL   fl_define_FL_SHADOW_LABEL()
#define FL_ENGRAVED_LABEL   fl_define_FL_ENGRAVED_LABEL()
#define FL_EMBOSSED_LABEL   fl_define_FL_EMBOSSED_LABEL()
Fl_Labeltype FL_EXPORT fl_define_FL_SHADOW_LABEL ()
Fl_Labeltype FL_EXPORT fl_define_FL_ENGRAVED_LABEL ()
Fl_Labeltype FL_EXPORT fl_define_FL_EMBOSSED_LABEL ()

Alignment Flags

typedef unsigned Fl_Align
const Fl_Align FL_ALIGN_CENTER = (Fl_Align)0
const Fl_Align FL_ALIGN_TOP = (Fl_Align)1
const Fl_Align FL_ALIGN_BOTTOM = (Fl_Align)2
const Fl_Align FL_ALIGN_LEFT = (Fl_Align)4
const Fl_Align FL_ALIGN_RIGHT = (Fl_Align)8
const Fl_Align FL_ALIGN_INSIDE = (Fl_Align)16
const Fl_Align FL_ALIGN_TEXT_OVER_IMAGE = (Fl_Align)0x0020
const Fl_Align FL_ALIGN_IMAGE_OVER_TEXT = (Fl_Align)0x0000
const Fl_Align FL_ALIGN_CLIP = (Fl_Align)64
const Fl_Align FL_ALIGN_WRAP = (Fl_Align)128
const Fl_Align FL_ALIGN_IMAGE_NEXT_TO_TEXT = (Fl_Align)0x0100
const Fl_Align FL_ALIGN_TEXT_NEXT_TO_IMAGE = (Fl_Align)0x0120
const Fl_Align FL_ALIGN_IMAGE_BACKDROP = (Fl_Align)0x0200
const Fl_Align FL_ALIGN_TOP_LEFT = FL_ALIGN_TOP | FL_ALIGN_LEFT
const Fl_Align FL_ALIGN_TOP_RIGHT = FL_ALIGN_TOP | FL_ALIGN_RIGHT
const Fl_Align FL_ALIGN_BOTTOM_LEFT = FL_ALIGN_BOTTOM | FL_ALIGN_LEFT
const Fl_Align FL_ALIGN_BOTTOM_RIGHT = FL_ALIGN_BOTTOM | FL_ALIGN_RIGHT
const Fl_Align FL_ALIGN_LEFT_TOP = 0x0007
const Fl_Align FL_ALIGN_RIGHT_TOP = 0x000b
const Fl_Align FL_ALIGN_LEFT_BOTTOM = 0x000d
const Fl_Align FL_ALIGN_RIGHT_BOTTOM = 0x000e
const Fl_Align FL_ALIGN_NOWRAP = (Fl_Align)0
const Fl_Align FL_ALIGN_POSITION_MASK = 0x000f
const Fl_Align FL_ALIGN_IMAGE_MASK = 0x0320

Font Numbers

typedef int Fl_Font
const Fl_Font FL_HELVETICA = 0
 Helvetica (or Arial) normal (0)
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_BOLD_ITALIC = 3
 Helvetica (or Arial) bold-oblique.
const Fl_Font FL_COURIER = 4
 Courier normal.
const Fl_Font FL_COURIER_BOLD = 5
 Courier bold.
const Fl_Font FL_COURIER_ITALIC = 6
 Courier 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_BOLD = 9
 Times roman bold.
const Fl_Font FL_TIMES_ITALIC = 10
 Times roman italic.
const Fl_Font FL_TIMES_BOLD_ITALIC = 11
 Times roman bold-italic.
const Fl_Font FL_SYMBOL = 12
 Standard symbol font.
const Fl_Font FL_SCREEN = 13
 Default monospaced screen font.
const Fl_Font FL_SCREEN_BOLD = 14
 Default monospaced bold screen font.
const Fl_Font FL_ZAPF_DINGBATS = 15
 Zapf-dingbats font.
const Fl_Font FL_FREE_FONT = 16
 first one to allocate
const Fl_Font FL_BOLD = 1
 add this to helvetica, courier, or times
const Fl_Font FL_ITALIC = 2
 add this to helvetica, courier, or times
const Fl_Font FL_BOLD_ITALIC = 3
 add this to helvetica, courier, or times

Colors

#define FL_FREE_COLOR   (Fl_Color)16
#define FL_NUM_FREE_COLOR   16
#define FL_GRAY_RAMP   (Fl_Color)32
#define FL_NUM_GRAY   24
#define FL_GRAY   FL_BACKGROUND_COLOR
#define FL_COLOR_CUBE   (Fl_Color)56
#define FL_NUM_RED   5
#define FL_NUM_GREEN   8
#define FL_NUM_BLUE   5
typedef unsigned int Fl_Color
const Fl_Color FL_FOREGROUND_COLOR = 0
 the default foreground color (0) used for labels and text
const Fl_Color FL_BACKGROUND2_COLOR = 7
 the default background color for text, list, and valuator widgets
const Fl_Color FL_INACTIVE_COLOR = 8
 the inactive foreground color
const Fl_Color FL_SELECTION_COLOR = 15
 the default selection/highlight color
const Fl_Color FL_GRAY0 = 32
const Fl_Color FL_DARK3 = 39
const Fl_Color FL_DARK2 = 45
const Fl_Color FL_DARK1 = 47
const Fl_Color FL_BACKGROUND_COLOR = 49
const Fl_Color FL_LIGHT1 = 50
const Fl_Color FL_LIGHT2 = 52
const Fl_Color FL_LIGHT3 = 54
const Fl_Color FL_BLACK = 56
const Fl_Color FL_RED = 88
const Fl_Color FL_GREEN = 63
const Fl_Color FL_YELLOW = 95
const Fl_Color FL_BLUE = 216
const Fl_Color FL_MAGENTA = 248
const Fl_Color FL_CYAN = 223
const Fl_Color FL_DARK_RED = 72
const Fl_Color FL_DARK_GREEN = 60
const Fl_Color FL_DARK_YELLOW = 76
const Fl_Color FL_DARK_BLUE = 136
const Fl_Color FL_DARK_MAGENTA = 152
const Fl_Color FL_DARK_CYAN = 140
const Fl_Color FL_WHITE = 255
FL_EXPORT Fl_Color fl_inactive (Fl_Color c)
FL_EXPORT Fl_Color fl_contrast (Fl_Color fg, Fl_Color bg)
FL_EXPORT Fl_Color fl_color_average (Fl_Color c1, Fl_Color c2, float weight)
Fl_Color fl_lighter (Fl_Color c)
Fl_Color fl_darker (Fl_Color c)
Fl_Color fl_rgb_color (uchar r, uchar g, uchar b)
Fl_Color fl_rgb_color (uchar g)
Fl_Color fl_gray_ramp (int i)
Fl_Color fl_color_cube (int r, int g, int b)

Cursors

The following constants define the mouse cursors that are available in FLTK.The double-headed arrows are bitmaps provided by FLTK on X, the others are provided by system-defined cursors.
Todo:
enum Fl_Cursor needs some more comments for values (and maybe an image), see Fl/Enumerations.H

#define FL_IMAGE_WITH_ALPHA   0x40000000
enum  Fl_Cursor {
  FL_CURSOR_DEFAULT = 0, FL_CURSOR_ARROW = 35, FL_CURSOR_CROSS = 66, FL_CURSOR_WAIT = 76,
  FL_CURSOR_INSERT = 77, FL_CURSOR_HAND = 31, FL_CURSOR_HELP = 47, FL_CURSOR_MOVE = 27,
  FL_CURSOR_NS = 78, FL_CURSOR_WE = 79, FL_CURSOR_NWSE = 80, FL_CURSOR_NESW = 81,
  FL_CURSOR_NONE = 255, FL_CURSOR_N = 70, FL_CURSOR_NE = 69, FL_CURSOR_E = 49,
  FL_CURSOR_SE = 8, FL_CURSOR_S = 9, FL_CURSOR_SW = 7, FL_CURSOR_W = 36,
  FL_CURSOR_NW = 68
}
enum  { FL_READ = 1, FL_WRITE = 4, FL_EXCEPT = 8 }
enum  Fl_Mode {
  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
}
enum  Fl_Damage {
  FL_DAMAGE_CHILD = 0x01, FL_DAMAGE_EXPOSE = 0x02, FL_DAMAGE_SCROLL = 0x04, FL_DAMAGE_OVERLAY = 0x08,
  FL_DAMAGE_USER1 = 0x10, FL_DAMAGE_USER2 = 0x20, FL_DAMAGE_ALL = 0x80
}

Detailed Description

This file contains type definitions and general enumerations.

Definition in file Enumerations.H.


Define Documentation

#define FL_Alt_L   0xffe9

The left alt key.

Definition at line 367 of file Enumerations.H.

#define FL_Alt_R   0xffea

The right alt key.

Definition at line 368 of file Enumerations.H.

#define FL_BackSpace   0xff08

The backspace key.

Definition at line 336 of file Enumerations.H.

Referenced by fl_handle(), and Shortcut_Button::handle().

#define FL_Button   0xfee8

A mouse button; use Fl_Button + n for mouse button n.

Definition at line 335 of file Enumerations.H.

Referenced by Fl::event_button(), Fl::event_key(), fl_fix_focus(), and fl_handle().

#define FL_BUTTON (   n)    (0x00800000<<(n))

Mouse button n (n > 0) is pushed.

Definition at line 413 of file Enumerations.H.

#define FL_BUTTON1   0x01000000

Mouse button 1 is pushed.

Definition at line 409 of file Enumerations.H.

Referenced by Fl::event_button1(), and fl_handle().

#define FL_BUTTON2   0x02000000

Mouse button 2 is pushed.

Definition at line 410 of file Enumerations.H.

Referenced by Fl::event_button2().

#define FL_BUTTON3   0x04000000

Mouse button 3 is pushed.

Definition at line 411 of file Enumerations.H.

Referenced by Fl::event_button3().

#define FL_BUTTONS   0x7f000000

Any mouse button is pushed.

Definition at line 412 of file Enumerations.H.

#define FL_Caps_Lock   0xffe5

The caps lock key.

Definition at line 364 of file Enumerations.H.

#define FL_CAPS_LOCK   0x00020000

The caps lock is on.

Definition at line 400 of file Enumerations.H.

Referenced by Fl::test_shortcut().

#define FL_CIRCLE_BOX   FL_ROUND_DOWN_BOX

Definition at line 570 of file Enumerations.H.

#define FL_COLOR_CUBE   (Fl_Color)56

Definition at line 798 of file Enumerations.H.

Referenced by Fl_Menu_Item::draw(), fl_color_cube(), and fl_xpixel().

#define FL_COMMAND   FL_CTRL

An alias for FL_CTRL on WIN32 and X11, or FL_META on MacOS X.

Definition at line 422 of file Enumerations.H.

Referenced by Fl::event_command(), and Fl_Text_Display::handle().

#define FL_CONTROL   FL_META

An alias for FL_META on WIN32 and X11, or FL_META on MacOS X.

Definition at line 423 of file Enumerations.H.

#define FL_Control_L   0xffe3

The lefthand control key.

Definition at line 362 of file Enumerations.H.

#define FL_Control_R   0xffe4

The righthand control key.

Definition at line 363 of file Enumerations.H.

#define FL_Delete   0xffff

The delete key.

Definition at line 369 of file Enumerations.H.

Referenced by fl_handle().

#define FL_DIAMOND_BOX   FL_DIAMOND_DOWN_BOX

Definition at line 571 of file Enumerations.H.

#define FL_DIAMOND_DOWN_BOX   (Fl_Boxtype)(fl_define_FL_DIAMOND_BOX()+1)

Definition at line 512 of file Enumerations.H.

#define FL_DIAMOND_UP_BOX   fl_define_FL_DIAMOND_BOX()

Definition at line 511 of file Enumerations.H.

#define FL_EMBOSSED_LABEL   fl_define_FL_EMBOSSED_LABEL()

Definition at line 610 of file Enumerations.H.

#define FL_ENGRAVED_LABEL   fl_define_FL_ENGRAVED_LABEL()

Definition at line 608 of file Enumerations.H.

#define FL_Enter   0xff0d
#define FL_Escape   0xff1b

The escape key.

Definition at line 341 of file Enumerations.H.

Referenced by Fl::compose(), Fl::handle(), and Fl_Window_Type::handle().

#define FL_F   0xffbd

One of the function keys; use FL_F + n for function key n.

Definition at line 358 of file Enumerations.H.

Referenced by fl_handle(), and fl_shortcut_label().

#define FL_F_Last   0xffe0

The last function key; use to range-check function keys.

Definition at line 359 of file Enumerations.H.

Referenced by fl_shortcut_label().

#define FL_FRAME   FL_ENGRAVED_FRAME

Definition at line 568 of file Enumerations.H.

#define FL_FRAME_BOX   FL_ENGRAVED_BOX

Definition at line 569 of file Enumerations.H.

#define FL_FREE_COLOR   (Fl_Color)16

Definition at line 793 of file Enumerations.H.

#define FL_GRAY_RAMP   (Fl_Color)32

Definition at line 795 of file Enumerations.H.

Referenced by Fl::background(), and fl_gray_ramp().

#define FL_GTK_DOWN_BOX   (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+1)

Definition at line 531 of file Enumerations.H.

Referenced by make_global_settings_window(), and Fl::reload_scheme().

#define FL_GTK_DOWN_FRAME   (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+3)

Definition at line 533 of file Enumerations.H.

Referenced by Fl::reload_scheme().

#define FL_GTK_ROUND_DOWN_BOX   (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+9)

Definition at line 539 of file Enumerations.H.

Referenced by Fl::reload_scheme().

#define FL_GTK_ROUND_UP_BOX   (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+8)

Definition at line 538 of file Enumerations.H.

Referenced by Fl::reload_scheme().

#define FL_GTK_THIN_DOWN_BOX   (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+5)

Definition at line 535 of file Enumerations.H.

Referenced by Fl::reload_scheme().

#define FL_GTK_THIN_DOWN_FRAME   (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+7)

Definition at line 537 of file Enumerations.H.

Referenced by Fl::reload_scheme().

#define FL_GTK_THIN_UP_BOX   (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+4)

Definition at line 534 of file Enumerations.H.

Referenced by Fl::reload_scheme().

#define FL_GTK_THIN_UP_FRAME   (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+6)

Definition at line 536 of file Enumerations.H.

Referenced by Fl::reload_scheme().

#define FL_GTK_UP_BOX   fl_define_FL_GTK_UP_BOX()

Definition at line 530 of file Enumerations.H.

Referenced by Fl::reload_scheme().

#define FL_GTK_UP_FRAME   (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+2)

Definition at line 532 of file Enumerations.H.

Referenced by Fl::reload_scheme().

#define FL_Help   0xff68

The 'help' key on Mac keyboards.

Definition at line 353 of file Enumerations.H.

#define FL_IMAGE_WITH_ALPHA   0x40000000

Definition at line 893 of file Enumerations.H.

#define FL_Insert   0xff63

The insert key.

Definition at line 351 of file Enumerations.H.

Referenced by fl_handle().

#define FL_KEY_MASK   0x0000ffff

All keys are 16 bit for now.

Definition at line 415 of file Enumerations.H.

Referenced by fl_shortcut_label(), and Fl::test_shortcut().

#define FL_KP   0xff80

One of the keypad numbers; use FL_KP + n for number n.

Definition at line 355 of file Enumerations.H.

Referenced by fl_handle(), and fl_shortcut_label().

#define FL_KP_Enter   0xff8d

The enter key on the keypad, same as Fl_KP+'\r'.

Definition at line 356 of file Enumerations.H.

Referenced by Fl::compose(), Fl_Tree::handle(), Fl_Return_Button::handle(), Fl_Group::handle(), and Fl_Browser_::handle().

#define FL_KP_Last   0xffbd

The last keypad key; use to range-check keypad.

Definition at line 357 of file Enumerations.H.

Referenced by fl_handle(), and fl_shortcut_label().

#define FL_LEFT_MOUSE   1

The left mouse button.

Definition at line 382 of file Enumerations.H.

Referenced by fl_fix_focus(), Fl_Tree::handle(), and Fl_Text_Display::handle().

#define FL_MAJOR_VERSION   1

The major release version of this FLTK library.

See also:
FL_VERSION

Definition at line 51 of file Enumerations.H.

#define FL_Menu   0xff67

The menu key.

Definition at line 352 of file Enumerations.H.

Referenced by Fl::event_key(), and fl_handle().

#define FL_Meta_L   0xffe7

The left meta/Windows key.

Definition at line 365 of file Enumerations.H.

Referenced by Fl::event_key(), and fl_handle().

#define FL_Meta_R   0xffe8

The right meta/Windows key.

Definition at line 366 of file Enumerations.H.

Referenced by Fl::event_key(), and fl_handle().

#define FL_MIDDLE_MOUSE   2

The middle mouse button.

Definition at line 383 of file Enumerations.H.

Referenced by Fl_Scrollbar::handle().

#define FL_MINOR_VERSION   3

The minor release version for this library.

FLTK remains mostly source-code compatible between minor version changes.

Definition at line 58 of file Enumerations.H.

#define FL_NUM_BLUE   5

Definition at line 801 of file Enumerations.H.

Referenced by fl_xpixel().

#define FL_NUM_FREE_COLOR   16

Definition at line 794 of file Enumerations.H.

#define FL_NUM_GRAY   24

Definition at line 796 of file Enumerations.H.

Referenced by Fl::background().

#define FL_NUM_GREEN   8

Definition at line 800 of file Enumerations.H.

Referenced by fl_color_cube(), and fl_xpixel().

#define FL_Num_Lock   0xff7f

The num lock key.

Definition at line 354 of file Enumerations.H.

#define FL_NUM_LOCK   0x00100000

The num lock is on.

Definition at line 403 of file Enumerations.H.

#define FL_NUM_RED   5

Definition at line 799 of file Enumerations.H.

Referenced by fl_color_cube(), and fl_xpixel().

#define FL_OFLAT_BOX   (Fl_Boxtype)(fl_define_FL_OVAL_BOX()+3)

Definition at line 517 of file Enumerations.H.

#define FL_OSHADOW_BOX   (Fl_Boxtype)(fl_define_FL_OVAL_BOX()+1)

Definition at line 515 of file Enumerations.H.

#define FL_OVAL_BOX   fl_define_FL_OVAL_BOX()

Definition at line 514 of file Enumerations.H.

Referenced by Fl_Dial::Fl_Dial().

#define FL_OVAL_FRAME   (Fl_Boxtype)(fl_define_FL_OVAL_BOX()+2)

Definition at line 516 of file Enumerations.H.

#define FL_Page_Down   0xff56
#define FL_Page_Up   0xff55
#define FL_PATCH_VERSION   0

The patch version for this library.

FLTK remains binary compatible between patches.

Definition at line 65 of file Enumerations.H.

#define FL_Pause   0xff13

The pause key.

Definition at line 339 of file Enumerations.H.

#define FL_PLASTIC_DOWN_BOX   (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+1)

Definition at line 521 of file Enumerations.H.

Referenced by Fl::reload_scheme().

#define FL_PLASTIC_DOWN_FRAME   (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+3)

Definition at line 523 of file Enumerations.H.

Referenced by Fl::reload_scheme().

#define FL_PLASTIC_ROUND_DOWN_BOX   (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+7)

Definition at line 527 of file Enumerations.H.

Referenced by Fl::reload_scheme().

#define FL_PLASTIC_ROUND_UP_BOX   (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+6)

Definition at line 526 of file Enumerations.H.

Referenced by Fl::reload_scheme().

#define FL_PLASTIC_THIN_DOWN_BOX   (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+5)

Definition at line 525 of file Enumerations.H.

Referenced by Fl::reload_scheme().

#define FL_PLASTIC_THIN_UP_BOX   (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+4)

Definition at line 524 of file Enumerations.H.

Referenced by Fl::reload_scheme().

#define FL_PLASTIC_UP_BOX   fl_define_FL_PLASTIC_UP_BOX()

Definition at line 520 of file Enumerations.H.

Referenced by Fl::reload_scheme().

#define FL_PLASTIC_UP_FRAME   (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+2)

Definition at line 522 of file Enumerations.H.

Referenced by Fl::reload_scheme().

#define FL_Print   0xff61

The print (or print-screen) key.

Definition at line 350 of file Enumerations.H.

#define FL_RFLAT_BOX   fl_define_FL_RFLAT_BOX()

Definition at line 507 of file Enumerations.H.

#define FL_RIGHT_MOUSE   3

The right mouse button.

Definition at line 384 of file Enumerations.H.

Referenced by fl_fix_focus().

#define FL_ROUND_DOWN_BOX   (Fl_Boxtype)(fl_define_FL_ROUND_UP_BOX()+1)
#define FL_ROUND_UP_BOX   fl_define_FL_ROUND_UP_BOX()

Definition at line 498 of file Enumerations.H.

#define FL_ROUNDED_BOX   fl_define_FL_ROUNDED_BOX()

Definition at line 504 of file Enumerations.H.

#define FL_ROUNDED_FRAME   (Fl_Boxtype)(fl_define_FL_ROUNDED_BOX()+2)

Definition at line 505 of file Enumerations.H.

#define FL_RSHADOW_BOX   fl_define_FL_RSHADOW_BOX()

Definition at line 509 of file Enumerations.H.

#define FL_SCROLL_LOCK   0x00800000

The scroll lock is on.

Definition at line 407 of file Enumerations.H.

#define FL_Scroll_Lock   0xff14

The scroll lock key.

Definition at line 340 of file Enumerations.H.

#define FL_SHADOW_BOX   fl_define_FL_SHADOW_BOX()

Definition at line 501 of file Enumerations.H.

#define FL_SHADOW_FRAME   (Fl_Boxtype)(fl_define_FL_SHADOW_BOX()+2)

Definition at line 502 of file Enumerations.H.

#define FL_SHADOW_LABEL   fl_define_FL_SHADOW_LABEL()

Definition at line 606 of file Enumerations.H.

#define FL_Shift_L   0xffe1

The lefthand shift key.

Definition at line 360 of file Enumerations.H.

#define FL_Shift_R   0xffe2

The righthand shift key.

Definition at line 361 of file Enumerations.H.

#define FL_SYMBOL_LABEL   FL_NORMAL_LABEL

Sets the current label type end return its corresponding Fl_Labeltype value.

Definition at line 604 of file Enumerations.H.

#define FL_Tab   0xff09
#define FL_VERSION
Value:
((double)FL_MAJOR_VERSION + \
                                 (double)FL_MINOR_VERSION * 0.01 + \
                                 (double)FL_PATCH_VERSION * 0.0001)

The FLTK version number as a double.

This is changed slightly from the beta versions because the old "const double" definition would not allow for conditional compilation...

FL_VERSION is a double that describes the major and minor version numbers. Version 1.1 is actually stored as 1.01 to allow for more than 9 minor releases.

The FL_MAJOR_VERSION, FL_MINOR_VERSION, and FL_PATCH_VERSION constants give the integral values for the major, minor, and patch releases respectively.

Definition at line 82 of file Enumerations.H.

Referenced by print_cb(), Fl::version(), write_code(), write_file(), and write_strings().


Typedef Documentation

typedef unsigned Fl_Align

Flags to control the label alignment. 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 inside the widget.

Flags can be or'd to achieve a combination of alignments.

Outside alignments:

             TOP_LEFT        TOP       TOP_RIGHT
     LEFT_TOP+---------------------------------+RIGHT_TOP
             |                                 |
         LEFT|                                 |RIGHT
             |                                 |
  LEFT_BOTTOM+---------------------------------+RIGHT_BOTTOM
             BOTTOM_RIGHT   BOTTOM   BOTTOM_LEFT

  Inside alignments:
             +---------------------------------+
             |TOP_LEFT       TOP      TOP_RIGHT|
             |                                 |
             |LEFT                        RIGHT|
             |                                 |
             |BOTTOM_RIGHT  BOTTOM  BOTTOM_LEFT|
             +---------------------------------+
See also:
FL_ALIGN_CENTER, etc.

Definition at line 643 of file Enumerations.H.

typedef unsigned int Fl_Color

The Fl_Color type holds an FLTK color value.

Colors are either 8-bit indexes into a virtual colormap or 24-bit RGB color values.

Color indices occupy the lower 8 bits of the value, while RGB colors occupy the upper 24 bits, for a byte organization of RGBI.

 Fl_Color => 0xrrggbbii
                | | | |
                | | | +--- index between 0 and 255
                | | +----- blue color component (8 bit)
                | +------- green component (8 bit)
                +--------- red component (8 bit)
 

A color can have either an index or an rgb value. Colors with rgb set and an index >0 are reserved for special use.

Definition at line 753 of file Enumerations.H.

typedef int Fl_Font

A font number is an index into the internal font table.

The following constants define the standard FLTK fonts:

Definition at line 694 of file Enumerations.H.

typedef int Fl_Fontsize

Size of a font in pixels. This is the approximate height of a font in pixels.

Definition at line 725 of file Enumerations.H.


Enumeration Type Documentation

anonymous enum
Enumerator:
FL_READ 
FL_WRITE 
FL_EXCEPT 

Definition at line 870 of file Enumerations.H.

enum Fl_Boxtype
Enumerator:
FL_NO_BOX 

nothing is drawn at all, this box is invisible

FL_FLAT_BOX 

a flat box

FL_UP_BOX 

see figure 1

FL_DOWN_BOX 

see figure 1

FL_UP_FRAME 

see figure 1

FL_DOWN_FRAME 

see figure 1

FL_THIN_UP_BOX 

see figure 1

FL_THIN_DOWN_BOX 

see figure 1

FL_THIN_UP_FRAME 

see figure 1

FL_THIN_DOWN_FRAME 

see figure 1

FL_ENGRAVED_BOX 

see figure 1

FL_EMBOSSED_BOX 

see figure 1

FL_ENGRAVED_FRAME 

see figure 1

FL_EMBOSSED_FRAME 

see figure 1

FL_BORDER_BOX 

see figure 1

_FL_SHADOW_BOX 

see figure 1

FL_BORDER_FRAME 

see figure 1

_FL_SHADOW_FRAME 

see figure 1

_FL_ROUNDED_BOX 

see figure 1

_FL_RSHADOW_BOX 

see figure 1

_FL_ROUNDED_FRAME 

see figure 1

_FL_RFLAT_BOX 

see figure 1

_FL_ROUND_UP_BOX 

see figure 1

_FL_ROUND_DOWN_BOX 

see figure 1

_FL_DIAMOND_UP_BOX 

see figure 1

_FL_DIAMOND_DOWN_BOX 

see figure 1

_FL_OVAL_BOX 

see figure 1

_FL_OSHADOW_BOX 

see figure 1

_FL_OVAL_FRAME 

see figure 1

_FL_OFLAT_BOX 

see figure 1

_FL_PLASTIC_UP_BOX 

plastic version of FL_UP_BOX

_FL_PLASTIC_DOWN_BOX 

plastic version of FL_DOWN_BOX

_FL_PLASTIC_UP_FRAME 

plastic version of FL_UP_FRAME

_FL_PLASTIC_DOWN_FRAME 

plastic version of FL_DOWN_FRAME

_FL_PLASTIC_THIN_UP_BOX 

plastic version of FL_THIN_UP_BOX

_FL_PLASTIC_THIN_DOWN_BOX 

plastic version of FL_THIN_DOWN_BOX

_FL_PLASTIC_ROUND_UP_BOX 

plastic version of FL_ROUND_UP_BOX

_FL_PLASTIC_ROUND_DOWN_BOX 

plastic version of FL_ROUND_DOWN_BOX

_FL_GTK_UP_BOX 

gtk+ version of FL_UP_BOX

_FL_GTK_DOWN_BOX 

gtk+ version of FL_DOWN_BOX

_FL_GTK_UP_FRAME 

gtk+ version of FL_UP_FRAME

_FL_GTK_DOWN_FRAME 

gtk+ version of FL_DOWN_RAME

_FL_GTK_THIN_UP_BOX 

gtk+ version of FL_THIN_UP_BOX

_FL_GTK_THIN_DOWN_BOX 

gtk+ version of FL_THIN_DOWN_BOX

_FL_GTK_THIN_UP_FRAME 

gtk+ version of FL_UP_FRAME

_FL_GTK_THIN_DOWN_FRAME 

gtk+ version of FL_THIN_DOWN_FRAME

_FL_GTK_ROUND_UP_BOX 

gtk+ version of FL_ROUND_UP_BOX

_FL_GTK_ROUND_DOWN_BOX 

gtk+ version of FL_ROUND_DOWN_BOX

FL_FREE_BOXTYPE 

the first free box type for creation of new box types

Definition at line 445 of file Enumerations.H.

enum Fl_Cursor
Enumerator:
FL_CURSOR_DEFAULT 
FL_CURSOR_ARROW 
FL_CURSOR_CROSS 
FL_CURSOR_WAIT 
FL_CURSOR_INSERT 
FL_CURSOR_HAND 
FL_CURSOR_HELP 
FL_CURSOR_MOVE 
FL_CURSOR_NS 
FL_CURSOR_WE 
FL_CURSOR_NWSE 
FL_CURSOR_NESW 
FL_CURSOR_NONE 
FL_CURSOR_N 
FL_CURSOR_NE 
FL_CURSOR_E 
FL_CURSOR_SE 
FL_CURSOR_S 
FL_CURSOR_SW 
FL_CURSOR_W 
FL_CURSOR_NW 

Definition at line 842 of file Enumerations.H.

enum Fl_Damage
Enumerator:
FL_DAMAGE_CHILD 
FL_DAMAGE_EXPOSE 
FL_DAMAGE_SCROLL 
FL_DAMAGE_OVERLAY 
FL_DAMAGE_USER1 
FL_DAMAGE_USER2 
FL_DAMAGE_ALL 

Definition at line 897 of file Enumerations.H.

enum Fl_Event

Every time a user moves the mouse pointer, clicks a button, or presses a key, an event is generated and sent to your application. Events can also come from other programs like the window manager.

Events are identified by the integer argument passed to the Fl_Widget::handle() virtual method. Other information about the most recent event is stored in static locations and acquired by calling the Fl::event_*() methods. This static information remains valid until the next event is read from the window system, so it is ok to look at it outside of the handle() method.

See also:
Fl::event_text(), Fl::event_key(), class Fl::
Enumerator:
FL_NO_EVENT 

No event.

FL_PUSH 

A mouse button has gone down with the mouse pointing at this widget. You can find out what button by calling Fl::event_button(). You find out the mouse position by calling Fl::event_x() and Fl::event_y().

A widget indicates that it "wants" the mouse click by returning non-zero 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. If Fl_Widget::handle() returns zero then FLTK will try sending the FL_PUSH to another widget.

FL_RELEASE 

A mouse button has been released. You can find out what button by calling Fl::event_button().

In order to receive the FL_RELEASE event, the widget must return non-zero when handling FL_PUSH.

FL_ENTER 

The mouse has been moved to point at this widget. This can be used for highlighting feedback. If a widget wants to highlight or otherwise track the mouse, it indicates this by returning non-zero from its handle() method. It then becomes the Fl::belowmouse() widget and will receive FL_MOVE and FL_LEAVE events.

FL_LEAVE 

The mouse has moved out of the widget. In order to receive the FL_LEAVE event, the widget must return non-zero when handling FL_ENTER.

FL_DRAG 

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 Fl::event_y().

In order to receive FL_DRAG events, the widget must return non-zero when handling FL_PUSH.

FL_FOCUS 

This indicates an attempt to give a widget the keyboard focus.

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. It then becomes the Fl::focus() widget and gets FL_KEYDOWN, FL_KEYUP, and FL_UNFOCUS events.

The focus will change either because the window manager changed which 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 it moved. For navigation it will be the key pressed and interaction with the window manager it will be zero.

FL_UNFOCUS 

This event is sent to the previous Fl::focus() widget when another widget gets the focus or the window loses focus.

FL_KEYDOWN 

A key was pressed or released. The key can be found in Fl::event_key(). 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() 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 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 and FL_UNFOCUS events.

If you are writing a text-editing widget you may also want to call the Fl::compose() function to translate individual keystrokes into foreign characters.

FL_KEYUP events are sent to the widget that currently has focus. This is not necessarily the same widget that received the corresponding FL_KEYDOWN event because focus may have changed between events.

FL_KEYBOARD 

Equvalent to FL_KEYDOWN.

See also:
FL_KEYDOWN
FL_KEYUP 

Key release event.

See also:
FL_KEYDOWN
FL_CLOSE 

The user clicked the close button of a window. This event is used internally only to trigger the callback of Fl_Window derived classed. The default callback closes the window calling Fl_Window::hide().

FL_MOVE 

The mouse has moved without any mouse buttons held down. This event is sent to the Fl::belowmouse() widget.

In order to receive FL_MOVE events, the widget must return non-zero when handling FL_ENTER.

FL_SHORTCUT 

If the Fl::focus() widget is zero or ignores an FL_KEYBOARD event then FLTK tries sending this event to every widget it can, until one of them returns non-zero. FL_SHORTCUT is first sent to the Fl::belowmouse() widget, then its parents and siblings, 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 any keystrokes!

You can also make "global" shortcuts by using Fl::add_handler(). A global shortcut will work no matter what windows are displayed or which one has the focus.

FL_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 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).

FL_ACTIVATE 

This widget is now active, due to Fl_Widget::activate() being called on it or one of its parents.

FL_HIDE 

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 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 parents (use Fl_Widget::visible_r() to check this).

FL_SHOW 

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. 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 to the base class Fl_Widget::handle() method!

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 of characters is in Fl::event_length().

FL_SELECTIONCLEAR 

The Fl::selection_owner() will get this event before the selection is moved to another widget. This indicates that some other widget or program has claimed the selection. Motif programs used this to clear the selection indication. Most modern programs ignore this.

FL_MOUSEWHEEL 

The user has moved the mouse wheel. The Fl::event_dx() and Fl::event_dy() methods can be used to find the amount to scroll horizontally and vertically.

FL_DND_ENTER 

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 FL_DND_DRAG, FL_DND_LEAVE and FL_DND_RELEASE events.

FL_DND_DRAG 

The mouse has been moved inside a widget while dragging data. A widget that is interested in receiving drag'n'drop data should indicate the possible drop position.

FL_DND_LEAVE 

The mouse has moved out of the widget.

FL_DND_RELEASE 

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 following FL_PASTE event.

Definition at line 103 of file Enumerations.H.

The labeltype() method sets the type of the label.

The following standard label types are included:

Todo:
The doxygen comments are incomplete, and some labeltypes are starting with an underscore. Also, there are three external functions undocumented (yet):
Enumerator:
FL_NORMAL_LABEL 

draws the text (0)

FL_NO_LABEL 

does nothing

_FL_SHADOW_LABEL 

draws a drop shadow under the text

_FL_ENGRAVED_LABEL 

draws edges as though the text is engraved

_FL_EMBOSSED_LABEL 

draws edges as thought the text is raised

_FL_MULTI_LABEL 

?

_FL_ICON_LABEL 

draws the icon associated with the text

_FL_IMAGE_LABEL 

?

FL_FREE_LABELTYPE 

first free labeltype to use for creating own labeltypes

Definition at line 587 of file Enumerations.H.

enum Fl_Mode
Enumerator:
FL_RGB 
FL_INDEX 
FL_SINGLE 
FL_DOUBLE 
FL_ACCUM 
FL_ALPHA 
FL_DEPTH 
FL_STENCIL 
FL_RGB8 
FL_MULTISAMPLE 
FL_STEREO 
FL_FAKE_SINGLE 

Definition at line 876 of file Enumerations.H.

enum Fl_When

These constants determine when a callback is performed.

See also:
Fl_Widget::when();
Todo:
doxygen comments for values are incomplete and maybe wrong or unclear
Enumerator:
FL_WHEN_NEVER 

Never call the callback.

FL_WHEN_CHANGED 

Do the callback only when the widget value changes.

FL_WHEN_NOT_CHANGED 

Do the callback whenever the user interacts with the widget.

FL_WHEN_RELEASE 

Do the callback when the button or key is released and the value changes.

FL_WHEN_RELEASE_ALWAYS 

Do the callback when the button or key is released, even if the value doesn't change.

FL_WHEN_ENTER_KEY 

Do the callback when the user presses the ENTER key and the value changes.

FL_WHEN_ENTER_KEY_ALWAYS 

Do the callback when the user presses the ENTER key, even if the value doesn't change.

FL_WHEN_ENTER_KEY_CHANGED 

?

Definition at line 307 of file Enumerations.H.


Function Documentation

Fl_Boxtype fl_box ( Fl_Boxtype  b) [inline]

Get the filled version of a frame. If no filled version of a given frame exists, the behavior of this function is undefined and some random box or frame is returned,

Definition at line 547 of file Enumerations.H.

Fl_Color fl_color_cube ( int  r,
int  g,
int  b 
) [inline]

Definition at line 827 of file Enumerations.H.

References FL_COLOR_CUBE, FL_NUM_GREEN, and FL_NUM_RED.

Referenced by fl_xpixel().

Fl_Color fl_darker ( Fl_Color  c) [inline]

Definition at line 811 of file Enumerations.H.

References f, FL_BLACK, and fl_color_average().

Referenced by Fl_Slider::draw(), and Fl_Choice::draw().

FL_EXPORT Fl_Boxtype fl_define_FL_DIAMOND_BOX ( )
Fl_Labeltype FL_EXPORT fl_define_FL_EMBOSSED_LABEL ( )

Definition at line 86 of file fl_engraved_label.cxx.

References _FL_EMBOSSED_LABEL, and Fl::set_labeltype().

Fl_Labeltype FL_EXPORT fl_define_FL_ENGRAVED_LABEL ( )

Definition at line 82 of file fl_engraved_label.cxx.

References _FL_ENGRAVED_LABEL, and Fl::set_labeltype().

FL_EXPORT Fl_Boxtype fl_define_FL_OVAL_BOX ( )
FL_EXPORT Fl_Boxtype fl_define_FL_RFLAT_BOX ( )

Definition at line 87 of file fl_rounded_box.cxx.

References _FL_RFLAT_BOX, and fl_internal_boxtype().

FL_EXPORT Fl_Boxtype fl_define_FL_ROUND_UP_BOX ( )
FL_EXPORT Fl_Boxtype fl_define_FL_ROUNDED_BOX ( )

Definition at line 81 of file fl_rounded_box.cxx.

References _FL_ROUNDED_BOX, _FL_ROUNDED_FRAME, and fl_internal_boxtype().

FL_EXPORT Fl_Boxtype fl_define_FL_RSHADOW_BOX ( )

Definition at line 92 of file fl_rounded_box.cxx.

References _FL_RSHADOW_BOX, and fl_internal_boxtype().

FL_EXPORT Fl_Boxtype fl_define_FL_SHADOW_BOX ( )

Definition at line 48 of file fl_shadow_box.cxx.

References _FL_SHADOW_BOX, _FL_SHADOW_FRAME, and fl_internal_boxtype().

Fl_Labeltype FL_EXPORT fl_define_FL_SHADOW_LABEL ( )

Definition at line 78 of file fl_engraved_label.cxx.

References _FL_SHADOW_LABEL, and Fl::set_labeltype().

Fl_Boxtype fl_down ( Fl_Boxtype  b) [inline]

Get the "pressed" or "down" version of a box. If no "down" version of a given box exists, the behavior of this function is undefined and some random box or frame is returned,

Definition at line 555 of file Enumerations.H.

References FL_UP_BOX.

Referenced by Fl_Scrollbar::draw(), Fl_Return_Button::draw(), Fl_Menu_Button::draw(), Fl_Light_Button::draw(), Fl_Counter::draw(), and Fl_Button::draw().

Fl_Boxtype fl_frame ( Fl_Boxtype  b) [inline]

Get the unfilled, frame only version of a box. If no frame version of a given box exists, the behavior of this function is undefined and some random box or frame is returned,

Definition at line 563 of file Enumerations.H.

Referenced by fl_down_frame(), fl_embossed_frame(), fl_engraved_frame(), and fl_up_frame().

Fl_Color fl_gray_ramp ( int  i) [inline]
Fl_Color fl_lighter ( Fl_Color  c) [inline]

Definition at line 809 of file Enumerations.H.

References f, fl_color_average(), and FL_WHITE.

Referenced by Fl_Slider::draw(), and Fl_Choice::draw().

Fl_Color fl_rgb_color ( uchar  r,
uchar  g,
uchar  b 
) [inline]

return 24-bit color value closest to r, g, b.

Definition at line 814 of file Enumerations.H.

References FL_BLACK.

Referenced by Fl_PostScript_Graphics_Driver::color(), Fl_Xlib_Graphics_Driver::color(), fl_color_average(), Fl_File_Icon::load_image(), and shade_color().

Fl_Color fl_rgb_color ( uchar  g) [inline]

return 24-bit color value closest to grayscale

Definition at line 820 of file Enumerations.H.

References FL_BLACK.


Variable Documentation

If the label contains an image, draw the image or deimage in the backgroup.

Definition at line 672 of file Enumerations.H.

Referenced by Fl_Widget::draw_backdrop(), and fl_draw().

const Fl_Align FL_ALIGN_IMAGE_MASK = 0x0320

Definition at line 683 of file Enumerations.H.

Referenced by align_text_image_cb().

If the label contains an image, draw the text to the right of the image.

Definition at line 668 of file Enumerations.H.

Referenced by fl_draw().

If the label contains an image, draw the text below the image.

Definition at line 662 of file Enumerations.H.

Definition at line 679 of file Enumerations.H.

Referenced by Fl_Group::draw_outside_label(), and Fl_Widget::redraw_label().

const Fl_Align FL_ALIGN_LEFT_TOP = 0x0007

Definition at line 677 of file Enumerations.H.

Referenced by Fl_Group::draw_outside_label(), and Fl_Widget::redraw_label().

Definition at line 681 of file Enumerations.H.

Definition at line 682 of file Enumerations.H.

Referenced by align_position_cb().

Definition at line 680 of file Enumerations.H.

Referenced by Fl_Group::draw_outside_label(), and Fl_Widget::redraw_label().

const Fl_Align FL_ALIGN_RIGHT_TOP = 0x000b

Definition at line 678 of file Enumerations.H.

Referenced by Fl_Group::draw_outside_label(), and Fl_Widget::redraw_label().

If the label contains an image, draw the text to the left of the image.

Definition at line 670 of file Enumerations.H.

If the label contains an image, draw the text on top of the image.

Definition at line 660 of file Enumerations.H.

Referenced by fl_draw().

Wrap text that does not fit the width of the widget.

Definition at line 666 of file Enumerations.H.

Referenced by Fl_TooltipBox::draw(), Fl_Window_Type::draw_overlay(), fl_draw(), Fl_TooltipBox::layout(), make_project_window(), and make_widget_panel().

const Fl_Color FL_BLUE = 216

Definition at line 779 of file Enumerations.H.

Referenced by Fl_File_Icon::load_system_icons(), and Fl_Widget_Type::write_color().

const Fl_Font FL_BOLD = 1

add this to helvetica, courier, or times

Definition at line 716 of file Enumerations.H.

Referenced by Fl::get_font_name(), Fl_Browser::item_draw(), Fl_Browser::item_height(), and Fl_Browser::item_width().

add this to helvetica, courier, or times

Definition at line 718 of file Enumerations.H.

Courier bold.

Definition at line 703 of file Enumerations.H.

Courier bold-italic.

Definition at line 705 of file Enumerations.H.

Courier italic.

Definition at line 704 of file Enumerations.H.

const Fl_Color FL_CYAN = 223

Definition at line 781 of file Enumerations.H.

Referenced by Fl_Widget_Type::write_color().

const Fl_Color FL_DARK1 = 47

Definition at line 767 of file Enumerations.H.

Referenced by make_about_panel(), and Fl_Widget_Type::write_color().

const Fl_Color FL_DARK_CYAN = 140

Definition at line 788 of file Enumerations.H.

Referenced by Fl_Widget_Type::write_color().

const Fl_Color FL_DARK_GREEN = 60

Definition at line 784 of file Enumerations.H.

Referenced by Fl_Widget_Type::write_color().

Definition at line 787 of file Enumerations.H.

Referenced by Fl_Widget_Type::write_color().

const Fl_Color FL_DARK_RED = 72

Definition at line 782 of file Enumerations.H.

Referenced by Fl_Widget_Type::write_color().

Definition at line 785 of file Enumerations.H.

Referenced by Fl_Widget_Type::write_color().

const Fl_Font FL_FREE_FONT = 16

first one to allocate

Definition at line 715 of file Enumerations.H.

Referenced by fl_free_fonts(), Fl_PostScript_Graphics_Driver::font(), Fl::set_font(), and Fl::set_fonts().

const Fl_Color FL_GRAY0 = 32

Definition at line 764 of file Enumerations.H.

Referenced by Fl_Widget_Type::write_color().

Helvetica (or Arial) bold.

Definition at line 699 of file Enumerations.H.

Helvetica (or Arial) bold-oblique.

Definition at line 701 of file Enumerations.H.

Referenced by Fl_Color_Chooser::Fl_Color_Chooser().

Helvetica (or Arial) oblique.

Definition at line 700 of file Enumerations.H.

const Fl_Font FL_ITALIC = 2

add this to helvetica, courier, or times

Definition at line 717 of file Enumerations.H.

Referenced by Fl::get_font_name(), Fl_Browser::item_draw(), Fl_Browser::item_height(), and Fl_Browser::item_width().

const Fl_Color FL_LIGHT2 = 52

Definition at line 770 of file Enumerations.H.

Referenced by Fl_Roller::draw(), and Fl_Widget_Type::write_color().

const Fl_Color FL_MAGENTA = 248

Definition at line 780 of file Enumerations.H.

Referenced by Fl_Widget_Type::write_color().

const Fl_Font FL_SCREEN = 13

Default monospaced screen font.

Definition at line 711 of file Enumerations.H.

const Fl_Font FL_SCREEN_BOLD = 14

Default monospaced bold screen font.

Definition at line 712 of file Enumerations.H.

const Fl_Font FL_SYMBOL = 12

Standard symbol font.

Definition at line 710 of file Enumerations.H.

const Fl_Font FL_TIMES = 8

Times roman.

Definition at line 706 of file Enumerations.H.

Referenced by Fl_Help_View::Fl_Help_View().

Times roman bold.

Definition at line 707 of file Enumerations.H.

Times roman bold-italic.

Definition at line 709 of file Enumerations.H.

Times roman italic.

Definition at line 708 of file Enumerations.H.

Zapf-dingbats font.

Definition at line 713 of file Enumerations.H.