Mercurial > LightClone
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 } |