]> git.saurik.com Git - wxWidgets.git/commitdiff
merged wxDisplayModeInfo and wxVideoMode in a single class, extracted it in a separat...
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 27 Sep 2003 12:55:46 +0000 (12:55 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 27 Sep 2003 12:55:46 +0000 (12:55 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23959 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/app.h
include/wx/display.h
include/wx/mgl/app.h
include/wx/vidmode.h [new file with mode: 0644]
src/mgl/app.cpp

index eb507ed17d3f6e14ee64a144c359b266debe5e79..7c2b61c4e30b459f212bc414c1c14833948a51d1 100644 (file)
@@ -21,6 +21,8 @@
 
 #if wxUSE_GUI
     #include "wx/window.h"  // for wxTopLevelWindows
+
+    #include "wx/vidmode.h"
 #endif // wxUSE_GUI
 
 #include "wx/build.h"
@@ -59,33 +61,6 @@ enum
     wxPRINT_POSTSCRIPT = 2
 };
 
-// ----------------------------------------------------------------------------
-// support for framebuffer ports
-// ----------------------------------------------------------------------------
-
-#if wxUSE_GUI
-// VS: Fullscreen/framebuffer application needs to choose display mode prior
-//     to wxWindows initialization. This class holds information about display
-//     mode. It is used by  wxApp::Set/GetDisplayMode.
-class WXDLLIMPEXP_CORE wxDisplayModeInfo
-{
-public:
-    wxDisplayModeInfo() : m_ok(FALSE) {}
-    wxDisplayModeInfo(unsigned width, unsigned height, unsigned depth)
-        : m_width(width), m_height(height), m_depth(depth), m_ok(TRUE) {}
-
-    unsigned GetWidth() const { return m_width; }
-    unsigned GetHeight() const { return m_height; }
-    unsigned GetDepth() const { return m_depth; }
-    bool IsOk() const { return m_ok; }
-
-private:
-    unsigned m_width, m_height, m_depth;
-    bool     m_ok;
-};
-#endif // wxUSE_GUI
-
-
 // ----------------------------------------------------------------------------
 // wxAppConsole: wxApp for non-GUI applications
 // ----------------------------------------------------------------------------
@@ -482,11 +457,11 @@ public:
 
         // Get display mode that is used use. This is only used in framebuffer
         // wxWin ports (such as wxMGL).
-    virtual wxDisplayModeInfo GetDisplayMode() const { return wxDisplayModeInfo(); }
+    virtual wxVideoMode GetDisplayMode() const { return wxVideoMode(); }
         // Set display mode to use. This is only used in framebuffer wxWin
         // ports (such as wxMGL). This method should be called from
         // wxApp::OnInitGui
-    virtual bool SetDisplayMode(const wxDisplayModeInfo& WXUNUSED(info)) { return TRUE; }
+    virtual bool SetDisplayMode(const wxVideoMode& WXUNUSED(info)) { return TRUE; }
 
         // set use of best visual flag (see below)
     void SetUseBestVisual( bool flag ) { m_useBestVisual = flag; }
index 11c4bd0117c38c69692efa0bc6acb69ee998cd05..835a233b23f9abb1d110f1cc3036ea0c84983ae5 100644 (file)
 #endif
 
 #include "wx/dynarray.h"
+#include "wx/vidmode.h"
 
 class WXDLLEXPORT wxWindow;
 class WXDLLEXPORT wxPoint;
 class WXDLLEXPORT wxRect;
 class WXDLLEXPORT wxString; 
 
-// ----------------------------------------------------------------------------
-// wxVideoMode: contains video mode parameters for a display
-// ----------------------------------------------------------------------------
-
-struct WXDLLEXPORT wxVideoMode
-{
-    wxVideoMode(int width = 0, int height = 0, int depth = 0, int freq = 0)
-    {
-        w = width;
-        h = height;
-
-        bpp = depth;
-
-        refresh = freq;
-    }
-
-    // default copy ctor and assignment operator are ok
-
-    bool operator==(const wxVideoMode& m) const
-    {
-        return w == m.w && h == m.h && bpp == m.bpp && refresh == m.refresh;
-    }
-    bool operator!=(const wxVideoMode& mode) const
-    {
-        return !operator==(mode);
-    }
-
-    // returns true if this mode matches the other one in the sense that all
-    // non zero fields of the other mode have the same value in this one
-    // (except for refresh which is allowed to have a greater value)
-    bool Matches(const wxVideoMode& other) const
-    {
-        return (!other.w || w == other.w) &&
-                    (!other.h || h == other.h) &&
-                        (!other.bpp || bpp == other.bpp) &&
-                            (!other.refresh || refresh >= other.refresh);
-    }
-
-    // the screen size in pixels (e.g. 640*480), 0 means unspecified
-    int w, h;
-
-    // bits per pixel (e.g. 32), 1 is monochrome and 0 means unspecified/known
-    int bpp;
-
-    // refresh frequency in Hz, 0 means unspecified/unknown
-    int refresh;
-};
-
 WX_DECLARE_EXPORTED_OBJARRAY(wxVideoMode, wxArrayVideoModes);
 
 // default, uninitialized, video mode object
index fa98fc1e935dad011176227a21ba06d411dcf6aa..5cd952e867947290648d94c89686e8b72ef08678 100644 (file)
@@ -51,14 +51,14 @@ public:
     virtual void WakeUpIdle();
     virtual bool Yield(bool onlyIfNeeded = FALSE);
 
-    virtual wxDisplayModeInfo GetDisplayMode() const { return m_displayMode; }
-    virtual bool SetDisplayMode(const wxDisplayModeInfo& mode);
+    virtual wxVideoMode GetDisplayMode() const { return m_displayMode; }
+    virtual bool SetDisplayMode(const wxVideoMode& mode);
 
 private:
     DECLARE_DYNAMIC_CLASS(wxApp)
     DECLARE_EVENT_TABLE()
 
-    wxDisplayModeInfo m_displayMode;
+    wxVideoMode m_displayMode;
 };
 
 #endif // __WX_APP_H__
