In no particular order:
- Added some of the most basic dialogs - Changed C-style <xxx.h> headers to C++-style <cxxx> headers - Switched graphics to load from the PNG files in graphics.exd rather than from Blades of Exile Graphics (NOTE: Some graphics still don't work, probably because of incorrect source rects) - Switched cursors to load from GIF files in graphics.exd rather than from Blades of Exile Graphics - Moved Niemand's tileImage functions from boe.graphics.cpp to graphtool.cpp, so they can be used by all three programs. - Added some string lists in .txt files - Made cursors into an enum - Rewrote the code for displaying the Edit Terrain dialog to use the new engine (not tested yet) - Fixed some __attribute__((deprecated)) stuff - Most graphics are now loaded just after the custom graphics. This means they will be overridden by a file of the same name in the scenario's .exr folder. - Altered modes a little so that when at the startup screen you are in MODE_STARTUP rather than MODE_OUTDOORS. - Switched from function pointers to boost::function – the Boost libraries are now required. - Finished off the new dialog engine and made gess necessary - Added status icons as another type that can be drawn in dialogs - C Wrappers for Cocoa cursors based on an Apple example. This is tested, and works perfectly. - Added a switch in the program for using Windows graphics; however, there is no way as yet to set this flag, and in fact there aren't even any Windows graphics to use. - Added include guards to graphtool.h - Made separate mac and win directories within sounds.exa, since the Mac and Windows sounds are mostly subtly different (with two completely different!) git-svn-id: http://openexile.googlecode.com/svn/trunk@90 4ebdad44-0ea0-11de-aab3-ff745001d230
This commit is contained in:
@@ -11,6 +11,7 @@
|
||||
|
||||
#include <string>
|
||||
#include <exception>
|
||||
#include <boost/function.hpp>
|
||||
|
||||
//struct cPict {
|
||||
// short pict;
|
||||
@@ -67,8 +68,10 @@ enum eControlType {
|
||||
enum eTextFont {DUNGEON, GENEVA, SILOM, MAIDENWORD};
|
||||
|
||||
class cDialog;
|
||||
typedef bool (*click_callback_t)(cDialog&/*me*/,std::string/*id*/, eKeyMod/*mods*/);
|
||||
typedef bool (*focus_callback_t)(cDialog&/*me*/,std::string/*id*/,bool/*losing*/); // losing is true if losing focus, false if gaining focus.
|
||||
//typedef bool (*click_callback_t)(cDialog&/*me*/,std::string/*id*/, eKeyMod/*mods*/);
|
||||
//typedef bool (*focus_callback_t)(cDialog&/*me*/,std::string/*id*/,bool/*losing*/); // losing is true if losing focus, false if gaining focus.
|
||||
typedef boost::function<bool(cDialog&,std::string,eKeyMod)> click_callback_t;
|
||||
typedef boost::function<bool(cDialog&,std::string,bool)> focus_callback_t;
|
||||
|
||||
class xHandlerNotSupported : std::exception {
|
||||
static const char* focusMsg;
|
||||
@@ -94,6 +97,7 @@ public:
|
||||
void attachKey(cKey key);
|
||||
void detachKey();
|
||||
void setTextToKey();
|
||||
bool hasKey();
|
||||
virtual void attachClickHandler(click_callback_t f) throw(xHandlerNotSupported) = 0;
|
||||
virtual void attachFocusHandler(focus_callback_t f) throw(xHandlerNotSupported) = 0;
|
||||
virtual bool triggerClickHandler(cDialog& me, std::string id, eKeyMod mods, Point where);
|
||||
@@ -105,6 +109,8 @@ public:
|
||||
eControlType getType();
|
||||
virtual void setText(std::string l);
|
||||
virtual std::string getText();
|
||||
long getTextAsNum();
|
||||
void setTextToNum(long what);
|
||||
virtual void setFormat(eFormat prop, short val) throw(xUnsupportedProp) = 0;
|
||||
virtual short getFormat(eFormat prop) throw(xUnsupportedProp) = 0;
|
||||
virtual bool isClickable() = 0;
|
||||
|
Reference in New Issue
Block a user