CommonLibSSE (powerof3)
GViewport.h
Go to the documentation of this file.
1 #pragma once
2 
3 namespace RE
4 {
5  class GViewport
6  {
7  public:
8  enum Flag
9  {
10  kNone = 0,
16  };
17 
19  GViewport(const GViewport& a_rhs);
20  GViewport(std::int32_t a_bufW, std::int32_t a_bufH, std::int32_t a_left, std::int32_t a_top, std::int32_t a_width, std::int32_t a_height, std::int32_t a_scLeft, std::int32_t a_scTop, std::int32_t a_scW, std::int32_t a_scH, Flag a_flags = Flag::kNone);
21  GViewport(std::int32_t a_bufW, std::int32_t a_bufH, std::int32_t a_left, std::int32_t a_top, std::int32_t a_width, std::int32_t a_height, std::int32_t a_scLeft, std::int32_t a_scTop, std::int32_t a_scW, std::int32_t a_scH, float a_scale, float a_ratio, Flag a_flags = Flag::kNone);
22  GViewport(std::int32_t a_bufW, std::int32_t a_bufH, std::int32_t a_left, std::int32_t a_top, std::int32_t a_width, std::int32_t a_height, Flag a_flags = Flag::kNone);
23 
24  void SetViewport(std::int32_t a_bufW, std::int32_t a_bufH, std::int32_t a_left, std::int32_t a_top, std::int32_t a_width, std::int32_t a_height, Flag a_flags = Flag::kNone);
25  void SetScissorRect(std::int32_t a_scLeft, std::int32_t a_scTop, std::int32_t a_scW, std::int32_t a_scH);
26 
27  // members
28  std::int32_t bufferWidth; // 00
29  std::int32_t bufferHeight; // 04
30  std::int32_t left; // 08
31  std::int32_t top; // 0C
32  std::int32_t width; // 10
33  std::int32_t height; // 14
34  std::int32_t scissorLeft; // 18
35  std::int32_t scissorTop; // 1C
36  std::int32_t scissorWidth; // 20
37  std::int32_t scissorHeight; // 24
38  float scale; // 28
39  float aspectRatio; // 2C
41  std::uint32_t pad34; // 34
42  };
43  static_assert(sizeof(GViewport) == 0x38);
44 }
Definition: GViewport.h:6
std::int32_t scissorTop
Definition: GViewport.h:35
std::int32_t bufferWidth
Definition: GViewport.h:28
GViewport(std::int32_t a_bufW, std::int32_t a_bufH, std::int32_t a_left, std::int32_t a_top, std::int32_t a_width, std::int32_t a_height, std::int32_t a_scLeft, std::int32_t a_scTop, std::int32_t a_scW, std::int32_t a_scH, Flag a_flags=Flag::kNone)
void SetScissorRect(std::int32_t a_scLeft, std::int32_t a_scTop, std::int32_t a_scW, std::int32_t a_scH)
GViewport(std::int32_t a_bufW, std::int32_t a_bufH, std::int32_t a_left, std::int32_t a_top, std::int32_t a_width, std::int32_t a_height, std::int32_t a_scLeft, std::int32_t a_scTop, std::int32_t a_scW, std::int32_t a_scH, float a_scale, float a_ratio, Flag a_flags=Flag::kNone)
std::int32_t height
Definition: GViewport.h:33
std::int32_t left
Definition: GViewport.h:30
Flag
Definition: GViewport.h:9
@ kNone
Definition: GViewport.h:10
@ kIsRenderTexture
Definition: GViewport.h:11
@ kRenderTextureAlpha
Definition: GViewport.h:15
@ kNoSetState
Definition: GViewport.h:14
@ kUseScissorRect
Definition: GViewport.h:13
@ kAlphaComposite
Definition: GViewport.h:12
std::uint32_t pad34
Definition: GViewport.h:41
std::int32_t scissorHeight
Definition: GViewport.h:37
std::int32_t bufferHeight
Definition: GViewport.h:29
float aspectRatio
Definition: GViewport.h:39
std::int32_t top
Definition: GViewport.h:31
std::int32_t scissorWidth
Definition: GViewport.h:36
GViewport(const GViewport &a_rhs)
REX::EnumSet< Flag, std::uint32_t > flags
Definition: GViewport.h:40
void SetViewport(std::int32_t a_bufW, std::int32_t a_bufH, std::int32_t a_left, std::int32_t a_top, std::int32_t a_width, std::int32_t a_height, Flag a_flags=Flag::kNone)
float scale
Definition: GViewport.h:38
std::int32_t width
Definition: GViewport.h:32
std::int32_t scissorLeft
Definition: GViewport.h:34
GViewport(std::int32_t a_bufW, std::int32_t a_bufH, std::int32_t a_left, std::int32_t a_top, std::int32_t a_width, std::int32_t a_height, Flag a_flags=Flag::kNone)
Definition: AbsorbEffect.h:6