Mercurial > LightClone
view 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 |
line wrap: on
line source
/* * GuiCursor */ #include "GuiCursor.h" #include "VertexTypes.h" /* * GuiCursor */ GuiCursor::GuiCursor() : GuiElement(), pTexture(NULL) { } /* * Render */ void GuiCursor::Render(GuiRenderContext& kContext) { if(pTexture) { /* uint32 nPasses = 0; const float fOffsetX = -0.5f * ScreenSizeX; const float fOffsetY = +0.5f * ScreenSizeY; const D3DXVECTOR4 kColorVector(1.0f, 1.0f, 1.0f, 1.0f); kContext.GetRenderContext()->ApplyCameraToEffect(*kContext.GetCamera(), pEffect); pEffect->SetTechnique(pEffect->GetTechnique(0)); pEffect->Begin(&nPasses, 0); pEffect->BeginPass(0); D3DXMATRIX kScale; D3DXMatrixScaling(&kScale, kDimensions.x, kDimensions.y, 1.0f); D3DXMATRIX kTranslate; D3DXMatrixTranslation(&kTranslate, fOffsetX + kPosition.x + 0.5f, fOffsetY - kPosition.y + 0.5f, 0.0f); D3DXMATRIX kWorldMatrix; D3DXMatrixMultiply(&kWorldMatrix, &kScale, &kTranslate); pEffect->SetMatrix(pEffect->GetParameterByName(NULL, "kWorld"), &kWorldMatrix); pEffect->SetVector(pEffect->GetParameterByName(NULL, "kColor"), &kColorVector); pEffect->SetTexture(pEffect->GetParameterByName(NULL, "kTexture"), pTexture); pEffect->CommitChanges(); kContext.GetRenderContext()->DrawTriangles(Vertex::Quad::Declaration, pVertexBuffer, sizeof(Vertex::Quad), TrianglesPerFace); pEffect->EndPass(); pEffect->End(); */ kContext.Add(pTexture, GetPosition(), GetDepth(), GetDimensions(), kColor); } GuiElement::Render(kContext); } /* * SetTexture */ ErrorCode GuiCursor::SetTexture(const char* pName, bool bResize) { pTexture = NULL; ErrorCode eCode = pResourceManager->CreateTextureFromFile(pName, &pTexture); if(eCode == Error_Success) { if(bResize) { D3DSURFACE_DESC kDescriptor; pTexture->GetLevelDesc(0, &kDescriptor); kDimensions.x = (float)kDescriptor.Width; kDimensions.y = (float)kDescriptor.Height; } } return eCode; }