My Project
GUIState.h
1 #pragma once
2 
3 namespace ParaEngine
4 {
5  class CGUIBase;
6  class CPaintDevice;
7  class CPainter;
8 
16  struct GUIState
17  {
18  public:
19  GUIState();
20 
21  public:
22  void AddToPostRenderingList(IObject* obj);
23  void CleanupGUIState();
24 
28  void BeginDepthTest(CGUIBase* pObject = NULL);
29  void EndDepthTest(CGUIBase* pObject = NULL);
30  public:
33 #ifdef USE_DIRECTX_RENDERER
34 
35  LPDIRECT3DSURFACE9 pBackSurface;
37  D3DFORMAT d3dBackbufferFormat;
38 #endif
39  UINT nBkbufWidth;
43 
46  double dTimeDelta;
49 
50  int m_nDepthEnableCount;
51  public:
61  std::list<WeakPtr> listPostRenderingObjects;
62  };
63 
64 }
UINT nBkbufHeight
back buffer height
Definition: GUIState.h:42
different physics engine has different winding order.
Definition: EventBinding.h:32
bool bIsBatchRender
true if the it&#39;s currently performing batch rendering
Definition: GUIState.h:45
a very thin wrapper to DirectX device with a portable version of openGL implementation.
Definition: RenderDeviceDirectX.h:10
std::list< WeakPtr > listPostRenderingObjects
listPostRenderingObjects: this is the general post rendering list.
Definition: GUIState.h:61
base object for all 2D GUI objects (1) 2D GUI object are not tested against view frustum, instead it is controlled by visibility tag automatically or through user input.
Definition: GUIBase.h:54
void BeginDepthTest(CGUIBase *pObject=NULL)
draw calls between BeginDepthTest() and EndDepthTest() are rendered with depth enabled, such as for relative to 3d objects.
Definition: GUIState.cpp:33
base class for object, such as CBaseObject, IAttributeObject, GUI object.
Definition: PERef.h:287
base class for a surface to paint to.
Definition: Painter.h:38
It&#39;s used as parameter to Render method of each GUI object.
Definition: GUIState.h:16
RenderDevicePtr pd3dDevice
rendering device pointer
Definition: GUIState.h:32
UINT nBkbufWidth
back buffer width
Definition: GUIState.h:40
CPainter * painter
current/root painter object.
Definition: GUIState.h:48