X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0d5b6a403ec7adae6bef61d84940b33b6f070116..13e24d79876b78545ba300e6b6871bc47af60848:/src/unix/displayx11.cpp?ds=sidebyside diff --git a/src/unix/displayx11.cpp b/src/unix/displayx11.cpp index 9c17ef7d28..f08b0bdcae 100644 --- a/src/unix/displayx11.cpp +++ b/src/unix/displayx11.cpp @@ -21,22 +21,23 @@ #include "wx/wxprec.h" #ifdef __BORLANDC__ - #pragma hdrstop + #pragma hdrstop #endif +#if wxUSE_DISPLAY + #include "wx/display.h" -#include "wx/display_impl.h" -#include "wx/intl.h" -#include "wx/log.h" #ifndef WX_PRECOMP - #include "wx/dynarray.h" - #include "wx/gdicmn.h" - #include "wx/string.h" - #include "wx/utils.h" + #include "wx/dynarray.h" + #include "wx/gdicmn.h" + #include "wx/string.h" + #include "wx/utils.h" + #include "wx/intl.h" + #include "wx/log.h" #endif /* WX_PRECOMP */ -#if wxUSE_DISPLAY +#include "wx/display_impl.h" /* These must be included after the wx files. Otherwise the Data macro in * Xlibint.h conflicts with a function declaration in wx/list.h. */ @@ -70,7 +71,7 @@ public: operator const XineramaScreenInfo *() const { return m_screens; } - size_t GetCount() const { return wx_static_cast(size_t, m_num); } + unsigned GetCount() const { return wx_static_cast(unsigned, m_num); } private: XineramaScreenInfo *m_screens; @@ -84,7 +85,7 @@ private: class WXDLLEXPORT wxDisplayImplX11 : public wxDisplayImpl { public: - wxDisplayImplX11(size_t n, const XineramaScreenInfo& info) + wxDisplayImplX11(unsigned n, const XineramaScreenInfo& info) : wxDisplayImpl(n), m_rect(info.x_org, info.y_org, info.width, info.height) { @@ -107,10 +108,10 @@ private: class wxDisplayFactoryX11 : public wxDisplayFactory { public: - wxDisplayFactoryX11(); + wxDisplayFactoryX11() { } - virtual wxDisplayImpl *CreateDisplay(size_t n); - virtual size_t GetCount(); + virtual wxDisplayImpl *CreateDisplay(unsigned n); + virtual unsigned GetCount(); virtual int GetFromPoint(const wxPoint& pt); protected: @@ -121,7 +122,7 @@ protected: // wxDisplayFactoryX11 implementation // ============================================================================ -size_t wxDisplayFactoryX11::GetCount() +unsigned wxDisplayFactoryX11::GetCount() { return ScreensInfo().GetCount(); } @@ -130,8 +131,8 @@ int wxDisplayFactoryX11::GetFromPoint(const wxPoint& p) { ScreensInfo screens; - const size_t numscreens(screens.GetCount()); - for ( size_t i = 0; i < numscreens; ++i ) + const unsigned numscreens(screens.GetCount()); + for ( unsigned i = 0; i < numscreens; ++i ) { const XineramaScreenInfo& s = screens[i]; if ( p.x >= s.x_org && p.x < s.x_org + s.width && @@ -144,7 +145,7 @@ int wxDisplayFactoryX11::GetFromPoint(const wxPoint& p) return wxNOT_FOUND; } -wxDisplayImpl *wxDisplayFactoryX11::CreateDisplay(size_t n) +wxDisplayImpl *wxDisplayFactoryX11::CreateDisplay(unsigned n) { ScreensInfo screens; @@ -264,7 +265,7 @@ bool wxDisplayImplX11::ChangeMode(const wxVideoMode& mode) #else // !HAVE_X11_EXTENSIONS_XF86VMODE_H -wxArrayVideoModes wxDisplayImplX11::GetModes(const wxVideoMode& mode) const +wxArrayVideoModes wxDisplayImplX11::GetModes(const wxVideoMode& modeMatch) const { int count_return; int* depths = XListDepths((Display*)wxGetDisplay(), 0, &count_return); @@ -273,7 +274,11 @@ wxArrayVideoModes wxDisplayImplX11::GetModes(const wxVideoMode& mode) const { for ( int x = 0; x < count_return; ++x ) { - modes.Add(wxVideoMode(m_rect.GetWidth(), m_rect.GetHeight(), depths[x])); + wxVideoMode mode(m_rect.GetWidth(), m_rect.GetHeight(), depths[x]); + if ( mode.Matches(modeMatch) ) + { + modes.Add(modeMatch); + } } XFree(depths); @@ -287,7 +292,7 @@ wxVideoMode wxDisplayImplX11::GetCurrentMode() const return wxVideoMode(); } -bool wxDisplayImplX11::ChangeMode(const wxVideoMode& mode) +bool wxDisplayImplX11::ChangeMode(const wxVideoMode& WXUNUSED(mode)) { // Not implemented return false;