comparison LightClone/Source/GuiCursor.cpp @ 51:efd2b1ca5b77

Clean up gui
author koryspansel <koryspansel@bendbroadband.com>
date Tue, 27 Sep 2011 09:42:01 -0700
parents 7ff46a00bcd3
children 3507bd831c7f
comparison
equal deleted inserted replaced
50:7ff46a00bcd3 51:efd2b1ca5b77
6 #include "VertexTypes.h" 6 #include "VertexTypes.h"
7 7
8 /* 8 /*
9 * GuiCursor 9 * GuiCursor
10 */ 10 */
11 GuiCursor::GuiCursor() : pEffect(NULL), pVertexBuffer(NULL), pTexture(NULL) 11 GuiCursor::GuiCursor() : GuiElement(), pTexture(NULL)
12 {
13 }
14
15 /*
16 * Initialize
17 */
18 ErrorCode GuiCursor::Initialize(ResourceManager* pManager)
19 {
20 pResourceManager = pManager;
21
22 ErrorCode eCode = pResourceManager->CreateEffectFromFile("Data\\Shaders\\TexturedQuad.fx", &pEffect);
23 if(eCode == Error_Success)
24 {
25 eCode = pResourceManager->CreateVertexBuffer(6 * sizeof(Vertex::Quad), D3DUSAGE_WRITEONLY, D3DPOOL_MANAGED, &pVertexBuffer);
26 if(eCode == Error_Success)
27 {
28 eCode = SetupVertexBuffer();
29 }
30 }
31
32 return eCode;
33 }
34
35 /*
36 * Terminate
37 */
38 void GuiCursor::Terminate()
39 {
40 if(pVertexBuffer)
41 {
42 pVertexBuffer->Release();
43 pVertexBuffer = NULL;
44 }
45 }
46
47 /*
48 * Update
49 */
50 void GuiCursor::Update(float fElapsed)
51 { 12 {
52 } 13 }
53 14
54 /* 15 /*
55 * Render 16 * Render
56 */ 17 */
57 //void GuiCursor::Render(RenderContext& kContext, Camera& kCamera)
58 void GuiCursor::Render(GuiRenderContext& kContext) 18 void GuiCursor::Render(GuiRenderContext& kContext)
59 { 19 {
60 if(pTexture) 20 if(pTexture)
61 { 21 {
22 /*
62 uint32 nPasses = 0; 23 uint32 nPasses = 0;
63 24
64 const float fOffsetX = -0.5f * ScreenSizeX; 25 const float fOffsetX = -0.5f * ScreenSizeX;
65 const float fOffsetY = +0.5f * ScreenSizeY; 26 const float fOffsetY = +0.5f * ScreenSizeY;
66 27
88 49
89 kContext.GetRenderContext()->DrawTriangles(Vertex::Quad::Declaration, pVertexBuffer, sizeof(Vertex::Quad), TrianglesPerFace); 50 kContext.GetRenderContext()->DrawTriangles(Vertex::Quad::Declaration, pVertexBuffer, sizeof(Vertex::Quad), TrianglesPerFace);
90 51
91 pEffect->EndPass(); 52 pEffect->EndPass();
92 pEffect->End(); 53 pEffect->End();
54 */
55 kContext.Add(pTexture, GetPosition(), GetDepth(), GetDimensions(), kColor);
93 } 56 }
94 57
95 GuiElement::Render(kContext); 58 GuiElement::Render(kContext);
96 } 59 }
97 60
115 } 78 }
116 } 79 }
117 80
118 return eCode; 81 return eCode;
119 } 82 }
120
121 /*
122 * SetupVertexBuffer
123 */
124 ErrorCode GuiCursor::SetupVertexBuffer()
125 {
126 Vertex::Quad* pVertices = NULL;
127
128 HRESULT hResult = pVertexBuffer->Lock(0, 0, (void**)&pVertices, D3DLOCK_DISCARD);
129 if(FAILED(hResult))
130 {
131 return Error_Fail;
132 }
133
134 pVertices[0] = Vertex::Quad(+0.0f, -1.0f, 1.0f, 0.0f, 1.0f);
135 pVertices[1] = Vertex::Quad(+0.0f, +0.0f, 1.0f, 0.0f, 0.0f);
136 pVertices[2] = Vertex::Quad(+1.0f, +0.0f, 1.0f, 1.0f, 0.0f);
137 pVertices[3] = Vertex::Quad(+0.0f, -1.0f, 1.0f, 0.0f, 1.0f);
138 pVertices[4] = Vertex::Quad(+1.0f, +0.0f, 1.0f, 1.0f, 0.0f);
139 pVertices[5] = Vertex::Quad(+1.0f, -1.0f, 1.0f, 1.0f, 1.0f);
140
141 pVertexBuffer->Unlock();
142
143 return Error_Success;
144 }