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  State hud_state = State::NoState; // HUD state operation
88  void* hud_template = nullptr; // Template python dictionary
89  void* hud_values = nullptr; // Value python dictionary
90  Panel hud_panel = Panel::ToolInfo; // HUD panel ID
91  UT_StringHolder hud_kwargs; // python dictionary string representation
92  // holding key/value parameters for
93  // the command to execute.
94  UT_StringHolder hud_key; // Optional key to index the HUD cache.
95 
96  // Options
97  int hud_text_shadow = -1; // Draw text shadow
98  int hud_backg_vis = -1; // Background visibility
99  int hud_panel_size = -1; // HUD panel size
100  UT_Vector4D hud_label_color = UT_Vector4D(-1,-1,-1); // Label color
101  UT_Vector4D hud_value_color = UT_Vector4D(-1,-1,-1); // Value color
102  UT_Vector4D hud_backg_color = UT_Vector4D(-1,-1,-1); // Background color
103 };
104 
105 #endif // __UT_HUDInfoArgs_H__
UT_StringHolder hud_kwargs
~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