annotate LightClone/Source/GuiImage.cpp @ 64:3507bd831c7f

Hook up ServiceProvider
author koryspansel <koryspansel@bendbroadband.com>
date Tue, 04 Oct 2011 13:02:45 -0700
parents efd2b1ca5b77
children
rev   line source
18
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
1 /*
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
2 * GuiImage
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
3 */
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
4
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
5 #include "GuiImage.h"
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
6 #include "VertexTypes.h"
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
7
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
8 /*
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
9 * GuiImage
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
10 */
51
efd2b1ca5b77 Clean up gui
koryspansel <koryspansel@bendbroadband.com>
parents: 50
diff changeset
11 GuiImage::GuiImage() : pTexture(NULL)
18
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
12 {
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
13 }
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
14
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
15 /*
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
16 * Initialize
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
17 */
64
3507bd831c7f Hook up ServiceProvider
koryspansel <koryspansel@bendbroadband.com>
parents: 51
diff changeset
18 ErrorCode GuiImage::Initialize(ServiceProvider* pServiceProvider)
18
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
19 {
64
3507bd831c7f Hook up ServiceProvider
koryspansel <koryspansel@bendbroadband.com>
parents: 51
diff changeset
20 return GuiElement::Initialize(pServiceProvider);
18
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
21 }
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
22
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
23 /*
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
24 * Render
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
25 */
50
7ff46a00bcd3 Working on GuiRenderContext
koryspansel
parents: 27
diff changeset
26 void GuiImage::Render(GuiRenderContext& kContext)
18
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
27 {
26
3a63df04f3c0 Several Gui enhancements; Drag and drop should work; Added resource caching
koryspansel
parents: 23
diff changeset
28 if(nFlags & GuiElementFlag_Visible)
18
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
29 {
23
a785b0aaf004 More work on the Gui system
koryspansel
parents: 21
diff changeset
30 if(pTexture)
a785b0aaf004 More work on the Gui system
koryspansel
parents: 21
diff changeset
31 {
51
efd2b1ca5b77 Clean up gui
koryspansel <koryspansel@bendbroadband.com>
parents: 50
diff changeset
32 kContext.Add(pTexture, GetPosition(), GetDepth(), GetDimensions(), D3DCOLOR_XRGB(255, 255, 255));
23
a785b0aaf004 More work on the Gui system
koryspansel
parents: 21
diff changeset
33 }
18
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
34
50
7ff46a00bcd3 Working on GuiRenderContext
koryspansel
parents: 27
diff changeset
35 GuiElement::Render(kContext);
18
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
36 }
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
37 }
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
38
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
39 /*
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
40 * SetTexture
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
41 */
21
b4dc5d674e22 Added GUI event system and some support data structures
koryspansel
parents: 18
diff changeset
42 ErrorCode GuiImage::SetTexture(const char* pName, bool bResize)
18
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
43 {
27
5656c8e382fc More Gui work; Remove some old files
koryspansel
parents: 26
diff changeset
44 pTexture = NULL;
18
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
45
64
3507bd831c7f Hook up ServiceProvider
koryspansel <koryspansel@bendbroadband.com>
parents: 51
diff changeset
46 ResourceManager* pResourceManager = NULL;
3507bd831c7f Hook up ServiceProvider
koryspansel <koryspansel@bendbroadband.com>
parents: 51
diff changeset
47
3507bd831c7f Hook up ServiceProvider
koryspansel <koryspansel@bendbroadband.com>
parents: 51
diff changeset
48 ErrorCode eCode = pServiceProvider->GetService("ResourceManager", &pResourceManager);
21
b4dc5d674e22 Added GUI event system and some support data structures
koryspansel
parents: 18
diff changeset
49 if(eCode == Error_Success)
b4dc5d674e22 Added GUI event system and some support data structures
koryspansel
parents: 18
diff changeset
50 {
64
3507bd831c7f Hook up ServiceProvider
koryspansel <koryspansel@bendbroadband.com>
parents: 51
diff changeset
51 eCode = pResourceManager->CreateTextureFromFile(pName, &pTexture);
3507bd831c7f Hook up ServiceProvider
koryspansel <koryspansel@bendbroadband.com>
parents: 51
diff changeset
52 if(eCode == Error_Success)
21
b4dc5d674e22 Added GUI event system and some support data structures
koryspansel
parents: 18
diff changeset
53 {
64
3507bd831c7f Hook up ServiceProvider
koryspansel <koryspansel@bendbroadband.com>
parents: 51
diff changeset
54 if(bResize)
3507bd831c7f Hook up ServiceProvider
koryspansel <koryspansel@bendbroadband.com>
parents: 51
diff changeset
55 {
3507bd831c7f Hook up ServiceProvider
koryspansel <koryspansel@bendbroadband.com>
parents: 51
diff changeset
56 D3DSURFACE_DESC kDescriptor;
3507bd831c7f Hook up ServiceProvider
koryspansel <koryspansel@bendbroadband.com>
parents: 51
diff changeset
57 pTexture->GetLevelDesc(0, &kDescriptor);
21
b4dc5d674e22 Added GUI event system and some support data structures
koryspansel
parents: 18
diff changeset
58
64
3507bd831c7f Hook up ServiceProvider
koryspansel <koryspansel@bendbroadband.com>
parents: 51
diff changeset
59 kDimensions.x = (float)kDescriptor.Width;
3507bd831c7f Hook up ServiceProvider
koryspansel <koryspansel@bendbroadband.com>
parents: 51
diff changeset
60 kDimensions.y = (float)kDescriptor.Height;
3507bd831c7f Hook up ServiceProvider
koryspansel <koryspansel@bendbroadband.com>
parents: 51
diff changeset
61 }
21
b4dc5d674e22 Added GUI event system and some support data structures
koryspansel
parents: 18
diff changeset
62 }
b4dc5d674e22 Added GUI event system and some support data structures
koryspansel
parents: 18
diff changeset
63 }
b4dc5d674e22 Added GUI event system and some support data structures
koryspansel
parents: 18
diff changeset
64
b4dc5d674e22 Added GUI event system and some support data structures
koryspansel
parents: 18
diff changeset
65 return eCode;
18
33cb6979ac51 More work on GUI system
koryspansel
parents:
diff changeset
66 }