23 #ifndef Fl_Enumerations_H
24 #define Fl_Enumerations_H
46 #include <FL/abi-version.h>
48 # include "Fl_Export.H"
64 #define FL_MAJOR_VERSION 1
71 #define FL_MINOR_VERSION 3
78 #define FL_PATCH_VERSION 5
101 #define FL_VERSION ( (double)FL_MAJOR_VERSION + \
102 (double)FL_MINOR_VERSION * 0.01 + \
103 (double)FL_PATCH_VERSION * 0.0001 )
123 #define FL_API_VERSION (FL_MAJOR_VERSION*10000 + FL_MINOR_VERSION*100 + FL_PATCH_VERSION)
155 #ifndef FL_ABI_VERSION
156 #define FL_ABI_VERSION (FL_MAJOR_VERSION*10000 + FL_MINOR_VERSION*100)
175 #if FL_ABI_VERSION < FL_MAJOR_VERSION*10000 + FL_MINOR_VERSION*100
177 # undef FL_ABI_VERSION
178 # define FL_ABI_VERSION (FL_MAJOR_VERSION*10000 + FL_MINOR_VERSION*100)
180 #elif FL_ABI_VERSION > FL_API_VERSION
182 # undef FL_ABI_VERSION
183 # define FL_ABI_VERSION FL_API_VERSION
194 #ifdef FLTK_ABI_VERSION
195 #undef FLTK_ABI_VERSION
198 #define FLTK_ABI_VERSION FL_ABI_VERSION
467 #define FL_Button 0xfee8
468 #define FL_BackSpace 0xff08
469 #define FL_Tab 0xff09
470 #define FL_Iso_Key 0xff0c
471 #define FL_Enter 0xff0d
472 #define FL_Pause 0xff13
473 #define FL_Scroll_Lock 0xff14
474 #define FL_Escape 0xff1b
475 #define FL_Kana 0xff2e
476 #define FL_Eisu 0xff2f
477 #define FL_Yen 0xff30
478 #define FL_JIS_Underscore 0xff31
479 #define FL_Home 0xff50
480 #define FL_Left 0xff51
482 #define FL_Right 0xff53
483 #define FL_Down 0xff54
484 #define FL_Page_Up 0xff55
485 #define FL_Page_Down 0xff56
486 #define FL_End 0xff57
487 #define FL_Print 0xff61
488 #define FL_Insert 0xff63
489 #define FL_Menu 0xff67
490 #define FL_Help 0xff68
491 #define FL_Num_Lock 0xff7f
493 #define FL_KP_Enter 0xff8d
494 #define FL_KP_Last 0xffbd
496 #define FL_F_Last 0xffe0
497 #define FL_Shift_L 0xffe1
498 #define FL_Shift_R 0xffe2
499 #define FL_Control_L 0xffe3
500 #define FL_Control_R 0xffe4
501 #define FL_Caps_Lock 0xffe5
502 #define FL_Meta_L 0xffe7
503 #define FL_Meta_R 0xffe8
504 #define FL_Alt_L 0xffe9
505 #define FL_Alt_R 0xffea
506 #define FL_Delete 0xffff
512 #define FL_Volume_Down 0xEF11
513 #define FL_Volume_Mute 0xEF12
514 #define FL_Volume_Up 0xEF13
515 #define FL_Media_Play 0xEF14
516 #define FL_Media_Stop 0xEF15
517 #define FL_Media_Prev 0xEF16
518 #define FL_Media_Next 0xEF17
519 #define FL_Home_Page 0xEF18
520 #define FL_Mail 0xEF19
521 #define FL_Search 0xEF1B
522 #define FL_Back 0xEF26
523 #define FL_Forward 0xEF27
524 #define FL_Stop 0xEF28
525 #define FL_Refresh 0xEF29
526 #define FL_Sleep 0xEF2F
527 #define FL_Favorites 0xEF30
540 #define FL_LEFT_MOUSE 1
541 #define FL_MIDDLE_MOUSE 2
542 #define FL_RIGHT_MOUSE 3
557 #define FL_SHIFT 0x00010000
558 #define FL_CAPS_LOCK 0x00020000
559 #define FL_CTRL 0x00040000
560 #define FL_ALT 0x00080000
561 #define FL_NUM_LOCK 0x00100000
562 // most X servers do this?
563 #define FL_META 0x00400000
564 // correct for XFree86
565 #define FL_SCROLL_LOCK 0x00800000
566 // correct for XFree86
567 #define FL_BUTTON1 0x01000000
568 #define FL_BUTTON2 0x02000000
569 #define FL_BUTTON3 0x04000000
570 #define FL_BUTTONS 0x7f000000
571 #define FL_BUTTON(n) (0x00800000<<(n))
573 #define FL_KEY_MASK 0x0000ffff
574 // FIXME: Unicode needs 24 bits!
577 # define FL_COMMAND FL_META
578 # define FL_CONTROL FL_CTRL
580 # define FL_COMMAND FL_CTRL
581 # define FL_CONTROL FL_META
663 extern FL_EXPORT
Fl_Boxtype fl_define_FL_ROUND_UP_BOX();
664 #define FL_ROUND_UP_BOX fl_define_FL_ROUND_UP_BOX()
665 #define FL_ROUND_DOWN_BOX (Fl_Boxtype)(fl_define_FL_ROUND_UP_BOX()+1)
666 extern FL_EXPORT
Fl_Boxtype fl_define_FL_SHADOW_BOX();
667 #define FL_SHADOW_BOX fl_define_FL_SHADOW_BOX()
668 #define FL_SHADOW_FRAME (Fl_Boxtype)(fl_define_FL_SHADOW_BOX()+2)
669 extern FL_EXPORT
Fl_Boxtype fl_define_FL_ROUNDED_BOX();
670 #define FL_ROUNDED_BOX fl_define_FL_ROUNDED_BOX()
671 #define FL_ROUNDED_FRAME (Fl_Boxtype)(fl_define_FL_ROUNDED_BOX()+2)
672 extern FL_EXPORT
Fl_Boxtype fl_define_FL_RFLAT_BOX();
673 #define FL_RFLAT_BOX fl_define_FL_RFLAT_BOX()
674 extern FL_EXPORT
Fl_Boxtype fl_define_FL_RSHADOW_BOX();
675 #define FL_RSHADOW_BOX fl_define_FL_RSHADOW_BOX()
676 extern FL_EXPORT
Fl_Boxtype fl_define_FL_DIAMOND_BOX();
677 #define FL_DIAMOND_UP_BOX fl_define_FL_DIAMOND_BOX()
678 #define FL_DIAMOND_DOWN_BOX (Fl_Boxtype)(fl_define_FL_DIAMOND_BOX()+1)
679 extern FL_EXPORT
Fl_Boxtype fl_define_FL_OVAL_BOX();
680 #define FL_OVAL_BOX fl_define_FL_OVAL_BOX()
681 #define FL_OSHADOW_BOX (Fl_Boxtype)(fl_define_FL_OVAL_BOX()+1)
682 #define FL_OVAL_FRAME (Fl_Boxtype)(fl_define_FL_OVAL_BOX()+2)
683 #define FL_OFLAT_BOX (Fl_Boxtype)(fl_define_FL_OVAL_BOX()+3)
685 extern FL_EXPORT
Fl_Boxtype fl_define_FL_PLASTIC_UP_BOX();
686 #define FL_PLASTIC_UP_BOX fl_define_FL_PLASTIC_UP_BOX()
687 #define FL_PLASTIC_DOWN_BOX (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+1)
688 #define FL_PLASTIC_UP_FRAME (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+2)
689 #define FL_PLASTIC_DOWN_FRAME (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+3)
690 #define FL_PLASTIC_THIN_UP_BOX (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+4)
691 #define FL_PLASTIC_THIN_DOWN_BOX (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+5)
692 #define FL_PLASTIC_ROUND_UP_BOX (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+6)
693 #define FL_PLASTIC_ROUND_DOWN_BOX (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+7)
695 extern FL_EXPORT
Fl_Boxtype fl_define_FL_GTK_UP_BOX();
696 #define FL_GTK_UP_BOX fl_define_FL_GTK_UP_BOX()
697 #define FL_GTK_DOWN_BOX (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+1)
698 #define FL_GTK_UP_FRAME (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+2)
699 #define FL_GTK_DOWN_FRAME (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+3)
700 #define FL_GTK_THIN_UP_BOX (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+4)
701 #define FL_GTK_THIN_DOWN_BOX (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+5)
702 #define FL_GTK_THIN_UP_FRAME (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+6)
703 #define FL_GTK_THIN_DOWN_FRAME (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+7)
704 #define FL_GTK_ROUND_UP_BOX (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+8)
705 #define FL_GTK_ROUND_DOWN_BOX (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+9)
707 extern FL_EXPORT
Fl_Boxtype fl_define_FL_GLEAM_UP_BOX();
708 #define FL_GLEAM_UP_BOX fl_define_FL_GLEAM_UP_BOX()
709 #define FL_GLEAM_DOWN_BOX (Fl_Boxtype)(fl_define_FL_GLEAM_UP_BOX()+1)
710 #define FL_GLEAM_UP_FRAME (Fl_Boxtype)(fl_define_FL_GLEAM_UP_BOX()+2)
711 #define FL_GLEAM_DOWN_FRAME (Fl_Boxtype)(fl_define_FL_GLEAM_UP_BOX()+3)
712 #define FL_GLEAM_THIN_UP_BOX (Fl_Boxtype)(fl_define_FL_GLEAM_UP_BOX()+4)
713 #define FL_GLEAM_THIN_DOWN_BOX (Fl_Boxtype)(fl_define_FL_GLEAM_UP_BOX()+5)
714 #define FL_GLEAM_ROUND_UP_BOX (Fl_Boxtype)(fl_define_FL_GLEAM_UP_BOX()+6)
715 #define FL_GLEAM_ROUND_DOWN_BOX (Fl_Boxtype)(fl_define_FL_GLEAM_UP_BOX()+7)
724 return (
Fl_Boxtype)((b<FL_UP_BOX||b%4>1)?b:(b-2));
744 #define FL_FRAME FL_ENGRAVED_FRAME
745 #define FL_FRAME_BOX FL_ENGRAVED_BOX
746 #define FL_CIRCLE_BOX FL_ROUND_DOWN_BOX
747 #define FL_DIAMOND_BOX FL_DIAMOND_DOWN_BOX
780 #define FL_SYMBOL_LABEL FL_NORMAL_LABEL
781 extern Fl_Labeltype FL_EXPORT fl_define_FL_SHADOW_LABEL();
782 #define FL_SHADOW_LABEL fl_define_FL_SHADOW_LABEL()
783 extern Fl_Labeltype FL_EXPORT fl_define_FL_ENGRAVED_LABEL();
784 #define FL_ENGRAVED_LABEL fl_define_FL_ENGRAVED_LABEL()
785 extern Fl_Labeltype FL_EXPORT fl_define_FL_EMBOSSED_LABEL();
786 #define FL_EMBOSSED_LABEL fl_define_FL_EMBOSSED_LABEL()
862 const Fl_Align FL_ALIGN_LEFT_TOP = 0x0007;
863 const Fl_Align FL_ALIGN_RIGHT_TOP = 0x000b;
864 const Fl_Align FL_ALIGN_LEFT_BOTTOM = 0x000d;
865 const Fl_Align FL_ALIGN_RIGHT_BOTTOM = 0x000e;
867 const Fl_Align FL_ALIGN_POSITION_MASK = 0x000f;
868 const Fl_Align FL_ALIGN_IMAGE_MASK = 0x0320;
949 const Fl_Color FL_BACKGROUND_COLOR = 49;
968 const Fl_Color FL_DARK_MAGENTA = 152;
974 #define FL_FREE_COLOR (Fl_Color)16
975 #define FL_NUM_FREE_COLOR 16
976 #define FL_GRAY_RAMP (Fl_Color)32
977 #define FL_NUM_GRAY 24
978 #define FL_GRAY FL_BACKGROUND_COLOR
979 #define FL_COLOR_CUBE (Fl_Color)56
981 #define FL_NUM_GREEN 8
982 #define FL_NUM_BLUE 5
998 if (!r && !g && !b)
return FL_BLACK;
999 else return (
Fl_Color)(((((r << 8) | g) << 8) | b) << 8);
1004 if (!g)
return FL_BLACK;
1005 else return (
Fl_Color)(((((g << 8) | g) << 8) | g) << 8);
1033 return (
Fl_Color)((b*FL_NUM_RED + r) * FL_NUM_GREEN + g + FL_COLOR_CUBE);}
1094 FL_MULTISAMPLE= 128,
1096 FL_FAKE_SINGLE = 512,
1102 #define FL_IMAGE_WITH_ALPHA 0x40000000
1116 # ifdef FLTK_1_0_COMPAT
1117 # define contrast fl_contrast
1118 # define down fl_down
1119 # define frame fl_frame
1120 # define inactive fl_inactive
1121 # endif // FLTK_1_0_COMPAT