CommonLibSSE (powerof3)
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 
13  // 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.
14  enum class StateType
15  {
16  kNone, // An undefined state value
17 
18  // Instance related states
21  kTranslator, // An international language translator of dynamic text fields
22  kLog, // A log object which generates log messages and is used for debugging
24  kActionControl, // An object that controls the verbosity of output generated during ActionScript execution
25  kUserEventHandler, // A user-installable interface to handle events fired from the player
26  kFSCommandHandler, // A handler gets called when Action Script executes the fscommand() statement
27  kExternalInterface, // A callback method for ActionScript to invoke
28 
29  // Loading related states
30  kFileOpener, // A callback interface that is used for opening files
31  kURLBuilder, // The object responsible for building a filename path used for loading objects
32  kImageCreator, // An interface used to create Image objects applied during rendering
33  kParseControl, // An object that is used to determine which SWF/GFx file parsing messages will be generated
34  kProgressHandler, // A user-defined handler to receive SWF/GFx load progress
35  kImportVisitor, // An object which is called during loading (import binding state) of a movie after each import is resolved
37  kFontPackParams, // FontPackParams state, which enables static text cache and provides texture size and pack configuration settings
39  kFontLib, // FontLib state, which maintains a list of movies that can be used as font sources
40  kFontProvider, // FontProvider derived state, such as FontProviderWin32 that provides support for system fonts
41  kFontMap, // FontMap state, which maintains a set of font name mappings for internationalization
43  kTaskManager, // An object that executes tasks added to the task queue
44  kClipboard, // An object used for storing plain and rich texts in a text clipboard
45  kTextKeyMap, // TextKeyMap state which contains mappings of keystrokes to text field operation
47  kIMEManager, // An object which supports IME implementation on the loader
48  kXMLSupport, // XML::Support state which is responsible for providing XML support
50  kZlibSupport, // ZlibSupport state that provides ZLib support to the loader
51  kFontCompactorParams, // FontCompactorParams state, which provides configuration options for generating glyphs
52  kImagePackerParams, // ImagePackParamsBase state, which provides the texture configuration options to pack images in textures
54  kAudio, // Audio state, used to initialize the sound system for playing SWF sound files
55  kVideo, // Video state, used to initialize video playbacks
57  kSharedObject, // SharedObjectManagerBase state for handling shared objects
59  };
60 
61  // 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
63  ~GFxState() override = default; // 00
64 
65  // GetStateType obtains the StateType of this state. The state type of a given object never changes after construction
66  [[nodiscard]] StateType GetStateType() const;
67 
68  protected:
70  std::uint32_t pad14; // 14
71  };
72  static_assert(sizeof(GFxState) == 0x18);
73 }
Definition: GFxState.h:9
std::uint32_t pad14
Definition: GFxState.h:70
StateType stateType
Definition: GFxState.h:69
StateType GetStateType() const
static constexpr auto RTTI
Definition: GFxState.h:11
~GFxState() override=default
GFxState(StateType a_st=StateType::kNone)
StateType
Definition: GFxState.h:15
Definition: GRefCountBase.h:12
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_GFxState
Definition: Offsets_RTTI.h:4846