]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/toplevel.h
add missing header for !wxUSE_PCH case
[wxWidgets.git] / include / wx / toplevel.h
index 2725b8f0104f59920605f77c4dd74db9d045d573..64a1c964a0df543ede533060c083cd925073b7d9 100644 (file)
@@ -30,18 +30,40 @@ WXDLLEXPORT_DATA(extern const wxChar*) wxFrameNameStr;
 
 class WXDLLEXPORT wxTopLevelWindowBase;
 
+// ----------------------------------------------------------------------------
+// constants
+// ----------------------------------------------------------------------------
+
 // Dialogs are created in a special way
 #define wxTOPLEVEL_EX_DIALOG        0x00000008
 
 // Styles for ShowFullScreen
 // (note that wxTopLevelWindow only handles wxFULLSCREEN_NOBORDER and
 //  wxFULLSCREEN_NOCAPTION; the rest is handled by wxTopLevelWindow)
-#define wxFULLSCREEN_NOMENUBAR      0x01
-#define wxFULLSCREEN_NOTOOLBAR      0x02
-#define wxFULLSCREEN_NOSTATUSBAR    0x04
-#define wxFULLSCREEN_NOBORDER       0x08
-#define wxFULLSCREEN_NOCAPTION      0x10
-#define wxFULLSCREEN_ALL            (wxFULLSCREEN_NOMENUBAR | wxFULLSCREEN_NOTOOLBAR | wxFULLSCREEN_NOSTATUSBAR | wxFULLSCREEN_NOBORDER | wxFULLSCREEN_NOCAPTION)
+enum
+{
+    wxFULLSCREEN_NOMENUBAR   = 0x0001,
+    wxFULLSCREEN_NOTOOLBAR   = 0x0002,
+    wxFULLSCREEN_NOSTATUSBAR = 0x0004,
+    wxFULLSCREEN_NOBORDER    = 0x0008,
+    wxFULLSCREEN_NOCAPTION   = 0x0010,
+
+    wxFULLSCREEN_ALL         = wxFULLSCREEN_NOMENUBAR | wxFULLSCREEN_NOTOOLBAR |
+                               wxFULLSCREEN_NOSTATUSBAR | wxFULLSCREEN_NOBORDER |
+                               wxFULLSCREEN_NOCAPTION
+};
+
+// Flags for interactive frame manipulation functions (only in wxUniversal):
+enum
+{
+    wxINTERACTIVE_MOVE           = 0x00000001,
+    wxINTERACTIVE_RESIZE         = 0x00000002,
+    wxINTERACTIVE_RESIZE_S       = 0x00000010,
+    wxINTERACTIVE_RESIZE_N       = 0x00000020,
+    wxINTERACTIVE_RESIZE_W       = 0x00000040,
+    wxINTERACTIVE_RESIZE_E       = 0x00000080,
+    wxINTERACTIVE_WAIT_FOR_INPUT = 0x10000000
+};
 
 // ----------------------------------------------------------------------------
 // wxTopLevelWindow: a top level (as opposed to child) window
@@ -53,6 +75,10 @@ public:
     // construction
     wxTopLevelWindowBase();
 
+#ifdef __DARWIN__
+    virtual ~wxTopLevelWindowBase() {}
+#endif
+
     // top level wnd state
     // --------------------
 
@@ -79,7 +105,7 @@ public:
 
     // maximize the window to cover entire screen
     virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL) = 0;
-    
+
     // return TRUE if the frame is in fullscreen mode
     virtual bool IsFullScreen() const = 0;
 
@@ -96,6 +122,12 @@ public:
     bool Iconized() const { return IsIconized(); }
 #endif // WXWIN_COMPATIBILITY_2
 
+
+#ifdef __WXUNIVERSAL__
+    // move/resize the frame interactively, i.e. let the user do it
+    virtual void InteractiveMove(int flags = wxINTERACTIVE_MOVE);
+#endif
+
     // implementation only from now on
     // -------------------------------
 
@@ -111,10 +143,6 @@ public:
     // so should be there for all platforms
     void OnActivate(wxActivateEvent &WXUNUSED(event)) { }
 
-#ifdef __DARWIN__
-    virtual ~wxTopLevelWindowBase() {}
-#endif
-
 protected:
     // the frame client to screen translation should take account of the
     // toolbar which may shift the origin of the client area
@@ -145,6 +173,9 @@ protected:
 #elif defined(__WXMGL__)
     #include "wx/mgl/toplevel.h"
     #define wxTopLevelWindowNative wxTopLevelWindowMGL
+#elif defined(__WXMAC__)
+    #include "wx/mac/toplevel.h"
+    #define wxTopLevelWindowNative wxTopLevelWindowMac
 #endif
 
 #ifdef __WXUNIVERSAL__