151 lines
4.6 KiB
C++
151 lines
4.6 KiB
C++
#pragma once
|
|
class LGUIMapBlip :
|
|
public LGUIFrame
|
|
{
|
|
public:
|
|
LGUI_API LGUIMapBlip(const char *p_Factory, LGUIElement *p_pParent, const char *p_Name);
|
|
LGUI_API ~LGUIMapBlip(void);
|
|
LGUI_API bool IsTypeOf(char *TestFactory);
|
|
LGUI_API class LSTypeDefinition *GetLSType();
|
|
|
|
LGUI_API void OnMouseEnter(POINT2I &pt);
|
|
LGUI_API void OnMouseExit(LGUIElement *pNewFocus);
|
|
|
|
LGUI_API bool FromXML(class XMLNode *pXML, class XMLNode *pTemplate=0);
|
|
|
|
LGUI_API void Render();
|
|
|
|
LGUI_API bool SetTooltip(LGUITooltip *pTooltip);
|
|
|
|
LGUIFont *pFont;
|
|
LGUIEmbeddedScript *pSetTooltip;
|
|
|
|
POINT3F Point;
|
|
char *Custom;
|
|
char *Label;
|
|
};
|
|
|
|
class LGUIMapBlipView :
|
|
public LGUIFrame
|
|
{
|
|
public:
|
|
LGUI_API LGUIMapBlipView(const char *p_Factory, LGUIElement *p_pParent, const char *p_Name);
|
|
LGUI_API ~LGUIMapBlipView(void);
|
|
LGUI_API bool IsTypeOf(char *TestFactory);
|
|
// LGUI_API class LSTypeDefinition *GetLSType();
|
|
|
|
LGUI_API void OnMouseEnter(POINT2I &pt);
|
|
LGUI_API void OnMouseExit(LGUIElement *pNewFocus);
|
|
|
|
LGUI_API bool FromXML(class XMLNode *pXML, class XMLNode *pTemplate=0);
|
|
|
|
LGUI_API void UpdateSize();
|
|
LGUI_API void Render();
|
|
LGUI_API bool SetTooltip(LGUITooltip *pTooltip);
|
|
|
|
LGUIMapBlip *pBlip;
|
|
};
|
|
|
|
class LGUIMapView;
|
|
|
|
class LGUIMap :
|
|
public LGUIElement
|
|
{
|
|
public:
|
|
LGUI_API LGUIMap(const char *p_Factory, LGUIElement *p_pParent, const char *p_Name);
|
|
LGUI_API ~LGUIMap(void);
|
|
LGUI_API bool IsTypeOf(char *TestFactory);
|
|
LGUI_API class LSTypeDefinition *GetLSType();
|
|
|
|
LGUI_API void OnCreate();
|
|
LGUI_API bool FromXML(class XMLNode *pXML, class XMLNode *pTemplate=0);
|
|
|
|
LGUI_API void Render();
|
|
|
|
char BlipFactory[64];
|
|
char *BlipTemplate;
|
|
|
|
POINT3F Origin; // center of Map (player location?)
|
|
float Rotation; // rotation of Map (player heading?)
|
|
float MapSizeX; // size of Map box in game units (east-west) - MapSizeY not used if ClipRadius is set.
|
|
float MapSizeY; // size of Map box in game units (north-south)
|
|
bool bClipRadius; // use radius clipping instead of box clipping
|
|
bool bClipZ; // height clipping
|
|
bool bShowLabels; // show labels?
|
|
bool bRotation; // Rotate Map around origin?
|
|
bool bClipText; // Clip text to Map edge?
|
|
POINT2F ZClipping; // min/max height difference from origin. X = min, Y = max
|
|
|
|
LGUI_API virtual void BlipHover(LGUIMapBlip *pBlip, POINT2I &Pos);
|
|
LGUI_API virtual void BlipHoverStop(LGUIMapBlip *pBlip);
|
|
|
|
// Blip Manipulation
|
|
LGUI_API virtual unsigned int AddBlip(char *Name, POINT3F &Point, unsigned int Size, char *Label=0, char *BlipTemplate=0, char *BlipFactory=0);
|
|
LGUI_API virtual void RemoveBlip(unsigned int ID);
|
|
LGUI_API virtual void ClearBlips();
|
|
LGUI_API virtual void UpdateBlip(unsigned int ID, POINT3F &Point);
|
|
LGUI_API virtual void UpdateBlipLabel(unsigned int ID, char *Label);
|
|
LGUI_API virtual void UpdateBlipSize(unsigned int ID, unsigned int Size);
|
|
|
|
|
|
LGUI_API virtual LGUIMapBlip *NewBlip(char *Name, char *BlipTemplate=0, char *BlipFactory=0);
|
|
LGUI_API virtual LGUIMapBlip *FindBlip(char *Name);
|
|
|
|
LGUI_API virtual void UpdateRadius();
|
|
LGUI_API virtual void UpdateBox();
|
|
|
|
map<unsigned int, LGUIMapBlip *> Blips;
|
|
map<utf8string, LGUIMapBlip *> BlipsByName;
|
|
map<unsigned int, LGUIMapView *> Views;
|
|
|
|
unsigned int HoverID;
|
|
unsigned int nBlips;
|
|
|
|
LGUITooltip *pTooltip;
|
|
};
|
|
|
|
class LGUIMapView :
|
|
public LGUIElement
|
|
{
|
|
public:
|
|
LGUI_API LGUIMapView(const char *p_Factory, LGUIElement *p_pParent, const char *p_Name);
|
|
LGUI_API ~LGUIMapView(void);
|
|
LGUI_API bool IsTypeOf(char *TestFactory);
|
|
// LGUI_API class LSTypeDefinition *GetLSType();
|
|
|
|
// LGUI_API void ClearBlips();
|
|
|
|
LGUI_API void OnCreate();
|
|
LGUI_API bool FromXML(class XMLNode *pXML, class XMLNode *pTemplate=0);
|
|
|
|
LGUI_API void Render();
|
|
|
|
POINT3F Origin; // center of Map (player location?)
|
|
float Rotation; // rotation of Map (player heading?)
|
|
float MapSizeX; // size of Map box in game units (east-west) - MapSizeY not used if ClipRadius is set.
|
|
float MapSizeY; // size of Map box in game units (north-south)
|
|
bool bClipRadius; // use radius clipping instead of box clipping
|
|
bool bClipZ; // height clipping
|
|
bool bShowLabels; // show labels?
|
|
bool bRotation; // Rotate Map around origin?
|
|
bool bClipText; // Clip text to Map edge?
|
|
POINT2F ZClipping; // min/max height difference from origin. X = min, Y = max
|
|
|
|
LGUI_API virtual void BlipHover(LGUIMapBlipView *pBlip, POINT2I &Pos);
|
|
LGUI_API virtual void BlipHoverStop(LGUIMapBlipView *pBlip);
|
|
|
|
|
|
LGUI_API virtual void UpdateRadius();
|
|
LGUI_API virtual void UpdateBox();
|
|
|
|
// LGUI_API virtual void AddBlipView(LGUIMapBlip *pBlip);
|
|
// LGUI_API virtual void RemoveBlipView(LGUIMapBlip *pBlip);
|
|
|
|
map<LGUIMapBlip *, LGUIMapBlipView *> BlipViews;
|
|
LGUIMap *pMap;
|
|
|
|
unsigned int HoverID;
|
|
|
|
LGUITooltip *pTooltip;
|
|
};
|