OpenBarnyard
 
Loading...
Searching...
No Matches
TViewport.cpp
Go to the documentation of this file.
1#include "ToshiPCH.h"
2#include "Render/TViewport.h"
3
4//-----------------------------------------------------------------------------
5// Enables memory debugging.
6// Note: Should be the last include!
7//-----------------------------------------------------------------------------
9
11
13{
14 m_MemAllocatorBlock = TNULL;
16 m_ColorR = 0;
17 m_ColorG = 0;
18 m_ColorB = 0;
19 m_ColorA = 0;
20 m_bAllowBackgroundClear = TTRUE;
21 m_bAllowDepthClear = TTRUE;
22 m_bDefaultBeginRender = TTRUE;
23 m_bEnable = TTRUE;
24 m_bInViewport = TFALSE;
25
26 SetWidth( -1.0f );
27 SetHeight( -1.0f );
28
29 if ( a_bFlag )
30 {
32 }
33}
34
36{
37 if ( m_pRenderCtx )
38 {
39 delete m_pRenderCtx;
40 m_pRenderCtx = TNULL;
41 }
42}
43
45{
46 if ( m_ColorR != r || m_ColorG != g || m_ColorB != b || m_ColorA != a )
47 {
48 m_ColorR = r;
49 m_ColorG = g;
50 m_ColorB = b;
51 m_ColorA = a;
52
54 }
55}
56
58{
59 r = m_ColorR;
60 g = m_ColorG;
61 b = m_ColorB;
62 a = m_ColorA;
63}
64
66{
67 return m_pRenderCtx;
68}
69
71{
72 TRenderContext::VIEWPORTPARAMS params = m_pRenderCtx->GetViewportParameters();
73
74 if ( params.fMaxZ != value )
75 {
76 params.fMaxZ = value;
77 m_pRenderCtx->SetViewportParameters( params );
79 }
80}
81
83{
84 TRenderContext::VIEWPORTPARAMS params = m_pRenderCtx->GetViewportParameters();
85
86 if ( params.fMinZ != value )
87 {
88 params.fMinZ = value;
89 m_pRenderCtx->SetViewportParameters( params );
91 }
92}
93
95{
96 TRenderContext::VIEWPORTPARAMS params = m_pRenderCtx->GetViewportParameters();
97
98 if ( params.fHeight != value )
99 {
100 params.fHeight = value;
101 m_pRenderCtx->SetViewportParameters( params );
103 }
104}
105
107{
108 TRenderContext::VIEWPORTPARAMS params = m_pRenderCtx->GetViewportParameters();
109
110 if ( params.fWidth != value )
111 {
112 params.fWidth = value;
113 m_pRenderCtx->SetViewportParameters( params );
115 }
116}
117
119{
120 TRenderContext::VIEWPORTPARAMS params = m_pRenderCtx->GetViewportParameters();
121
122 if ( params.fY != value )
123 {
124 params.fY = value;
125 m_pRenderCtx->SetViewportParameters( params );
127 }
128}
129
131{
132 TRenderContext::VIEWPORTPARAMS params = m_pRenderCtx->GetViewportParameters();
133
134 if ( params.fX != value )
135 {
136 params.fX = value;
137 m_pRenderCtx->SetViewportParameters( params );
139 }
140}
141
143{
144 m_MemAllocatorBlock = a_pMemBlock;
146}
147
149{
150 TBOOL oldState = m_bDefaultBeginRender;
151 m_bDefaultBeginRender = enable;
152 return oldState;
153}
154
156{
157 m_bEnable = enable;
158}
159
161{
162 TBOOL oldState = m_bAllowDepthClear;
163 m_bAllowDepthClear = allow;
165 return oldState;
166}
167
169{
170 TBOOL oldState = m_bAllowBackgroundClear;
171 m_bAllowBackgroundClear = allow;
173 return oldState;
174}
175
177{
178 EndSKU();
179 TASSERT( m_bInViewport == TTRUE );
180 m_bInViewport = TFALSE;
181}
182
184{
185 TASSERT( m_bInViewport == TFALSE );
186 m_bInViewport = TTRUE;
187 BeginSKU();
188}
189
191{
192 return m_pRenderCtx->GetHeight();
193}
194
196{
197 return m_pRenderCtx->GetWidth();
198}
199
201{
202 return m_pRenderCtx->GetY();
203}
204
206{
207 return m_pRenderCtx->GetX();
208}
209
#define TASSERT(X,...)
Definition Defines.h:138
#define TOSHI_NAMESPACE_START
Definition Defines.h:47
#define TOSHI_NAMESPACE_END
Definition Defines.h:50
uint8_t TUINT8
Definition Typedefs.h:17
float TFLOAT
Definition Typedefs.h:4
#define TNULL
Definition Typedefs.h:23
#define TFALSE
Definition Typedefs.h:24
#define TTRUE
Definition Typedefs.h:25
bool TBOOL
Definition Typedefs.h:6
Represents a contiguous block of memory that can be allocated from.
Definition TMemory.h:101
virtual TRenderContext * CreateRenderContext()=0
virtual void Unknown1(TViewport *a_pViewport)
TFLOAT GetWidth() const
virtual void EndSKU()
@ ChangeEvent_BackgroundClear
Definition TViewport.h:21
@ ChangeEvent_DepthClear
Definition TViewport.h:22
@ ChangeEvent_X
Definition TViewport.h:18
@ ChangeEvent_Width
Definition TViewport.h:17
@ ChangeEvent_Height
Definition TViewport.h:16
@ ChangeEvent_BackgroundColor
Definition TViewport.h:13
@ ChangeEvent_AllocatorBlock
Definition TViewport.h:20
@ ChangeEvent_MaxZ
Definition TViewport.h:14
@ ChangeEvent_MinZ
Definition TViewport.h:15
@ ChangeEvent_Y
Definition TViewport.h:19
void SetMaxZ(TFLOAT value)
Definition TViewport.cpp:70
void SetBackgroundColor(TUINT8 r, TUINT8 g, TUINT8 b, TUINT8 a)
Definition TViewport.cpp:44
TFLOAT GetX() const
void GetBackgroundColor(TUINT8 &r, TUINT8 &g, TUINT8 &b, TUINT8 &a)
Definition TViewport.cpp:57
virtual void ChangeSKU(ChangeEvent a_eEvent)
void End()
TFLOAT GetY() const
TBOOL AllowBackgroundClear(TBOOL allow)
void SetX(TFLOAT value)
void SetMemoryAllocatorBlock(TMemory::MemBlock *a_pMemBlock)
void SetHeight(TFLOAT value)
Definition TViewport.cpp:94
TViewport(TBOOL a_bFlag)
Definition TViewport.cpp:12
TBOOL AllowDepthClear(TBOOL allow)
void SetY(TFLOAT value)
void SetMinZ(TFLOAT value)
Definition TViewport.cpp:82
TFLOAT GetHeight() const
virtual void BeginSKU()
virtual ~TViewport()
Definition TViewport.cpp:35
TBOOL EnableDefaultBeginRender(TBOOL enable)
void SetWidth(TFLOAT value)
void Begin()
void Enable(TBOOL enable)
TRenderContext * GetRenderContext() const
Definition TViewport.cpp:65
static TFORCEINLINE TRenderInterface * GetSingleton()
Definition TSingleton.h:49