merged wxDisplayModeInfo and wxVideoMode in a single class, extracted it in a separate wx/vidmode.h header
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23959 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -21,6 +21,8 @@
|
|||||||
|
|
||||||
#if wxUSE_GUI
|
#if wxUSE_GUI
|
||||||
#include "wx/window.h" // for wxTopLevelWindows
|
#include "wx/window.h" // for wxTopLevelWindows
|
||||||
|
|
||||||
|
#include "wx/vidmode.h"
|
||||||
#endif // wxUSE_GUI
|
#endif // wxUSE_GUI
|
||||||
|
|
||||||
#include "wx/build.h"
|
#include "wx/build.h"
|
||||||
@@ -59,33 +61,6 @@ enum
|
|||||||
wxPRINT_POSTSCRIPT = 2
|
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
|
// wxAppConsole: wxApp for non-GUI applications
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -482,11 +457,11 @@ public:
|
|||||||
|
|
||||||
// Get display mode that is used use. This is only used in framebuffer
|
// Get display mode that is used use. This is only used in framebuffer
|
||||||
// wxWin ports (such as wxMGL).
|
// 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
|
// Set display mode to use. This is only used in framebuffer wxWin
|
||||||
// ports (such as wxMGL). This method should be called from
|
// ports (such as wxMGL). This method should be called from
|
||||||
// wxApp::OnInitGui
|
// 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)
|
// set use of best visual flag (see below)
|
||||||
void SetUseBestVisual( bool flag ) { m_useBestVisual = flag; }
|
void SetUseBestVisual( bool flag ) { m_useBestVisual = flag; }
|
||||||
|
@@ -19,60 +19,13 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "wx/dynarray.h"
|
#include "wx/dynarray.h"
|
||||||
|
#include "wx/vidmode.h"
|
||||||
|
|
||||||
class WXDLLEXPORT wxWindow;
|
class WXDLLEXPORT wxWindow;
|
||||||
class WXDLLEXPORT wxPoint;
|
class WXDLLEXPORT wxPoint;
|
||||||
class WXDLLEXPORT wxRect;
|
class WXDLLEXPORT wxRect;
|
||||||
class WXDLLEXPORT wxString;
|
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);
|
WX_DECLARE_EXPORTED_OBJARRAY(wxVideoMode, wxArrayVideoModes);
|
||||||
|
|
||||||
// default, uninitialized, video mode object
|
// default, uninitialized, video mode object
|
||||||
|
@@ -51,14 +51,14 @@ public:
|
|||||||
virtual void WakeUpIdle();
|
virtual void WakeUpIdle();
|
||||||
virtual bool Yield(bool onlyIfNeeded = FALSE);
|
virtual bool Yield(bool onlyIfNeeded = FALSE);
|
||||||
|
|
||||||
virtual wxDisplayModeInfo GetDisplayMode() const { return m_displayMode; }
|
virtual wxVideoMode GetDisplayMode() const { return m_displayMode; }
|
||||||
virtual bool SetDisplayMode(const wxDisplayModeInfo& mode);
|
virtual bool SetDisplayMode(const wxVideoMode& mode);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DECLARE_DYNAMIC_CLASS(wxApp)
|
DECLARE_DYNAMIC_CLASS(wxApp)
|
||||||
DECLARE_EVENT_TABLE()
|
DECLARE_EVENT_TABLE()
|
||||||
|
|
||||||
wxDisplayModeInfo m_displayMode;
|
wxVideoMode m_displayMode;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // __WX_APP_H__
|
#endif // __WX_APP_H__
|
||||||
|
73
include/wx/vidmode.h
Normal file
73
include/wx/vidmode.h
Normal file
@@ -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_
|
||||||
|
|
@@ -147,7 +147,7 @@ static wxRootWindow *gs_rootWindow = NULL;
|
|||||||
// MGL initialization
|
// MGL initialization
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
static bool wxCreateMGL_WM(const wxDisplayModeInfo& displayMode)
|
static bool wxCreateMGL_WM(const wxVideoMode& displayMode)
|
||||||
{
|
{
|
||||||
int mode;
|
int mode;
|
||||||
int refresh = MGL_DEFAULT_REFRESH;
|
int refresh = MGL_DEFAULT_REFRESH;
|
||||||
@@ -216,7 +216,7 @@ wxApp::~wxApp()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
wxDisplayModeInfo wxGetDefaultDisplayMode()
|
wxVideoMode wxGetDefaultDisplayMode()
|
||||||
{
|
{
|
||||||
wxString mode;
|
wxString mode;
|
||||||
unsigned w, h, bpp;
|
unsigned w, h, bpp;
|
||||||
@@ -227,10 +227,10 @@ wxDisplayModeInfo wxGetDefaultDisplayMode()
|
|||||||
w = 640, h = 480, bpp = 16;
|
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() )
|
if ( !mode.IsOk() )
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user