HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UT_HUDInfoArgs.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: UT_HUDInfoArgs.h (UT Library, C++)
7  *
8  * COMMENTS: UT_HUDInfoArgs holds the arguments for BM_SceneManager::hudInfo.
9  */
10 
11 #ifndef __UT_HUDInfoArgs_H__
12 #define __UT_HUDInfoArgs_H__
13 
14 #include "UT_API.h"
15 
16 #include "UT_Array.h"
17 #include "UT_Vector4.h"
18 #include "UT_StringHolder.h"
19 
20 // Holds the arguments for BM_SceneManager::hudInfo
22 {
23  public:
24  enum class State : short
25  {
26  // Flags for setting the hud states.
27  NoState = 0,
28  Maximize,
29  Minimize,
30  Toggle
31  };
32 
33  enum class Command : short
34  {
35  // Flags for driving the mutually exclusive hud commands.
36  NoCommand = 0,
37  Create,
38  Close,
39  Clear,
40  Enter,
41  Exit,
42  Interrupt,
43  Resume,
45  SetHUDToolInfoHeader, // Set state HUD header
46  UpdateHUDToolInfoHeader, // Update state HUD header
47  };
48 
49  enum class Panel : short
50  {
51  // Flags to identify HUD panels.
52  NoPanel = 0,
53  ToolInfo,
54  User,
55  Prompt,
56  Stats
57  };
58 
59  enum class HOMPanel : short
60  {
61  // Flags used by the HOM API.
62  NoPanel = (short)Panel::NoPanel,
63  ToolInfo = (short)Panel::ToolInfo,
64  User = (short)Panel::User
65  //Prompt = (short)Panel::Prompt,
66  //Stats = (short)Panel::Stats
67  };
68 
69  UT_HUDInfoArgs() = default;
70  ~UT_HUDInfoArgs() = default;
71 
72  static UT_Array<Panel> const& panelIDs()
73  {
74  static UT_Array<Panel> hud_panels = []()
75  {
77  }();
78  return hud_panels;
79  }
80 
81  Command command = Command::NoCommand; // Command to execute
82 
83  int update_texture = 0; // 0: No texture update
84  // 1: Update the texture if panel is dirty.
85  // -1: Force update of all textures
86  int show = -1; // Display/Hide
87  bool update_hotkey_bindings = false; // Redo lookup
88  State hud_state = State::NoState; // HUD state operation
89  void* hud_template = nullptr; // Template python dictionary
90  void* hud_values = nullptr; // Value python dictionary
91  Panel hud_panel = Panel::ToolInfo; // HUD panel ID
92  UT_StringHolder hud_kwargs; // python dictionary string representation
93  // holding key/value parameters for
94  // the command to execute.
95  UT_StringHolder hud_key; // Optional key to index the HUD cache.
96 
97  // Options
98  int hud_text_shadow = -1; // Draw text shadow
99  int hud_backg_vis = -1; // Background visibility
100  int hud_panel_size = -1; // HUD panel size
101  UT_Vector4D hud_label_color = UT_Vector4D(-1,-1,-1); // Label color
102  UT_Vector4D hud_value_color = UT_Vector4D(-1,-1,-1); // Value color
103  UT_Vector4D hud_backg_color = UT_Vector4D(-1,-1,-1); // Background color
104 };
105 
106 #endif // __UT_HUDInfoArgs_H__
UT_StringHolder hud_kwargs
bool update_hotkey_bindings
~UT_HUDInfoArgs()=default
UT_Vector4D hud_value_color
UT_HUDInfoArgs()=default
UT_Vector4D hud_label_color
UT_Vector4D hud_backg_color
static UT_Array< Panel > const & panelIDs()
UT_StringHolder hud_key
UT_Vector4T< fpreal64 > UT_Vector4D