diff --git a/include/wx/vidmode.h b/include/wx/vidmode.h
new file mode 100644 (file)
index 0000000..70853dc
--- /dev/null
@@ -0,0 +1,73 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        wx/vidmode.h
+// Purpose:     declares wxVideoMode class used by both wxDisplay and wxApp
+// Author:      Vadim Zeitlin
+// Modified by:
+// Created:     27.09.2003 (extracted from wx/display.h)
+// RCS-ID:      $Id$
+// Copyright:   (c) 2003 Vadim Zeitlin <vadim@wxwindows.org>
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_VMODE_H_
+#define _WX_VMODE_H_
+
+// ----------------------------------------------------------------------------
+// wxVideoMode: a simple struct containing video mode parameters for a display
+// ----------------------------------------------------------------------------
+
+struct WXDLLEXPORT wxVideoMode
+{
+    wxVideoMode(int width = 0, int height = 0, int depth = 0, int freq = 0)
+    {
+        w = width;
+        h = height;
+
+        bpp = depth;
+
+        refresh = freq;
+    }
+
+    // default copy ctor and assignment operator are ok
+
+    bool operator==(const wxVideoMode& m) const
+    {
+        return w == m.w && h == m.h && bpp == m.bpp && refresh == m.refresh;
+    }
+    bool operator!=(const wxVideoMode& mode) const
+    {
+        return !operator==(mode);
+    }
+
+    // returns true if this mode matches the other one in the sense that all
+    // non zero fields of the other mode have the same value in this one
+    // (except for refresh which is allowed to have a greater value)
+    bool Matches(const wxVideoMode& other) const
+    {
+        return (!other.w || w == other.w) &&
+                    (!other.h || h == other.h) &&
+                        (!other.bpp || bpp == other.bpp) &&
+                            (!other.refresh || refresh >= other.refresh);
+    }
+
+    // trivial accessors
+    int GetWidth() const { return w; }
+    int GetHeight() const { return h; }
+    int GetDepth() const { return bpp; }
+
+    // returns true if the object has been initialized
+    bool IsOk() const { return w && h; }
+
+
+    // the screen size in pixels (e.g. 640*480), 0 means unspecified
+    int w, h;
+
+    // bits per pixel (e.g. 32), 1 is monochrome and 0 means unspecified/known
+    int bpp;
+
+    // refresh frequency in Hz, 0 means unspecified/unknown
+    int refresh;
+};
+
+#endif // _WX_VMODE_H_
+
index dffb68253cd5086a2f005231e6c4cf07ffa376e0..327356b8e7eb60b01cd087ee3c2d6c50ea318e9d 100644 (file)
@@ -147,7 +147,7 @@ static wxRootWindow *gs_rootWindow = NULL;
 // MGL initialization
 //-----------------------------------------------------------------------------
 
-static bool wxCreateMGL_WM(const wxDisplayModeInfo& displayMode)
+static bool wxCreateMGL_WM(const wxVideoMode& displayMode)
 {
     int mode;
     int refresh = MGL_DEFAULT_REFRESH;
@@ -216,7 +216,7 @@ wxApp::~wxApp()
 {
 }
 
-wxDisplayModeInfo wxGetDefaultDisplayMode()
+wxVideoMode wxGetDefaultDisplayMode()
 {
     wxString mode;
     unsigned w, h, bpp;
@@ -227,10 +227,10 @@ wxDisplayModeInfo wxGetDefaultDisplayMode()
         w = 640, h = 480, bpp = 16;
     }
 
-    return wxDisplayModeInfo(w, h, bpp);
+    return wxVideoMode(w, h, bpp);
 }
 
-bool wxApp::SetDisplayMode(const wxDisplayModeInfo& mode)
+bool wxApp::SetDisplayMode(const wxVideoMode& mode)
 {
     if ( !mode.IsOk() )
     {