Mercurial > LightClone
view LightClone/Source/GuiImage.cpp @ 74:40c0b5305de8
Work on removing ScreenManager
author | koryspansel |
---|---|
date | Tue, 18 Oct 2011 11:56:49 -0700 |
parents | 3507bd831c7f |
children |
line wrap: on
line source
/* * GuiImage */ #include "GuiImage.h" #include "VertexTypes.h" /* * GuiImage */ GuiImage::GuiImage() : pTexture(NULL) { } /* * Initialize */ ErrorCode GuiImage::Initialize(ServiceProvider* pServiceProvider) { return GuiElement::Initialize(pServiceProvider); } /* * Render */ void GuiImage::Render(GuiRenderContext& kContext) { if(nFlags & GuiElementFlag_Visible) { if(pTexture) { kContext.Add(pTexture, GetPosition(), GetDepth(), GetDimensions(), D3DCOLOR_XRGB(255, 255, 255)); } GuiElement::Render(kContext); } } /* * SetTexture */ ErrorCode GuiImage::SetTexture(const char* pName, bool bResize) { pTexture = NULL; ResourceManager* pResourceManager = NULL; ErrorCode eCode = pServiceProvider->GetService("ResourceManager", &pResourceManager); if(eCode == Error_Success) { 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; }