HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UI_Types.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: UI_Types.h ( UI Library, C++)
7  *
8  * COMMENTS: Types and forward declarations for UI
9  */
10 
11 #ifndef __UI_Types__
12 #define __UI_Types__
13 
14 #include <UT/UT_SharedPtr.h>
15 
16 class UI_IconBase;
18 
20 {
25 };
26 
27 enum UI_LookState // bitfield
28 {
35 
36  UI_STATE_MAX = 6 // last item.
37 };
38 
40 {
43  UI_RENDER_BORDER = 0x0004,
48  UI_RENDER_RAW_FOREGROUND = 0x0080, // Ignore contrast with this look.
50  UI_RENDER_GAMMA_CORRECTED = 0x0200, // Do gamma correct before render.
51  UI_RENDER_LUT_CORRECTED = 0x0400, // Do LUT correct before render.
52  UI_STATIC_LOOK = 0x1000, // look is static and should not
53  // be modified.
54  UI_RENDER_NO_DISABLE_SHIFT = 0x2000, // No intensity shift if disabled.
55  UI_RENDER_FORCE_GL = 0x4000 // No intensity shift if disabled.
56 };
57 
59 {
60  UI_ORIENTATION_HORIZONTAL, // Gradients should render vertically.
61  UI_ORIENTATION_VERTICAL // Gradients should render horizontally.
62 };
63 
65 {
93 };
94 
95 enum
96 {
101 };
102 typedef unsigned char UI_LookAccent;
103 
105 {
107  UI_ROUND_LL = 0x01,
108  UI_ROUND_UL = 0x02,
109  UI_ROUND_LR = 0x04,
110  UI_ROUND_UR = 0x08,
116 };
117 
118 // Whether an icon can be rendered quickly at multiple sizes. If you use
119 // UI_ICON_FIXED (the default), icons can still be rendered at multiple sizes,
120 // but it might take a lot longer to do so. UI_ICON_SCALABLE avoids this time
121 // penalty, but produces lower-quality (mipmapped) output.
123 {
128 };
129 
130 enum UI_Justification : unsigned
131 {
132  UI_JUST_TOP = 0x01,
134  UI_JUST_LEFT = 0x04,
136 
137  // Commonly used values
147 };
148 
180  // UI_LOOK_SEPARATOR is obsolete. Use either UI_LOOK_HSEPARATOR or
181  // UI_LOOK_VSEPARATOR instead. The H/V prefixes are used in the
182  // same sense as the horizontal/vertical attributes for separators
183  // in the UI grammar, i.e. the direction of the separator itself.
184  // In terms of lines, the HSEPARATOR is a horizontal line and vice versa.
210 
211 //
212 // All looks from this point onward are dynamically allocated on each call
213 // to UIgetLook and should be deleted by the caller. The ones above this
214 // point are shared and should *not* be deleted.
215 //
216 // Use the function "UIisSharedLook(UI_LookType)" to check if it's shared.
217 //
220 
223 
239 
275 
278 
279 
282 
284 };
285 
286 #endif // __UI_Types__
UI_AnchorPoint
Definition: UI_Types.h:19
UI_LookType
Definition: UI_Types.h:149
UI_Roundness
Definition: UI_Types.h:104
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
Definition: UT_SharedPtr.h:36
UI_BorderType
Definition: UI_Types.h:64
unsigned char UI_LookAccent
Definition: UI_Types.h:102
UI_Justification
Definition: UI_Types.h:130
UI_LookState
Definition: UI_Types.h:27
UI_LookOrientation
Definition: UI_Types.h:58
UT_SharedPtr< UI_IconBase > UI_IconRef
Definition: UI_Types.h:16
UI_LookOption
Definition: UI_Types.h:39
UI_IconScalability
Definition: UI_Types.h:122