CommonLibVR
GFxState.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/G/GRefCountBase.h"
4 #include "RE/G/GStats.h"
5 
6 namespace RE
7 {
8  class GFxState : public GRefCountBase<GFxState, GStatGroups::kGStat_Default_Mem>
9  {
10  public:
11  inline static constexpr auto RTTI = RTTI_GFxState;
12  inline static constexpr auto VTABLE = VTABLE_GFxState;
13 
14  // An enumeration type defining the type of a State object, such as kRenderConfig, kFSCommandHandler, State_Log, etc. Only one State object of each type can be set on the loader or a movie.
15  enum class StateType
16  {
17  kNone, // An undefined state value
18 
19  // Instance related states
22  kTranslator, // An international language translator of dynamic text fields
23  kLog, // A log object which generates log messages and is used for debugging
25  kActionControl, // An object that controls the verbosity of output generated during ActionScript execution
26  kUserEventHandler, // A user-installable interface to handle events fired from the player
27  kFSCommandHandler, // A handler gets called when Action Script executes the fscommand() statement
28  kExternalInterface, // A callback method for ActionScript to invoke
29 
30  // Loading related states
31  kFileOpener, // A callback interface that is used for opening files
32  kURLBuilder, // The object responsible for building a filename path used for loading objects
33  kImageCreator, // An interface used to create Image objects applied during rendering
34  kParseControl, // An object that is used to determine which SWF/GFx file parsing messages will be generated
35  kProgressHandler, // A user-defined handler to receive SWF/GFx load progress
36  kImportVisitor, // An object which is called during loading (import binding state) of a movie after each import is resolved
38  kFontPackParams, // FontPackParams state, which enables static text cache and provides texture size and pack configuration settings
40  kFontLib, // FontLib state, which maintains a list of movies that can be used as font sources
41  kFontProvider, // FontProvider derived state, such as FontProviderWin32 that provides support for system fonts
42  kFontMap, // FontMap state, which maintains a set of font name mappings for internationalization
44  kTaskManager, // An object that executes tasks added to the task queue
45  kClipboard, // An object used for storing plain and rich texts in a text clipboard
46  kTextKeyMap, // TextKeyMap state which contains mappings of keystrokes to text field operation
48  kIMEManager, // An object which supports IME implementation on the loader
49  kXMLSupport, // XML::Support state which is responsible for providing XML support
51  kZlibSupport, // ZlibSupport state that provides ZLib support to the loader
52  kFontCompactorParams, // FontCompactorParams state, which provides configuration options for generating glyphs
53  kImagePackerParams, // ImagePackParamsBase state, which provides the texture configuration options to pack images in textures
55  kAudio, // Audio state, used to initialize the sound system for playing SWF sound files
56  kVideo, // Video state, used to initialize video playbacks
58  kSharedObject, // SharedObjectManagerBase state for handling shared objects
60  };
61 
62  // State constructor, only invoked from derived classes. The constructor takes a StateType as an argument, which defines the state type; this value cannot be changed after object creation
64  ~GFxState() override = default; // 00
65 
66  // GetStateType obtains the StateType of this state. The state type of a given object never changes after construction
67  [[nodiscard]] StateType GetStateType() const;
68 
69  protected:
71  std::uint32_t pad14; // 14
72  private:
73  KEEP_FOR_RE()
74  };
75  static_assert(sizeof(GFxState) == 0x18);
76 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: GFxState.h:9
std::uint32_t pad14
Definition: GFxState.h:71
StateType stateType
Definition: GFxState.h:70
StateType GetStateType() const
static constexpr auto RTTI
Definition: GFxState.h:11
~GFxState() override=default
static constexpr auto VTABLE
Definition: GFxState.h:12
GFxState(StateType a_st=StateType::kNone)
StateType
Definition: GFxState.h:16
Definition: GRefCountBase.h:12
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_GFxState
Definition: Offsets_VTABLE.h:11699
constexpr REL::ID RTTI_GFxState(static_cast< std::uint64_t >(691031))