FLTK 1.3.0
|
00001 // 00002 // "$Id$" 00003 // 00004 // Enumerations for the Fast Light Tool Kit (FLTK). 00005 // 00006 // Copyright 1998-2012 by Bill Spitzak and others. 00007 // 00008 // This library is free software. Distribution and use rights are outlined in 00009 // the file "COPYING" which should have been included with this file. If this 00010 // file is missing or damaged, see the license at: 00011 // 00012 // http://www.fltk.org/COPYING.php 00013 // 00014 // Please report all bugs and problems on the following page: 00015 // 00016 // http://www.fltk.org/str.php 00017 // 00018 00023 #ifndef Fl_Enumerations_H 00024 #define Fl_Enumerations_H 00025 00026 /* Uncomment the following FLTK_ABI_VERSION line to enable ABI breaking fixes 00027 * in the current patch release of FLTK. ** Use for static builds only! ** 00028 * For more info on this macro, see: http://fltk.org/cmp.php#FLTK_ABI_VERSION 00029 */ 00030 //#define FLTK_ABI_VERSION 10302 00031 00032 # include "Fl_Export.H" 00033 # include "fl_types.h" 00034 00043 00048 #define FL_MAJOR_VERSION 1 00049 00055 #define FL_MINOR_VERSION 3 00056 00062 #define FL_PATCH_VERSION 0 00063 00075 #define FL_VERSION ((double)FL_MAJOR_VERSION + \ 00076 (double)FL_MINOR_VERSION * 0.01 + \ 00077 (double)FL_PATCH_VERSION * 0.0001) 00078 // group: Version Numbers 00080 00096 enum Fl_Event { // events 00098 FL_NO_EVENT = 0, 00099 00111 FL_PUSH = 1, 00112 00119 FL_RELEASE = 2, 00120 00128 FL_ENTER = 3, 00129 00134 FL_LEAVE = 4, 00135 00143 FL_DRAG = 5, 00144 00158 FL_FOCUS = 6, 00159 00163 FL_UNFOCUS = 7, 00164 00185 FL_KEYDOWN = 8, 00186 00190 FL_KEYBOARD = 8, 00191 00195 FL_KEYUP = 9, 00196 00202 FL_CLOSE = 10, 00203 00210 FL_MOVE = 11, 00211 00224 FL_SHORTCUT = 12, 00225 00231 FL_DEACTIVATE = 13, 00232 00236 FL_ACTIVATE = 14, 00237 00244 FL_HIDE = 15, 00245 00252 FL_SHOW = 16, 00253 00258 FL_PASTE = 17, 00259 00265 FL_SELECTIONCLEAR = 18, 00266 00270 FL_MOUSEWHEEL = 19, 00271 00276 FL_DND_ENTER = 20, 00277 00282 FL_DND_DRAG = 21, 00283 00286 FL_DND_LEAVE = 22, 00287 00292 FL_DND_RELEASE = 23, 00296 FL_SCREEN_CONFIGURATION_CHANGED = 24, 00299 FL_FULLSCREEN = 25 00300 }; 00301 00309 enum Fl_When { // Fl_Widget::when(): 00310 FL_WHEN_NEVER = 0, 00311 FL_WHEN_CHANGED = 1, 00312 FL_WHEN_NOT_CHANGED = 2, 00313 FL_WHEN_RELEASE = 4, 00314 FL_WHEN_RELEASE_ALWAYS= 6, 00315 FL_WHEN_ENTER_KEY = 8, 00316 FL_WHEN_ENTER_KEY_ALWAYS=10, 00317 FL_WHEN_ENTER_KEY_CHANGED=11 00318 }; 00319 // group: When Conditions 00321 00334 00335 // FIXME: These codes collide with valid Unicode keys 00336 00337 #define FL_Button 0xfee8 ///< A mouse button; use Fl_Button + n for mouse button n. 00338 #define FL_BackSpace 0xff08 ///< The backspace key. 00339 #define FL_Tab 0xff09 ///< The tab key. 00340 #define FL_Iso_Key 0xff0c ///< The additional key of ISO keyboards. 00341 #define FL_Enter 0xff0d ///< The enter key. 00342 #define FL_Pause 0xff13 ///< The pause key. 00343 #define FL_Scroll_Lock 0xff14 ///< The scroll lock key. 00344 #define FL_Escape 0xff1b ///< The escape key. 00345 #define FL_Home 0xff50 ///< The home key. 00346 #define FL_Left 0xff51 ///< The left arrow key. 00347 #define FL_Up 0xff52 ///< The up arrow key. 00348 #define FL_Right 0xff53 ///< The right arrow key. 00349 #define FL_Down 0xff54 ///< The down arrow key. 00350 #define FL_Page_Up 0xff55 ///< The page-up key. 00351 #define FL_Page_Down 0xff56 ///< The page-down key. 00352 #define FL_End 0xff57 ///< The end key. 00353 #define FL_Print 0xff61 ///< The print (or print-screen) key. 00354 #define FL_Insert 0xff63 ///< The insert key. 00355 #define FL_Menu 0xff67 ///< The menu key. 00356 #define FL_Help 0xff68 ///< The 'help' key on Mac keyboards 00357 #define FL_Num_Lock 0xff7f ///< The num lock key. 00358 #define FL_KP 0xff80 ///< One of the keypad numbers; use FL_KP + n for number n. 00359 #define FL_KP_Enter 0xff8d ///< The enter key on the keypad, same as Fl_KP+'\\r'. 00360 #define FL_KP_Last 0xffbd ///< The last keypad key; use to range-check keypad. 00361 #define FL_F 0xffbd ///< One of the function keys; use FL_F + n for function key n. 00362 #define FL_F_Last 0xffe0 ///< The last function key; use to range-check function keys. 00363 #define FL_Shift_L 0xffe1 ///< The lefthand shift key. 00364 #define FL_Shift_R 0xffe2 ///< The righthand shift key. 00365 #define FL_Control_L 0xffe3 ///< The lefthand control key. 00366 #define FL_Control_R 0xffe4 ///< The righthand control key. 00367 #define FL_Caps_Lock 0xffe5 ///< The caps lock key. 00368 #define FL_Meta_L 0xffe7 ///< The left meta/Windows key. 00369 #define FL_Meta_R 0xffe8 ///< The right meta/Windows key. 00370 #define FL_Alt_L 0xffe9 ///< The left alt key. 00371 #define FL_Alt_R 0xffea ///< The right alt key. 00372 #define FL_Delete 0xffff ///< The delete key. 00373 00374 // These use the Private Use Area (PUA) of the Basic Multilingual Plane 00375 // of Unicode. Guaranteed not to conflict with a proper Unicode character. 00376 00377 // These primarily map to the XFree86 keysym range 00378 #define FL_Volume_Down 0xEF11 /* Volume control down */ 00379 #define FL_Volume_Mute 0xEF12 /* Mute sound from the system */ 00380 #define FL_Volume_Up 0xEF13 /* Volume control up */ 00381 #define FL_Media_Play 0xEF14 /* Start playing of audio */ 00382 #define FL_Media_Stop 0xEF15 /* Stop playing audio */ 00383 #define FL_Media_Prev 0xEF16 /* Previous track */ 00384 #define FL_Media_Next 0xEF17 /* Next track */ 00385 #define FL_Home_Page 0xEF18 /* Display user's home page */ 00386 #define FL_Mail 0xEF19 /* Invoke user's mail program */ 00387 #define FL_Search 0xEF1B /* Search */ 00388 #define FL_Back 0xEF26 /* Like back on a browser */ 00389 #define FL_Forward 0xEF27 /* Like forward on a browser */ 00390 #define FL_Stop 0xEF28 /* Stop current operation */ 00391 #define FL_Refresh 0xEF29 /* Refresh the page */ 00392 #define FL_Sleep 0xEF2F /* Put system to sleep */ 00393 #define FL_Favorites 0xEF30 /* Show favorite locations */ 00394 // group: Mouse and Keyboard Events 00396 00405 00406 #define FL_LEFT_MOUSE 1 ///< The left mouse button 00407 #define FL_MIDDLE_MOUSE 2 ///< The middle mouse button 00408 #define FL_RIGHT_MOUSE 3 ///< The right mouse button 00409 // group: Mouse Buttons 00411 00412 00418 // group: Event States 00419 00420 // FIXME: it would be nice to have the modifiers in the upper 8 bit so that 00421 // a unicode ke (24bit) can be sent as an unsigned with the modifiers. 00422 00423 #define FL_SHIFT 0x00010000 ///< One of the shift keys is down 00424 #define FL_CAPS_LOCK 0x00020000 ///< The caps lock is on 00425 #define FL_CTRL 0x00040000 ///< One of the ctrl keys is down 00426 #define FL_ALT 0x00080000 ///< One of the alt keys is down 00427 #define FL_NUM_LOCK 0x00100000 ///< The num lock is on 00428 // most X servers do this? 00429 #define FL_META 0x00400000 ///< One of the meta/Windows keys is down 00430 // correct for XFree86 00431 #define FL_SCROLL_LOCK 0x00800000 ///< The scroll lock is on 00432 // correct for XFree86 00433 #define FL_BUTTON1 0x01000000 ///< Mouse button 1 is pushed 00434 #define FL_BUTTON2 0x02000000 ///< Mouse button 2 is pushed 00435 #define FL_BUTTON3 0x04000000 ///< Mouse button 3 is pushed 00436 #define FL_BUTTONS 0x7f000000 ///< Any mouse button is pushed 00437 #define FL_BUTTON(n) (0x00800000<<(n)) ///< Mouse button n (n > 0) is pushed 00438 00439 #define FL_KEY_MASK 0x0000ffff ///< All keys are 16 bit for now 00440 // FIXME: Unicode needs 24 bits! 00441 00442 #ifdef __APPLE__ 00443 # define FL_COMMAND FL_META ///< An alias for FL_CTRL on WIN32 and X11, or FL_META on MacOS X 00444 # define FL_CONTROL FL_CTRL ///< An alias for FL_META on WIN32 and X11, or FL_CTRL on MacOS X 00445 #else 00446 # define FL_COMMAND FL_CTRL ///< An alias for FL_CTRL on WIN32 and X11, or FL_META on MacOS X 00447 # define FL_CONTROL FL_META ///< An alias for FL_META on WIN32 and X11, or FL_CTRL on MacOS X 00448 #endif // __APPLE__ 00449 // group: Event States 00451 00469 enum Fl_Boxtype { // boxtypes (if you change these you must fix fl_boxtype.C): 00470 00471 FL_NO_BOX = 0, 00472 FL_FLAT_BOX, 00473 FL_UP_BOX, 00474 FL_DOWN_BOX, 00475 FL_UP_FRAME, 00476 FL_DOWN_FRAME, 00477 FL_THIN_UP_BOX, 00478 FL_THIN_DOWN_BOX, 00479 FL_THIN_UP_FRAME, 00480 FL_THIN_DOWN_FRAME, 00481 FL_ENGRAVED_BOX, 00482 FL_EMBOSSED_BOX, 00483 FL_ENGRAVED_FRAME, 00484 FL_EMBOSSED_FRAME, 00485 FL_BORDER_BOX, 00486 _FL_SHADOW_BOX, 00487 FL_BORDER_FRAME, 00488 _FL_SHADOW_FRAME, 00489 _FL_ROUNDED_BOX, 00490 _FL_RSHADOW_BOX, 00491 _FL_ROUNDED_FRAME, 00492 _FL_RFLAT_BOX, 00493 _FL_ROUND_UP_BOX, 00494 _FL_ROUND_DOWN_BOX, 00495 _FL_DIAMOND_UP_BOX, 00496 _FL_DIAMOND_DOWN_BOX, 00497 _FL_OVAL_BOX, 00498 _FL_OSHADOW_BOX, 00499 _FL_OVAL_FRAME, 00500 _FL_OFLAT_BOX, 00501 _FL_PLASTIC_UP_BOX, 00502 _FL_PLASTIC_DOWN_BOX, 00503 _FL_PLASTIC_UP_FRAME, 00504 _FL_PLASTIC_DOWN_FRAME, 00505 _FL_PLASTIC_THIN_UP_BOX, 00506 _FL_PLASTIC_THIN_DOWN_BOX, 00507 _FL_PLASTIC_ROUND_UP_BOX, 00508 _FL_PLASTIC_ROUND_DOWN_BOX, 00509 _FL_GTK_UP_BOX, 00510 _FL_GTK_DOWN_BOX, 00511 _FL_GTK_UP_FRAME, 00512 _FL_GTK_DOWN_FRAME, 00513 _FL_GTK_THIN_UP_BOX, 00514 _FL_GTK_THIN_DOWN_BOX, 00515 _FL_GTK_THIN_UP_FRAME, 00516 _FL_GTK_THIN_DOWN_FRAME, 00517 _FL_GTK_ROUND_UP_BOX, 00518 _FL_GTK_ROUND_DOWN_BOX, 00519 FL_FREE_BOXTYPE 00520 }; 00521 extern FL_EXPORT Fl_Boxtype fl_define_FL_ROUND_UP_BOX(); 00522 #define FL_ROUND_UP_BOX fl_define_FL_ROUND_UP_BOX() 00523 #define FL_ROUND_DOWN_BOX (Fl_Boxtype)(fl_define_FL_ROUND_UP_BOX()+1) 00524 extern FL_EXPORT Fl_Boxtype fl_define_FL_SHADOW_BOX(); 00525 #define FL_SHADOW_BOX fl_define_FL_SHADOW_BOX() 00526 #define FL_SHADOW_FRAME (Fl_Boxtype)(fl_define_FL_SHADOW_BOX()+2) 00527 extern FL_EXPORT Fl_Boxtype fl_define_FL_ROUNDED_BOX(); 00528 #define FL_ROUNDED_BOX fl_define_FL_ROUNDED_BOX() 00529 #define FL_ROUNDED_FRAME (Fl_Boxtype)(fl_define_FL_ROUNDED_BOX()+2) 00530 extern FL_EXPORT Fl_Boxtype fl_define_FL_RFLAT_BOX(); 00531 #define FL_RFLAT_BOX fl_define_FL_RFLAT_BOX() 00532 extern FL_EXPORT Fl_Boxtype fl_define_FL_RSHADOW_BOX(); 00533 #define FL_RSHADOW_BOX fl_define_FL_RSHADOW_BOX() 00534 extern FL_EXPORT Fl_Boxtype fl_define_FL_DIAMOND_BOX(); 00535 #define FL_DIAMOND_UP_BOX fl_define_FL_DIAMOND_BOX() 00536 #define FL_DIAMOND_DOWN_BOX (Fl_Boxtype)(fl_define_FL_DIAMOND_BOX()+1) 00537 extern FL_EXPORT Fl_Boxtype fl_define_FL_OVAL_BOX(); 00538 #define FL_OVAL_BOX fl_define_FL_OVAL_BOX() 00539 #define FL_OSHADOW_BOX (Fl_Boxtype)(fl_define_FL_OVAL_BOX()+1) 00540 #define FL_OVAL_FRAME (Fl_Boxtype)(fl_define_FL_OVAL_BOX()+2) 00541 #define FL_OFLAT_BOX (Fl_Boxtype)(fl_define_FL_OVAL_BOX()+3) 00542 00543 extern FL_EXPORT Fl_Boxtype fl_define_FL_PLASTIC_UP_BOX(); 00544 #define FL_PLASTIC_UP_BOX fl_define_FL_PLASTIC_UP_BOX() 00545 #define FL_PLASTIC_DOWN_BOX (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+1) 00546 #define FL_PLASTIC_UP_FRAME (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+2) 00547 #define FL_PLASTIC_DOWN_FRAME (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+3) 00548 #define FL_PLASTIC_THIN_UP_BOX (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+4) 00549 #define FL_PLASTIC_THIN_DOWN_BOX (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+5) 00550 #define FL_PLASTIC_ROUND_UP_BOX (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+6) 00551 #define FL_PLASTIC_ROUND_DOWN_BOX (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+7) 00552 00553 extern FL_EXPORT Fl_Boxtype fl_define_FL_GTK_UP_BOX(); 00554 #define FL_GTK_UP_BOX fl_define_FL_GTK_UP_BOX() 00555 #define FL_GTK_DOWN_BOX (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+1) 00556 #define FL_GTK_UP_FRAME (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+2) 00557 #define FL_GTK_DOWN_FRAME (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+3) 00558 #define FL_GTK_THIN_UP_BOX (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+4) 00559 #define FL_GTK_THIN_DOWN_BOX (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+5) 00560 #define FL_GTK_THIN_UP_FRAME (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+6) 00561 #define FL_GTK_THIN_DOWN_FRAME (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+7) 00562 #define FL_GTK_ROUND_UP_BOX (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+8) 00563 #define FL_GTK_ROUND_DOWN_BOX (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+9) 00564 00565 // conversions of box types to other boxtypes: 00571 inline Fl_Boxtype fl_box(Fl_Boxtype b) { 00572 return (Fl_Boxtype)((b<FL_UP_BOX||b%4>1)?b:(b-2)); 00573 } 00579 inline Fl_Boxtype fl_down(Fl_Boxtype b) { 00580 return (Fl_Boxtype)((b<FL_UP_BOX)?b:(b|1)); 00581 } 00587 inline Fl_Boxtype fl_frame(Fl_Boxtype b) { 00588 return (Fl_Boxtype)((b%4<2)?b:(b+2)); 00589 } 00590 00591 // back-compatibility box types: 00592 #define FL_FRAME FL_ENGRAVED_FRAME 00593 #define FL_FRAME_BOX FL_ENGRAVED_BOX 00594 #define FL_CIRCLE_BOX FL_ROUND_DOWN_BOX 00595 #define FL_DIAMOND_BOX FL_DIAMOND_DOWN_BOX 00596 // group: Box Types 00598 00611 enum Fl_Labeltype { // labeltypes: 00612 FL_NORMAL_LABEL = 0, 00613 FL_NO_LABEL, 00614 _FL_SHADOW_LABEL, 00615 _FL_ENGRAVED_LABEL, 00616 _FL_EMBOSSED_LABEL, 00617 _FL_MULTI_LABEL, 00618 _FL_ICON_LABEL, 00619 _FL_IMAGE_LABEL, 00620 00621 FL_FREE_LABELTYPE 00622 }; 00623 00628 #define FL_SYMBOL_LABEL FL_NORMAL_LABEL 00629 extern Fl_Labeltype FL_EXPORT fl_define_FL_SHADOW_LABEL(); 00630 #define FL_SHADOW_LABEL fl_define_FL_SHADOW_LABEL() 00631 extern Fl_Labeltype FL_EXPORT fl_define_FL_ENGRAVED_LABEL(); 00632 #define FL_ENGRAVED_LABEL fl_define_FL_ENGRAVED_LABEL() 00633 extern Fl_Labeltype FL_EXPORT fl_define_FL_EMBOSSED_LABEL(); 00634 #define FL_EMBOSSED_LABEL fl_define_FL_EMBOSSED_LABEL() 00635 00668 typedef unsigned Fl_Align; 00670 const Fl_Align FL_ALIGN_CENTER = (Fl_Align)0; 00673 const Fl_Align FL_ALIGN_TOP = (Fl_Align)1; 00675 const Fl_Align FL_ALIGN_BOTTOM = (Fl_Align)2; 00679 const Fl_Align FL_ALIGN_LEFT = (Fl_Align)4; 00681 const Fl_Align FL_ALIGN_RIGHT = (Fl_Align)8; 00683 const Fl_Align FL_ALIGN_INSIDE = (Fl_Align)16; 00685 const Fl_Align FL_ALIGN_TEXT_OVER_IMAGE = (Fl_Align)0x0020; 00687 const Fl_Align FL_ALIGN_IMAGE_OVER_TEXT = (Fl_Align)0x0000; 00689 const Fl_Align FL_ALIGN_CLIP = (Fl_Align)64; 00691 const Fl_Align FL_ALIGN_WRAP = (Fl_Align)128; 00693 const Fl_Align FL_ALIGN_IMAGE_NEXT_TO_TEXT = (Fl_Align)0x0100; 00695 const Fl_Align FL_ALIGN_TEXT_NEXT_TO_IMAGE = (Fl_Align)0x0120; 00697 const Fl_Align FL_ALIGN_IMAGE_BACKDROP = (Fl_Align)0x0200; 00698 const Fl_Align FL_ALIGN_TOP_LEFT = FL_ALIGN_TOP | FL_ALIGN_LEFT; 00699 const Fl_Align FL_ALIGN_TOP_RIGHT = FL_ALIGN_TOP | FL_ALIGN_RIGHT; 00700 const Fl_Align FL_ALIGN_BOTTOM_LEFT = FL_ALIGN_BOTTOM | FL_ALIGN_LEFT; 00701 const Fl_Align FL_ALIGN_BOTTOM_RIGHT = FL_ALIGN_BOTTOM | FL_ALIGN_RIGHT; 00702 const Fl_Align FL_ALIGN_LEFT_TOP = 0x0007; // magic value 00703 const Fl_Align FL_ALIGN_RIGHT_TOP = 0x000b; // magic value 00704 const Fl_Align FL_ALIGN_LEFT_BOTTOM = 0x000d; // magic value 00705 const Fl_Align FL_ALIGN_RIGHT_BOTTOM = 0x000e; // magic value 00706 const Fl_Align FL_ALIGN_NOWRAP = (Fl_Align)0; // for back compatibility 00707 const Fl_Align FL_ALIGN_POSITION_MASK = 0x000f; // left, right, top, bottom 00708 const Fl_Align FL_ALIGN_IMAGE_MASK = 0x0320; // l/r, t/b, backdrop 00717 typedef int Fl_Font; 00718 00719 const Fl_Font FL_HELVETICA = 0; 00720 const Fl_Font FL_HELVETICA_BOLD = 1; 00721 const Fl_Font FL_HELVETICA_ITALIC = 2; 00722 const Fl_Font FL_HELVETICA_BOLD_ITALIC = 3; 00723 const Fl_Font FL_COURIER = 4; 00724 const Fl_Font FL_COURIER_BOLD = 5; 00725 const Fl_Font FL_COURIER_ITALIC = 6; 00726 const Fl_Font FL_COURIER_BOLD_ITALIC = 7; 00727 const Fl_Font FL_TIMES = 8; 00728 const Fl_Font FL_TIMES_BOLD = 9; 00729 const Fl_Font FL_TIMES_ITALIC = 10; 00730 const Fl_Font FL_TIMES_BOLD_ITALIC = 11; 00731 const Fl_Font FL_SYMBOL = 12; 00732 const Fl_Font FL_SCREEN = 13; 00733 const Fl_Font FL_SCREEN_BOLD = 14; 00734 const Fl_Font FL_ZAPF_DINGBATS = 15; 00735 00736 const Fl_Font FL_FREE_FONT = 16; 00737 const Fl_Font FL_BOLD = 1; 00738 const Fl_Font FL_ITALIC = 2; 00739 const Fl_Font FL_BOLD_ITALIC = 3; 00740 00746 typedef int Fl_Fontsize; 00747 00748 extern FL_EXPORT Fl_Fontsize FL_NORMAL_SIZE; 00749 00774 typedef unsigned int Fl_Color; 00775 00776 // Standard colors. These are used as default colors in widgets and altered as necessary 00777 const Fl_Color FL_FOREGROUND_COLOR = 0; 00778 const Fl_Color FL_BACKGROUND2_COLOR = 7; 00779 const Fl_Color FL_INACTIVE_COLOR = 8; 00780 const Fl_Color FL_SELECTION_COLOR = 15; 00781 00782 // boxtypes generally limit themselves to these colors so 00783 // the whole ramp is not allocated: 00784 00785 const Fl_Color FL_GRAY0 = 32; // 'A' 00786 const Fl_Color FL_DARK3 = 39; // 'H' 00787 const Fl_Color FL_DARK2 = 45; // 'N' 00788 const Fl_Color FL_DARK1 = 47; // 'P' 00789 const Fl_Color FL_BACKGROUND_COLOR = 49; // 'R' default background color 00790 const Fl_Color FL_LIGHT1 = 50; // 'S' 00791 const Fl_Color FL_LIGHT2 = 52; // 'U' 00792 const Fl_Color FL_LIGHT3 = 54; // 'W' 00793 00794 // FLTK provides a 5x8x5 color cube that is used with colormap visuals 00795 00796 const Fl_Color FL_BLACK = 56; 00797 const Fl_Color FL_RED = 88; 00798 const Fl_Color FL_GREEN = 63; 00799 const Fl_Color FL_YELLOW = 95; 00800 const Fl_Color FL_BLUE = 216; 00801 const Fl_Color FL_MAGENTA = 248; 00802 const Fl_Color FL_CYAN = 223; 00803 const Fl_Color FL_DARK_RED = 72; 00804 00805 const Fl_Color FL_DARK_GREEN = 60; 00806 const Fl_Color FL_DARK_YELLOW = 76; 00807 const Fl_Color FL_DARK_BLUE = 136; 00808 const Fl_Color FL_DARK_MAGENTA = 152; 00809 const Fl_Color FL_DARK_CYAN = 140; 00810 00811 const Fl_Color FL_WHITE = 255; 00812 00813 00814 #define FL_FREE_COLOR (Fl_Color)16 00815 #define FL_NUM_FREE_COLOR 16 00816 #define FL_GRAY_RAMP (Fl_Color)32 00817 #define FL_NUM_GRAY 24 00818 #define FL_GRAY FL_BACKGROUND_COLOR 00819 #define FL_COLOR_CUBE (Fl_Color)56 00820 #define FL_NUM_RED 5 00821 #define FL_NUM_GREEN 8 00822 #define FL_NUM_BLUE 5 00823 00824 FL_EXPORT Fl_Color fl_inactive(Fl_Color c); 00825 00826 FL_EXPORT Fl_Color fl_contrast(Fl_Color fg, Fl_Color bg); 00827 00828 FL_EXPORT Fl_Color fl_color_average(Fl_Color c1, Fl_Color c2, float weight); 00829 00831 inline Fl_Color fl_lighter(Fl_Color c) { return fl_color_average(c, FL_WHITE, .67f); } 00832 00834 inline Fl_Color fl_darker(Fl_Color c) { return fl_color_average(c, FL_BLACK, .67f); } 00835 00837 inline Fl_Color fl_rgb_color(uchar r, uchar g, uchar b) { 00838 if (!r && !g && !b) return FL_BLACK; 00839 else return (Fl_Color)(((((r << 8) | g) << 8) | b) << 8); 00840 } 00841 00843 inline Fl_Color fl_rgb_color(uchar g) { 00844 if (!g) return FL_BLACK; 00845 else return (Fl_Color)(((((g << 8) | g) << 8) | g) << 8); 00846 } 00847 00856 inline Fl_Color fl_gray_ramp(int i) {return (Fl_Color)(i+FL_GRAY_RAMP);} 00857 00872 inline Fl_Color fl_color_cube(int r, int g, int b) { 00873 return (Fl_Color)((b*FL_NUM_RED + r) * FL_NUM_GREEN + g + FL_COLOR_CUBE);} 00874 // group: Colors 00876 00879 00887 enum Fl_Cursor { 00888 FL_CURSOR_DEFAULT = 0, 00889 FL_CURSOR_ARROW = 35, 00890 FL_CURSOR_CROSS = 66, 00891 FL_CURSOR_WAIT = 76, 00892 FL_CURSOR_INSERT = 77, 00893 FL_CURSOR_HAND = 31, 00894 FL_CURSOR_HELP = 47, 00895 FL_CURSOR_MOVE = 27, 00896 // fltk provides bitmaps for these: 00897 FL_CURSOR_NS = 78, 00898 FL_CURSOR_WE = 79, 00899 FL_CURSOR_NWSE = 80, 00900 FL_CURSOR_NESW = 81, 00901 FL_CURSOR_NONE =255, 00902 // for back compatibility (non MSWindows ones): 00903 FL_CURSOR_N = 70, 00904 FL_CURSOR_NE = 69, 00905 FL_CURSOR_E = 49, 00906 FL_CURSOR_SE = 8, 00907 FL_CURSOR_S = 9, 00908 FL_CURSOR_SW = 7, 00909 FL_CURSOR_W = 36, 00910 FL_CURSOR_NW = 68 00911 }; // group: Cursors 00913 00915 enum { // values for "when" passed to Fl::add_fd() 00916 FL_READ = 1, 00917 FL_WRITE = 4, 00918 FL_EXCEPT = 8 00919 }; 00920 00922 enum Fl_Mode { 00923 FL_RGB = 0, 00924 FL_INDEX = 1, 00925 FL_SINGLE = 0, 00926 FL_DOUBLE = 2, 00927 FL_ACCUM = 4, 00928 FL_ALPHA = 8, 00929 FL_DEPTH = 16, 00930 FL_STENCIL = 32, 00931 FL_RGB8 = 64, 00932 FL_MULTISAMPLE= 128, 00933 FL_STEREO = 256, 00934 FL_FAKE_SINGLE = 512 // Fake single buffered windows using double-buffer 00935 }; 00936 00937 // image alpha blending 00938 00939 #define FL_IMAGE_WITH_ALPHA 0x40000000 00940 00942 enum Fl_Damage { 00943 FL_DAMAGE_CHILD = 0x01, 00944 FL_DAMAGE_EXPOSE = 0x02, 00945 FL_DAMAGE_SCROLL = 0x04, 00946 FL_DAMAGE_OVERLAY = 0x08, 00947 FL_DAMAGE_USER1 = 0x10, 00948 FL_DAMAGE_USER2 = 0x20, 00949 FL_DAMAGE_ALL = 0x80 00950 }; 00951 00952 // FLTK 1.0.x compatibility definitions... 00953 # ifdef FLTK_1_0_COMPAT 00954 # define contrast fl_contrast 00955 # define down fl_down 00956 # define frame fl_frame 00957 # define inactive fl_inactive 00958 # endif // FLTK_1_0_COMPAT 00959 00960 #endif 00961 00962 // 00963 // End of "$Id$". 00964 //