2 #include "IAttributeFields.h" 3 #include "2dengine/GUIPosition.h" 10 class CViewportManager;
14 STEREO_EYE_NORMAL = 0,
36 ATTRIBUTE_METHOD1(
CViewport, SetAlignment_s,
const char*) { cls->SetAlignment(p1);
return S_OK; }
38 ATTRIBUTE_METHOD1(
CViewport, SetLeft_s,
int) { cls->SetLeft(p1);
return S_OK; }
39 ATTRIBUTE_METHOD1(
CViewport, GetLeft_s,
int*) { *p1 = cls->GetLeft();
return S_OK; }
41 ATTRIBUTE_METHOD1(
CViewport, SetTop_s,
int) { cls->SetTop(p1);
return S_OK; }
42 ATTRIBUTE_METHOD1(
CViewport, GetTop_s,
int*) { *p1 = cls->GetTop();
return S_OK; }
44 ATTRIBUTE_METHOD1(
CViewport, SetWidth_s,
int) { cls->SetWidth(p1);
return S_OK; }
45 ATTRIBUTE_METHOD1(
CViewport, GetWidth_s,
int*) { *p1 = cls->GetWidth();
return S_OK; }
47 ATTRIBUTE_METHOD1(
CViewport, SetHeight_s,
int) { cls->SetHeight(p1);
return S_OK; }
48 ATTRIBUTE_METHOD1(
CViewport, GetHeight_s,
int*) { *p1 = cls->GetHeight();
return S_OK; }
50 ATTRIBUTE_METHOD(
CViewport, ApplyViewport_s) { cls->ApplyViewport();
return S_OK; }
52 ATTRIBUTE_METHOD1(
CViewport, GetRenderScript_s,
const char**) { *p1 = cls->GetRenderScript().c_str();
return S_OK; }
53 ATTRIBUTE_METHOD1(
CViewport, SetRenderScript_s,
const char*) { cls->SetRenderScript(p1);
return S_OK; }
55 ATTRIBUTE_METHOD1(
CViewport, GetRenderTargetName_s,
const char**) { *p1 = cls->GetRenderTargetName().c_str();
return S_OK; }
56 ATTRIBUTE_METHOD1(
CViewport, SetRenderTargetName_s,
const char*) { cls->SetRenderTargetName(p1);
return S_OK; }
58 ATTRIBUTE_METHOD1(
CViewport, GetPipelineOrder_s,
int*) { *p1 = cls->GetPipelineOrder();
return S_OK; }
59 ATTRIBUTE_METHOD1(
CViewport, SetPipelineOrder_s,
int) { cls->SetPipelineOrder(p1);
return S_OK; }
67 return (_Left ? _Left->GetZOrder() : 1000) < (_Right ? _Right->GetZOrder() : 1000);
76 HRESULT
Render(
double dTimeDelta,
int nPipelineOrder);
87 virtual const std::string& GetIdentifier();
88 virtual void SetIdentifier(
const std::string& sID);
94 void SetCamera(
CAutoCamera* val) { m_pCamera = val; }
96 CGUIRoot* GetGUIRoot() {
return m_pGUIRoot; }
97 void SetGUIRoot(
CGUIRoot* val) { m_pGUIRoot = val; }
100 const std::string& GetRenderScript()
const;
101 void SetRenderScript(
const std::string&& val);
105 void SetRenderTargetName(
const std::string& val);
109 void SetPipelineOrder(
int val);
113 void SetPosition(
const char* alignment,
int left,
int top,
int width,
int height);
121 bool IsPointOnViewport(
int x,
int y);
125 float GetAspectRatio();
127 void SetAlignment(
const char* alignment);
128 void SetLeft(
int left);
130 void SetTop(
int top);
132 void SetWidth(
int width);
133 void SetHeight(
int height);
134 ParaEngine::STEREO_EYE GetEyeMode()
const;
135 void SetEyeMode(ParaEngine::STEREO_EYE val);
140 ParaViewport SetViewport(DWORD x, DWORD y, DWORD width, DWORD height);
147 int GetZOrder()
const;
148 void SetZOrder(
int val);
150 bool IsEnabled()
const;
151 void SetIsEnabled(
bool val);
159 float GetStereoEyeSeparation();
171 float m_fAspectRatio;
177 std::string m_sRenderTargetName;
180 STEREO_EYE m_nEyeMode;
183 std::string m_sRenderScript;
186 int m_nPipelineOrder;
void GetViewportTransform(Vector2 *pvScale, Vector2 *pvOffset=NULL)
get viewport transform in terms of scale and offset
Definition: Viewport.cpp:287
an attribute class is a collection of attribute fields.
Definition: AttributeClass.h:10
void OnParentSizeChanged(int nWidth, int nHeight)
called when back buffer size changed.
Definition: Viewport.cpp:196
ParaViewport ApplyViewport()
return last viewport
Definition: Viewport.cpp:281
a render target scene object.
Definition: RenderTarget.h:16
different physics engine has different winding order.
Definition: EventBinding.h:32
Auto Camera is designed to handle smooth transitions between supported camera type, such as first person camera, third person camera, and rotation camera.
Definition: AutoCamera.h:14
Definition: ManagedDef.h:18
void SetActive()
make this viewport the current active one.
Definition: Viewport.cpp:421
ParaViewport GetTextureViewport(float fTexWidth, float fTexHeight)
get the viewport as used for a given render target of given size.
Definition: Viewport.cpp:356
virtual const char * GetAttributeClassDescription()
a static string, describing the attribute class object
Definition: Viewport.h:32
Definition: ParaViewport.h:5
HRESULT Render(double dTimeDelta, int nPipelineOrder)
build the render list, and render the entire scene.
Definition: Viewport.cpp:99
Standard 2-dimensional vector.
Definition: ParaVector2.h:16
void GetPointOnViewport(int &x, int &y, int *pWidth, int *pHeight)
Definition: Viewport.cpp:233
const std::string & GetRenderTargetName() const
render target to use.
Definition: Viewport.cpp:81
virtual int GetAttributeClassID()
attribute class ID should be identical, unless one knows how overriding rules work.
Definition: Viewport.h:28
a region of view port to render into.
Definition: Viewport.h:21
virtual int InstallFields(CAttributeClass *pClass, bool bOverride)
this class should be implemented if one wants to add new attribute.
Definition: Viewport.cpp:178
A common interface for all classes implementing IAttributeFields By implementing this class's virtual...
Definition: IAttributeFields.h:59
virtual const char * GetAttributeClassName()
a static string, describing the attribute class object's name
Definition: Viewport.h:30
The top level scene management class.
Definition: SceneObject.h:58
int GetPipelineOrder() const
-1 or RENDER_PIPELINE_ORDER.
Definition: Viewport.cpp:71
Definition: Viewport.h:63
manager multiple viewport
Definition: ViewportManager.h:18
position of the GUI object
Definition: GUIPosition.h:34
bool DrawQuad()
draw post processing quad for this viewport's area.
Definition: Viewport.cpp:301
void SetPosition(const char *alignment, int left, int top, int width, int height)
reposition the control using the same parameter definition used when control is created.
Definition: Viewport.cpp:244
When rendering scene, root scene and the root GUI are rendered in sequence.
Definition: GUIRoot.h:48