Updates making CGUI a singleton
This was SVN commit r38.
This commit is contained in:
parent
fd1cd7ab28
commit
da6d6c60a9
@ -140,8 +140,8 @@ void CButton::Draw()
|
|||||||
//////////
|
//////////
|
||||||
|
|
||||||
glPushMatrix();
|
glPushMatrix();
|
||||||
/// glTranslatef(0.0f, 0.0f, GetBaseSettings().m_Z);
|
glTranslatef(0.0f, 0.0f, GetBaseSettings().m_Z);
|
||||||
glTranslatef(0.0f, 0.0f, 0.0f);
|
/// glTranslatef(0.0f, 0.0f, 0.0f);
|
||||||
|
|
||||||
// Do this
|
// Do this
|
||||||
glBegin(GL_QUADS);
|
glBegin(GL_QUADS);
|
||||||
@ -151,12 +151,12 @@ void CButton::Draw()
|
|||||||
glVertex2i(GetBaseSettings().m_Size.right, GetBaseSettings().m_Size.top);
|
glVertex2i(GetBaseSettings().m_Size.right, GetBaseSettings().m_Size.top);
|
||||||
glEnd();
|
glEnd();
|
||||||
|
|
||||||
glDisable(GL_DEPTH_TEST);
|
//glDisable(GL_DEPTH_TEST);
|
||||||
|
|
||||||
glColor3f(0,0,0);
|
//glColor3f(0,0,0);
|
||||||
/// font.print(GetBaseSettings().m_Size.left + 3, GetBaseSettings().m_Size.top - 15, LEFT, "Object: %s", GetName().c_str());
|
//font.print(GetBaseSettings().m_Size.left + 3, GetBaseSettings().m_Size.top - 15, LEFT, "Object: %s", GetName().c_str());
|
||||||
|
|
||||||
glEnable(GL_DEPTH_TEST);
|
//glEnable(GL_DEPTH_TEST);
|
||||||
|
|
||||||
glPopMatrix();
|
glPopMatrix();
|
||||||
}
|
}
|
@ -84,7 +84,7 @@ bool CGUI::HandleEvent(const SDL_Event& ev)
|
|||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
CGUI::CGUI()
|
CGUI::CGUI()
|
||||||
{
|
{
|
||||||
m_BaseObject = new CButton; // Big todo!
|
m_BaseObject = new CGUIDummyObject;
|
||||||
m_BaseObject->SetGUI(this);
|
m_BaseObject->SetGUI(this);
|
||||||
|
|
||||||
// This will make this invisible, not add
|
// This will make this invisible, not add
|
||||||
@ -355,7 +355,7 @@ void CGUI::LoadXMLFile(const CStr &Filename)
|
|||||||
parser->setDoSchema(false);
|
parser->setDoSchema(false);
|
||||||
|
|
||||||
// Set cosutomized error handler
|
// Set cosutomized error handler
|
||||||
XercesErrorHandler *errorHandler = new XercesErrorHandler();
|
CXercesErrorHandler *errorHandler = new CXercesErrorHandler();
|
||||||
parser->setErrorHandler(errorHandler);
|
parser->setErrorHandler(errorHandler);
|
||||||
|
|
||||||
parser->setCreateEntityReferenceNodes(false);
|
parser->setCreateEntityReferenceNodes(false);
|
||||||
|
@ -25,7 +25,7 @@ map_Settings CGUIObject::m_SettingsInfo;
|
|||||||
// m_SettingsInfo, GeeTODO, I'm not sure if this is
|
// m_SettingsInfo, GeeTODO, I'm not sure if this is
|
||||||
// the appropriate file, but it crashes if it's not
|
// the appropriate file, but it crashes if it's not
|
||||||
// in this file.
|
// in this file.
|
||||||
CGUI g_GUI;
|
//CGUI g_GUI;
|
||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
// Implementation Macros
|
// Implementation Macros
|
||||||
|
@ -8,6 +8,9 @@ gee@pyro.nu
|
|||||||
All objects are derived from this class, it's an ADT
|
All objects are derived from this class, it's an ADT
|
||||||
so it can't be used per se
|
so it can't be used per se
|
||||||
|
|
||||||
|
Also contains a Dummy object which is used for
|
||||||
|
completely blank objects.
|
||||||
|
|
||||||
--Usage--
|
--Usage--
|
||||||
|
|
||||||
Write about how to use it here
|
Write about how to use it here
|
||||||
@ -35,7 +38,7 @@ gee@pyro.nu
|
|||||||
struct SGUISetting;
|
struct SGUISetting;
|
||||||
class CGUI;
|
class CGUI;
|
||||||
|
|
||||||
extern CGUI g_GUI;
|
//extern CGUI g_GUI;
|
||||||
|
|
||||||
//--------------------------------------------------------
|
//--------------------------------------------------------
|
||||||
// Macros
|
// Macros
|
||||||
@ -234,8 +237,8 @@ protected:
|
|||||||
// void UpdateObjects();
|
// void UpdateObjects();
|
||||||
|
|
||||||
// Get cached mouse x/y from CGUI
|
// Get cached mouse x/y from CGUI
|
||||||
u16 GetMouseX() const; //{ return ((GetGUI())?(GetGUI()->m_MouseX):0); }
|
u16 GetMouseX() const;
|
||||||
u16 GetMouseY() const; //{ return ((GetGUI())?(GetGUI()->m_MouseY):0); }
|
u16 GetMouseY() const;
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -282,4 +285,15 @@ private:
|
|||||||
CGUI *m_pGUI;
|
CGUI *m_pGUI;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
//--------------------------------------------------------
|
||||||
|
// Dummy object used primarily for the root object
|
||||||
|
// which isn't a *real* object in the GUI.
|
||||||
|
//--------------------------------------------------------
|
||||||
|
class CGUIDummyObject : public CGUIObject
|
||||||
|
{
|
||||||
|
virtual void HandleMessage(const EGUIMessage &Message) {}
|
||||||
|
virtual void Draw() {}
|
||||||
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
@ -38,6 +38,10 @@ class CGUIObject;
|
|||||||
//--------------------------------------------------------
|
//--------------------------------------------------------
|
||||||
// Macros
|
// Macros
|
||||||
//--------------------------------------------------------
|
//--------------------------------------------------------
|
||||||
|
|
||||||
|
// Global CGUI
|
||||||
|
#define g_GUI CGUI::GetSingleton()
|
||||||
|
|
||||||
// Temp
|
// Temp
|
||||||
#define CInput nemInput
|
#define CInput nemInput
|
||||||
#define CStr std::string
|
#define CStr std::string
|
||||||
|
@ -9,6 +9,9 @@ gee@pyro.nu
|
|||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
|
//--------------------------------------------------------
|
||||||
|
// Utilities implementation
|
||||||
|
//--------------------------------------------------------
|
||||||
CGUIObject * CInternalCGUIAccessorBase::GetObjectPointer(CGUI &GUIinstance, const CStr &Object)
|
CGUIObject * CInternalCGUIAccessorBase::GetObjectPointer(CGUI &GUIinstance, const CStr &Object)
|
||||||
{
|
{
|
||||||
// if (!GUIinstance.ObjectExists(Object))
|
// if (!GUIinstance.ObjectExists(Object))
|
||||||
|
@ -17,14 +17,14 @@ gee@pyro.nu
|
|||||||
XERCES_CPP_NAMESPACE_USE
|
XERCES_CPP_NAMESPACE_USE
|
||||||
|
|
||||||
|
|
||||||
void XercesErrorHandler::warning(const SAXParseException&)
|
void CXercesErrorHandler::warning(const SAXParseException&)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
// Ignore all warnings.
|
// Ignore all warnings.
|
||||||
//
|
//
|
||||||
}
|
}
|
||||||
|
|
||||||
void XercesErrorHandler::error(const SAXParseException& toCatch)
|
void CXercesErrorHandler::error(const SAXParseException& toCatch)
|
||||||
{
|
{
|
||||||
char * buf = XMLString::transcode(toCatch.getMessage());
|
char * buf = XMLString::transcode(toCatch.getMessage());
|
||||||
fSawErrors = true;
|
fSawErrors = true;
|
||||||
@ -39,7 +39,7 @@ void XercesErrorHandler::error(const SAXParseException& toCatch)
|
|||||||
/// g_nemLog(" Error: %s", XMLString::transcode(toCatch.getMessage()));
|
/// g_nemLog(" Error: %s", XMLString::transcode(toCatch.getMessage()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void XercesErrorHandler::fatalError(const SAXParseException& toCatch)
|
void CXercesErrorHandler::fatalError(const SAXParseException& toCatch)
|
||||||
{
|
{
|
||||||
char * buf = XMLString::transcode(toCatch.getMessage());
|
char * buf = XMLString::transcode(toCatch.getMessage());
|
||||||
fSawErrors = true;
|
fSawErrors = true;
|
||||||
@ -55,7 +55,7 @@ void XercesErrorHandler::fatalError(const SAXParseException& toCatch)
|
|||||||
/// g_nemLog(" Error: %s", XMLString::transcode(toCatch.getMessage()));
|
/// g_nemLog(" Error: %s", XMLString::transcode(toCatch.getMessage()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void XercesErrorHandler::resetErrors()
|
void CXercesErrorHandler::resetErrors()
|
||||||
{
|
{
|
||||||
fSawErrors = false;
|
fSawErrors = false;
|
||||||
}
|
}
|
||||||
|
@ -25,18 +25,18 @@ gee@pyro.nu
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
|
|
||||||
class XercesErrorHandler : public XERCES_CPP_NAMESPACE::ErrorHandler
|
class CXercesErrorHandler : public XERCES_CPP_NAMESPACE::ErrorHandler
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// -----------------------------------------------------------------------
|
// -----------------------------------------------------------------------
|
||||||
// Constructors and Destructor
|
// Constructors and Destructor
|
||||||
// -----------------------------------------------------------------------
|
// -----------------------------------------------------------------------
|
||||||
XercesErrorHandler() :
|
CXercesErrorHandler() :
|
||||||
fSawErrors(false)
|
fSawErrors(false)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
~XercesErrorHandler()
|
~CXercesErrorHandler()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -66,7 +66,7 @@ private:
|
|||||||
bool fSawErrors;
|
bool fSawErrors;
|
||||||
};
|
};
|
||||||
|
|
||||||
inline bool XercesErrorHandler::getSawErrors() const
|
inline bool CXercesErrorHandler::getSawErrors() const
|
||||||
{
|
{
|
||||||
return fSawErrors;
|
return fSawErrors;
|
||||||
}
|
}
|
||||||
|
@ -164,7 +164,9 @@ glColor3f(1.0f, 1.0f, 1.0f);
|
|||||||
glMatrixMode(GL_PROJECTION);
|
glMatrixMode(GL_PROJECTION);
|
||||||
glPushMatrix();
|
glPushMatrix();
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
glOrtho(0., xres, 0., yres, -1., 1.);
|
////// janwas: I changed to some more for the GUI, we can talk about how to set this up
|
||||||
|
glOrtho(0., xres, 0., yres, -1000., 1.);
|
||||||
|
//////
|
||||||
glMatrixMode(GL_MODELVIEW);
|
glMatrixMode(GL_MODELVIEW);
|
||||||
glPushMatrix();
|
glPushMatrix();
|
||||||
|
|
||||||
@ -229,8 +231,8 @@ int main(int argc, char* argv[])
|
|||||||
detect();
|
detect();
|
||||||
|
|
||||||
///// janwas: place this wherever
|
///// janwas: place this wherever
|
||||||
|
new CGUI; // we should have a place for all singleton news
|
||||||
g_GUI.Initialize();
|
g_GUI.Initialize();
|
||||||
|
|
||||||
g_GUI.LoadXMLFile("hello.xml");
|
g_GUI.LoadXMLFile("hello.xml");
|
||||||
//g_GUI.LoadXMLFile("sprite1.xml");
|
//g_GUI.LoadXMLFile("sprite1.xml");
|
||||||
/////
|
/////
|
||||||
@ -305,6 +307,7 @@ in_add_handler(terr_handler);
|
|||||||
|
|
||||||
///// Janwas place this wherever
|
///// Janwas place this wherever
|
||||||
g_GUI.Destroy();
|
g_GUI.Destroy();
|
||||||
|
delete CGUI::GetSingletonPtr(); // again, we should have all singleton deletes somewhere
|
||||||
/////
|
/////
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user