]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/emulator/src/emulator.h
Fix for crash when wxUSE_STL=1. wxDocument::DeleteAllViews might
[wxWidgets.git] / utils / emulator / src / emulator.h
index 9a59883d67686caba721743fe8e46fe8f9ef1302..5e14259c65d8d95d29b286ec496dd8c6b589e46b 100644 (file)
@@ -16,6 +16,8 @@
     #pragma interface "emulator.h"
 #endif
 
+#define wxEMULATOR_VERSION 0.1
+
 // Information about the emulator decorations
 class wxEmulatorInfo: public wxObject
 {
@@ -31,7 +33,10 @@ public:
     void Init();
 
     // Loads bitmaps
-    bool Load();
+    bool Load(const wxString& appDir);
+
+    // Emulator config filename
+    wxString m_emulatorFilename;
 
     // Emulator title
     wxString m_emulatorTitle;
@@ -47,6 +52,10 @@ public:
     // 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;
@@ -68,9 +77,16 @@ public:
     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:
+
     wxEmulatorInfo          m_emulatorInfo;
 #ifdef __WXX11__
     wxAdoptedWindow*        m_xnestWindow;
@@ -78,6 +94,9 @@ public:
     wxWindow*               m_xnestWindow;
 #endif
     wxEmulatorContainer*    m_containerWindow;
+    wxString                m_appDir;
+    wxString                m_displayNumber;
+    long                    m_xnestPID;
 };
 
 // The container for the Xnest window. The decorations
@@ -106,9 +125,10 @@ public:
     // 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 OnCloseWindow(wxCloseEvent& event);
 
 private:
     // any class wishing to process wxWindows events must use this macro
@@ -132,7 +152,16 @@ enum
 };
 
 // Returns the image type, or -1, determined from the extension.
-int wxDetermineImageType(const wxString& filename);
+wxBitmapType 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_