]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/emulator/src/emulator.h
A few tweaks and cleanups
[wxWidgets.git] / utils / emulator / src / emulator.h
index 34f5d7a8687f413badda2fefbd0dbd8166d0425e..ee02672792a267d6b5cebea6f1420290f01f266d 100644 (file)
@@ -16,6 +16,8 @@
     #pragma interface "emulator.h"
 #endif
 
     #pragma interface "emulator.h"
 #endif
 
+#define wxEMULATOR_VERSION 0.1
+
 // Information about the emulator decorations
 class wxEmulatorInfo: public wxObject
 {
 // Information about the emulator decorations
 class wxEmulatorInfo: public wxObject
 {
@@ -31,7 +33,10 @@ public:
     void Init();
 
     // Loads bitmaps
     void Init();
 
     // Loads bitmaps
-    bool Load();
+    bool Load(const wxString& appDir);
+
+    // Emulator config filename
+    wxString m_emulatorFilename;
 
     // Emulator title
     wxString m_emulatorTitle;
 
     // Emulator title
     wxString m_emulatorTitle;
@@ -47,6 +52,10 @@ public:
     // The emulated screen size, e.g. 320x240
     wxSize m_emulatorScreenSize;
 
     // The emulated screen size, e.g. 320x240
     wxSize m_emulatorScreenSize;
 
+    // The emulated device size. This is ignored
+    // if there is a background bitmap
+    wxSize m_emulatorDeviceSize;
+
     // The bitmap used for drawing the main emulator
     // decorations
     wxBitmap m_emulatorBackgroundBitmap;
     // The bitmap used for drawing the main emulator
     // decorations
     wxBitmap m_emulatorBackgroundBitmap;
@@ -68,9 +77,16 @@ public:
     virtual bool OnInit();
 
     // Load the specified emulator
     virtual bool OnInit();
 
     // Load the specified emulator
-    bool LoadEmulator();
+    bool LoadEmulator(const wxString& appDir);
+
+    // Get app dir
+    wxString GetAppDir() const { return m_appDir; }
+
+    // Prepend the current app program directory to the name
+    wxString GetFullAppPath(const wxString& filename) const;
 
 public:
 
 public:
+
     wxEmulatorInfo          m_emulatorInfo;
 #ifdef __WXX11__
     wxAdoptedWindow*        m_xnestWindow;
     wxEmulatorInfo          m_emulatorInfo;
 #ifdef __WXX11__
     wxAdoptedWindow*        m_xnestWindow;
@@ -78,6 +94,9 @@ public:
     wxWindow*               m_xnestWindow;
 #endif
     wxEmulatorContainer*    m_containerWindow;
     wxWindow*               m_xnestWindow;
 #endif
     wxEmulatorContainer*    m_containerWindow;
+    wxString                m_appDir;
+    wxString                m_displayNumber;
+    long                    m_xnestPID;
 };
 
 // The container for the Xnest window. The decorations
 };
 
 // The container for the Xnest window. The decorations
@@ -88,6 +107,8 @@ public:
 
     wxEmulatorContainer(wxWindow* parent, wxWindowID id);
 
 
     wxEmulatorContainer(wxWindow* parent, wxWindowID id);
 
+    void DoResize();
+
     void OnSize(wxSizeEvent& event);
     void OnPaint(wxPaintEvent& event);
     void OnEraseBackground(wxEraseEvent& event);
     void OnSize(wxSizeEvent& event);
     void OnPaint(wxPaintEvent& event);
     void OnEraseBackground(wxEraseEvent& event);
@@ -104,9 +125,10 @@ public:
     // ctor(s)
     wxEmulatorFrame(const wxString& title, const wxPoint& pos, const wxSize& size);
 
     // ctor(s)
     wxEmulatorFrame(const wxString& title, const wxPoint& pos, const wxSize& size);
 
-    // event handlers (these functions should _not_ be virtual)
+    // event handlers
     void OnQuit(wxCommandEvent& event);
     void OnAbout(wxCommandEvent& event);
     void OnQuit(wxCommandEvent& event);
     void OnAbout(wxCommandEvent& event);
+    void OnCloseWindow(wxCloseEvent& event);
 
 private:
     // any class wishing to process wxWindows events must use this macro
 
 private:
     // any class wishing to process wxWindows events must use this macro
@@ -132,6 +154,15 @@ enum
 // Returns the image type, or -1, determined from the extension.
 int wxDetermineImageType(const wxString& filename);
 
 // Returns the image type, or -1, determined from the extension.
 int wxDetermineImageType(const wxString& filename);
 
+// Convert a colour to a 6-digit hex string
+wxString wxColourToHexString(const wxColour& col);
+
+// Convert 6-digit hex string to a colour
+wxColour wxHexStringToColour(const wxString& hex);
+
+// Find the absolute path where this application has been run from.
+wxString wxFindAppPath(const wxString& argv0, const wxString& cwd, const wxString& appVariableName);
+
 #endif
     // _WX_EMULATOR_H_
 
 #endif
     // _WX_EMULATOR_H_