aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/XUI/XUI_Ctrl_MinecraftSlot.h
blob: 5dafec53adbaa31d030837819fabd3be918435b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#pragma once

#include <string>
#include <XuiApp.h>

using namespace std;

class TileRenderer;
class ItemRenderer;

//-----------------------------------------------------------------------------
//  CXuiCtrlMinecraftSlot class
//-----------------------------------------------------------------------------
class CXuiCtrlMinecraftSlot : public CXuiControlImpl
{
public:
	XUI_IMPLEMENT_CLASS(CXuiCtrlMinecraftSlot, L"CXuiCtrlMinecraftSlot", XUI_CLASS_LABEL)

	VOID SetPassThroughDataAssociation(unsigned int iID, unsigned int iData);
	CXuiCtrlMinecraftSlot();
	virtual ~CXuiCtrlMinecraftSlot();

	void renderGuiItem(Font *font, Textures *textures,ItemInstance *item, int x, int y);
	void RenderItem();
	void SetIcon(int iPad, int iId,int iAuxVal, int iCount, int iScale, unsigned int uiAlpha,bool bDecorations,BOOL bShow, bool isFoil);
	void SetIcon(int iPad, shared_ptr<ItemInstance> item, int iScale, unsigned int uiAlpha,bool bDecorations, BOOL bShow=TRUE);

protected:

	XUI_BEGIN_MSG_MAP()
		XUI_ON_XM_INIT(OnInit)
		XUI_ON_XM_GET_SOURCE_IMAGE(OnGetSourceImage)
		XUI_ON_XM_RENDER(OnRender)
		XUI_END_MSG_MAP()

	HRESULT OnGetSourceImage(XUIMessageGetSourceImage* pData, BOOL& rfHandled);
	HRESULT OnInit(XUIMessageInit* pInitData, BOOL& rfHandled);
	HRESULT OnRender(XUIMessageRender *pRenderData, BOOL &rfHandled);

private:
	shared_ptr<ItemInstance> m_item;
	BOOL m_bDirty;
	INT m_iPassThroughDataAssociation;
	INT m_iPassThroughIdAssociation;
	float m_fScale,m_fAlpha;
	int m_iPad;
	int m_iID;
	int m_iCount;
	int m_iAuxVal;
	bool m_bDecorations;
	bool m_isFoil;
	int m_popTime;

	bool m_bScreenWidthSetup;
	float m_fScreenWidth,m_fScreenHeight;
	ItemRenderer *m_pItemRenderer;

	static LPCWSTR xzpIcons[15];
};