source: NonGTP/glut/FLTK/include/fltk/Flags.h @ 814

Revision 814, 4.4 KB checked in by gumbau, 18 years ago (diff)

Glut initial import used by Geometry modules

Line 
1//
2// "$Id: Flags.h 4245 2005-04-08 06:27:43Z spitzak $"
3//
4// Unified flags set for fltk. These flags control the appearance of
5// boxes and widgets. This same value is used to:
6//
7// 1. store state and other information in a widget or menu item
8// 2. provide hints to boxes, labeltypes, and images for how to draw
9// 3. provide structural information to an array of menu items
10//
11// These are shared because various parts of the code, especially
12// drawing, want all of this information at once, and providing it
13// as a single word is the easiest way.
14//
15
16// Copyright 2002 by Bill Spitzak and others.
17//
18// This library is free software; you can redistribute it and/or
19// modify it under the terms of the GNU Library General Public
20// License as published by the Free Software Foundation; either
21// version 2 of the License, or (at your option) any later version.
22//
23// This library is distributed in the hope that it will be useful,
24// but WITHOUT ANY WARRANTY; without even the implied warranty of
25// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
26// Library General Public License for more details.
27//
28// You should have received a copy of the GNU Library General Public
29// License along with this library; if not, write to the Free Software
30// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
31// USA.
32//
33// Please report all bugs and problems to "fltk-bugs@fltk.org".
34
35#ifndef fltk_Flags_h
36#define fltk_Flags_h
37
38namespace fltk {
39
40/*! \addtogroup flags
41  \{ */
42
43/*! Type returned by fltk::Widget::flags() and passed to fltk::Box
44  and many other drawing functions. */
45typedef int Flags;
46
47/*! For back compatability with fltk1.1 */
48typedef Flags Align; // for back compatability
49
50enum {
51  NO_FLAGS              = 0,
52
53  // from Align, values are comptable with fltk 1.0:
54  // These control the location and appearance of labels:
55  // Warning: unused numbers may change behavior!
56  ALIGN_CENTER          = 0,    //!< (0) The label is centered inside widget
57  ALIGN_TOP             = 1,    //!< Label is centered above widget
58  ALIGN_BOTTOM          = 2,    //!< Label is centered below widget
59  ALIGN_LEFTTOP         = 3,    //!< Label is left of widget at top
60  ALIGN_LEFT            = 4,    //!< Label is to left of widget
61  ALIGN_TOPLEFT         = 5,    //!< Label is left-justified above widget
62  ALIGN_BOTTOMLEFT      = 6,    //!< Label is left-justified below widget
63  ALIGN_LEFTBOTTOM      = 7,    //!< Label is left of widget at bottom
64  ALIGN_RIGHT           = 8,    //!< Label is to right of widget
65  ALIGN_TOPRIGHT        = 9,    //!< Label is right-justified above widget
66  ALIGN_BOTTOMRIGHT     = 10,   //!< Label is right-justified below widget
67  ALIGN_RIGHTTOP        = 11,   //!< Label is right of widget at top
68  ALIGN_CENTERLEFT      = 12,   //!< Label is centered in space left of widget
69  ALIGN_RIGHTBOTTOM     = 15,   //!< Label is right of widget at bottom
70  ALIGN_INSIDE          = 16,   //!< Label is inside widget, image centered
71  ALIGN_INSIDE_TOP      = 17,   //!< Label is inside widget at top
72  ALIGN_INSIDE_BOTTOM   = 18,   //!< Label is inside widget at bottom
73  ALIGN_INSIDE_LEFT     = 20,   //!< Label is inside widget at left
74  ALIGN_INSIDE_TOPLEFT  = 21,   //!< Label is inside widget at top left
75  ALIGN_INSIDE_BOTTOMLEFT=22,   //!< Label is inside widget at bottom left
76  ALIGN_INSIDE_RIGHT    = 24,   //!< Label is inside widget at right
77  ALIGN_INSIDE_TOPRIGHT = 25,   //!< Label is inside widget at top right
78  ALIGN_INSIDE_BOTTOMRIGHT=26,  //!< Label is inside widget bottom right
79  ALIGN_CLIP            = 0x00000040, //!< The label is clipped to the widget
80  ALIGN_WRAP            = 0x00000080, //!< The label is word-wrapped
81  ALIGN_MASK            = 0x000000FF, //!< Used to split align() from flags()
82
83  NOTACTIVE             = 0x00000100, //!< !active()
84  OUTPUT                = 0x00000200, //!< does not get events, draw text colors
85  VALUE                 = 0x00000400, //!< true/on state
86  SELECTED              = 0x00000800, //!< chosen in browser/menu, draw selected colors
87  INVISIBLE             = 0x00001000, //!< !visible(), draw_frame()
88  HIGHLIGHT             = 0x00002000, //!< draw highlighted
89  CHANGED               = 0x00004000, //!< value() changed since last callback
90  COPIED_LABEL          = 0x00008000, //!< copy_label() was called
91  RAW_LABEL             = 0x00010000, //!< don't interpret & or @ in label
92  LAYOUT_VERTICAL       = 0x00020000, //!< fltk::Pack puts this widget vertical
93  TAB_TO_FOCUS          = 0x00040000, //!< Widget::tab_to_focus();
94  CLICK_TO_FOCUS        = 0x00080000, //!< Widget::click_to_focus()
95  INACTIVE              = 0x00100000, //!< draw it grayed-out
96  FOCUSED               = 0x00200000, //!< draw with keyboard focus
97  PUSHED                = 0x00400000  //!< draw pushed-in
98};
99/*! \} */
100
101}
102
103#endif
104
105//
106// End of "$Id: Flags.h 4245 2005-04-08 06:27:43Z spitzak $".
107//
Note: See TracBrowser for help on using the repository browser.