From f704c40207df2b518ed5105c23ea1cd2199291f4 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 4 Oct 2018 16:31:55 +0200 Subject: [PATCH 1/7] Don't use wxDisplayFactorySingleX11 in wxGTK if wxUSE_DISPLAY==0 wxDisplay::CreateFactory() shouldn't be defined in this file when building wxGTK, whether wxUSE_DISPLAY==1 or 0. --- src/unix/displayx11.cpp | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/src/unix/displayx11.cpp b/src/unix/displayx11.cpp index 93113a4886..7c376bf83c 100644 --- a/src/unix/displayx11.cpp +++ b/src/unix/displayx11.cpp @@ -370,6 +370,7 @@ bool wxDisplayImplX11::ChangeMode(const wxVideoMode& WXUNUSED(mode)) #endif // !__WXGTK20__ #endif // !HAVE_X11_EXTENSIONS_XF86VMODE_H #endif // !defined(__WXGTK20__) || defined(GDK_WINDOWING_X11) +#endif // wxUSE_DISPLAY // ============================================================================ // wxDisplay::CreateFactory() @@ -378,21 +379,14 @@ bool wxDisplayImplX11::ChangeMode(const wxVideoMode& WXUNUSED(mode)) #ifndef __WXGTK20__ /* static */ wxDisplayFactory *wxDisplay::CreateFactory() { - if ( !XineramaIsActive((Display*)wxGetDisplay()) ) - return new wxDisplayFactorySingleX11; +#if wxUSE_DISPLAY + if ( XineramaIsActive((Display*)wxGetDisplay()) ) + return new wxDisplayFactoryX11; +#endif // wxUSE_DISPLAY - return new wxDisplayFactoryX11; -} -#endif - -#else // !wxUSE_DISPLAY - -/* static */ wxDisplayFactory *wxDisplay::CreateFactory() -{ return new wxDisplayFactorySingleX11; } - -#endif // wxUSE_DISPLAY/!wxUSE_DISPLAY +#endif #if !defined(__WXGTK20__) || defined(GDK_WINDOWING_X11) void wxGetWorkAreaX11(Screen* screen, int& x, int& y, int& width, int& height) From 9cc1424b84ae464cdaa9c4f2b0bb18e41da71f00 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 4 Oct 2018 16:37:12 +0200 Subject: [PATCH 2/7] Return empty string from wxDisplayImpl::GetName() by default Simplify the code by not making this function pure virtual as all the ports except MSW had to override it just to return an empty string. Instead, just return empty string by default as it's not critical to force the derived classes to override this function. --- include/wx/private/display.h | 4 +--- src/gtk/display.cpp | 6 ------ src/osx/core/display.cpp | 1 - src/qt/display.cpp | 7 ------- src/unix/displayx11.cpp | 2 -- 5 files changed, 1 insertion(+), 19 deletions(-) diff --git a/include/wx/private/display.h b/include/wx/private/display.h index d1346fc4eb..9f0dce0ad2 100644 --- a/include/wx/private/display.h +++ b/include/wx/private/display.h @@ -79,7 +79,7 @@ public: virtual wxRect GetClientArea() const { return GetGeometry(); } // return the name (may be empty) - virtual wxString GetName() const = 0; + virtual wxString GetName() const { return wxString(); } // return the index of this display unsigned GetIndex() const { return m_index; } @@ -125,8 +125,6 @@ class WXDLLEXPORT wxDisplayImplSingle : public wxDisplayImpl public: wxDisplayImplSingle() : wxDisplayImpl(0) { } - virtual wxString GetName() const wxOVERRIDE { return wxString(); } - #if wxUSE_DISPLAY // no video modes support for us, provide just the stubs virtual wxArrayVideoModes diff --git a/src/gtk/display.cpp b/src/gtk/display.cpp index eb68667724..dda71d6dcf 100644 --- a/src/gtk/display.cpp +++ b/src/gtk/display.cpp @@ -96,7 +96,6 @@ public: virtual wxRect GetClientArea() const wxOVERRIDE; #if wxUSE_DISPLAY - virtual wxString GetName() const wxOVERRIDE; virtual bool IsPrimary() const wxOVERRIDE; virtual wxArrayVideoModes GetModes(const wxVideoMode& mode) const wxOVERRIDE; virtual wxVideoMode GetCurrentMode() const wxOVERRIDE; @@ -206,11 +205,6 @@ wxRect wxDisplayImplGTK::GetClientArea() const } #if wxUSE_DISPLAY -wxString wxDisplayImplGTK::GetName() const -{ - return wxString(); -} - bool wxDisplayImplGTK::IsPrimary() const { #ifdef __WXGTK4__ diff --git a/src/osx/core/display.cpp b/src/osx/core/display.cpp index fedbfb7d10..3f35ccc1e4 100644 --- a/src/osx/core/display.cpp +++ b/src/osx/core/display.cpp @@ -73,7 +73,6 @@ public: virtual wxRect GetGeometry() const wxOVERRIDE; virtual wxRect GetClientArea() const wxOVERRIDE; - virtual wxString GetName() const wxOVERRIDE { return wxString(); } virtual wxArrayVideoModes GetModes(const wxVideoMode& mode) const wxOVERRIDE; virtual wxVideoMode GetCurrentMode() const wxOVERRIDE; diff --git a/src/qt/display.cpp b/src/qt/display.cpp index abf339321c..52b6af8373 100644 --- a/src/qt/display.cpp +++ b/src/qt/display.cpp @@ -22,8 +22,6 @@ public: virtual wxRect GetGeometry() const wxOVERRIDE; virtual wxRect GetClientArea() const wxOVERRIDE; - virtual wxString GetName() const wxOVERRIDE; - #if wxUSE_DISPLAY virtual wxArrayVideoModes GetModes(const wxVideoMode& mode) const wxOVERRIDE; virtual wxVideoMode GetCurrentMode() const wxOVERRIDE; @@ -46,11 +44,6 @@ wxRect wxDisplayImplQt::GetClientArea() const return wxQtConvertRect( QApplication::desktop()->availableGeometry( GetIndex() )); } -wxString wxDisplayImplQt::GetName() const -{ - return wxString(); -} - #if wxUSE_DISPLAY wxArrayVideoModes wxDisplayImplQt::GetModes(const wxVideoMode& WXUNUSED(mode)) const { diff --git a/src/unix/displayx11.cpp b/src/unix/displayx11.cpp index 7c376bf83c..b1794b5127 100644 --- a/src/unix/displayx11.cpp +++ b/src/unix/displayx11.cpp @@ -132,8 +132,6 @@ public: return IsPrimary() ? wxGetMainScreenWorkArea() : m_rect; } - virtual wxString GetName() const wxOVERRIDE { return wxString(); } - virtual wxArrayVideoModes GetModes(const wxVideoMode& mode) const wxOVERRIDE; virtual wxVideoMode GetCurrentMode() const wxOVERRIDE; virtual bool ChangeMode(const wxVideoMode& mode) wxOVERRIDE; From de840d1813c30b4c31f5ac5ea6ef619185c4c328 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 4 Oct 2018 16:38:10 +0200 Subject: [PATCH 3/7] Document that wxDisplay::GetName() is only non-empty under MSW "Not available on all platforms" was an understatement: the string returned by this function is only non-empty under MSW. --- interface/wx/display.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/interface/wx/display.h b/interface/wx/display.h index 1566d21df6..7e82ef1af1 100644 --- a/interface/wx/display.h +++ b/interface/wx/display.h @@ -102,7 +102,10 @@ public: wxArrayVideoModes GetModes(const wxVideoMode& mode = wxDefaultVideoMode) const; /** - Returns the display's name. A name is not available on all platforms. + Returns the display's name. + + The returned value is currently an empty string under all platforms + except MSW. */ wxString GetName() const; From c38a8f960edbc85245408e3b809c81182c97a91b Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 4 Oct 2018 16:39:40 +0200 Subject: [PATCH 4/7] Fix wxGTK build with wxUSE_DISPLAY==0 Add the missing "new" keyword. --- src/gtk/display.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gtk/display.cpp b/src/gtk/display.cpp index dda71d6dcf..5f9c28c2d5 100644 --- a/src/gtk/display.cpp +++ b/src/gtk/display.cpp @@ -298,7 +298,7 @@ protected: wxDisplayFactory* wxDisplay::CreateFactory() { - return wxDisplayFactorySingleGTK; + return new wxDisplayFactorySingleGTK; } #endif // wxUSE_DISPLAY/!wxUSE_DISPLAY From e0ba727decea4e1519c69e87232bb42019d18b2a Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 4 Oct 2018 17:07:11 +0200 Subject: [PATCH 5/7] Extract X11 functions used by wxGTK in a separate header This makes src/unix/displayx11.cpp almost readable as it's not littered by "#ifndef __WXGTK20__" checks everywhere any more -- instead this file is just not compiled as part of wxGTK2 at all any longer (it is still included in wxGTK1 as well as wxX11 itself and wxMotif). wxGTK code also can just include the new wx/unix/private/displayx11.h instead of having to declare all the X11 functions it uses manually. There should be no changes in behaviour, this is just a clean up. --- Makefile.in | 248 +++++++++------------------ build/bakefiles/files.bkl | 4 +- build/cmake/files.cmake | 4 +- build/files | 4 +- include/wx/unix/private/displayx11.h | 177 +++++++++++++++++++ src/gtk/display.cpp | 27 ++- src/unix/displayx11.cpp | 185 +------------------- 7 files changed, 284 insertions(+), 365 deletions(-) create mode 100644 include/wx/unix/private/displayx11.h diff --git a/Makefile.in b/Makefile.in index 314c394af7..9ed6afed87 100644 --- a/Makefile.in +++ b/Makefile.in @@ -4875,7 +4875,6 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS = \ monodll_generic_caret.o \ monodll_generic_imaglist.o \ monodll_unix_dialup.o \ - monodll_displayx11.o \ monodll_unix_fontenum.o \ monodll_unix_fontutil.o \ monodll_uiactionx11.o \ @@ -4915,7 +4914,8 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS = \ monodll_gtk1_toplevel.o \ monodll_gtk1_utilsgtk.o \ monodll_gtk1_win_gtk.o \ - monodll_gtk1_window.o + monodll_gtk1_window.o \ + monodll_displayx11.o @COND_TOOLKIT_GTK_TOOLKIT_VERSION_@__LOWLEVEL_SRC_OBJECTS = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS) COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___LOWLEVEL_SRC_OBJECTS = \ $(__GTK_PLATFORM_SRC_OBJECTS) \ @@ -5035,7 +5035,6 @@ COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS = \ monodll_generic_caret.o \ monodll_generic_imaglist.o \ monodll_unix_dialup.o \ - monodll_displayx11.o \ monodll_unix_fontenum.o \ monodll_unix_fontutil.o \ monodll_uiactionx11.o \ @@ -5050,7 +5049,8 @@ COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS = \ monodll_x11_palette.o \ monodll_x11_pen.o \ monodll_x11_region.o \ - monodll_utilsx.o + monodll_utilsx.o \ + monodll_displayx11.o @COND_TOOLKIT_MOTIF@__LOWLEVEL_SRC_OBJECTS = $(COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS) COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS = \ monodll_activex.o \ @@ -5128,7 +5128,6 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS = \ monodll_generic_caret.o \ monodll_generic_imaglist.o \ monodll_unix_dialup.o \ - monodll_displayx11.o \ monodll_unix_fontenum.o \ monodll_unix_fontutil.o \ monodll_uiactionx11.o \ @@ -5165,7 +5164,8 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS = \ monodll_x11_toplevel.o \ monodll_x11_utils.o \ monodll_utilsx.o \ - monodll_x11_window.o + monodll_x11_window.o \ + monodll_displayx11.o @COND_TOOLKIT_X11@__LOWLEVEL_SRC_OBJECTS = $(COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS) COND_TOOLKIT_GTK_TOOLKIT_VERSION____GUI_SRC_OBJECTS = \ monodll_generic_accel.o \ @@ -5779,7 +5779,6 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS_1 = \ monodll_generic_caret.o \ monodll_generic_imaglist.o \ monodll_unix_dialup.o \ - monodll_displayx11.o \ monodll_unix_fontenum.o \ monodll_unix_fontutil.o \ monodll_uiactionx11.o \ @@ -5819,7 +5818,8 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS_1 = \ monodll_gtk1_toplevel.o \ monodll_gtk1_utilsgtk.o \ monodll_gtk1_win_gtk.o \ - monodll_gtk1_window.o + monodll_gtk1_window.o \ + monodll_displayx11.o @COND_TOOLKIT_GTK_TOOLKIT_VERSION_@__LOWLEVEL_SRC_OBJECTS_1 = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS_1) COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___LOWLEVEL_SRC_OBJECTS_1 = \ $(__GTK_PLATFORM_SRC_OBJECTS) \ @@ -5939,7 +5939,6 @@ COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS_1 = \ monodll_generic_caret.o \ monodll_generic_imaglist.o \ monodll_unix_dialup.o \ - monodll_displayx11.o \ monodll_unix_fontenum.o \ monodll_unix_fontutil.o \ monodll_uiactionx11.o \ @@ -5954,7 +5953,8 @@ COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS_1 = \ monodll_x11_palette.o \ monodll_x11_pen.o \ monodll_x11_region.o \ - monodll_utilsx.o + monodll_utilsx.o \ + monodll_displayx11.o @COND_TOOLKIT_MOTIF@__LOWLEVEL_SRC_OBJECTS_1 = $(COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS_1) COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_1 = \ monodll_activex.o \ @@ -6032,7 +6032,6 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_1 = \ monodll_generic_caret.o \ monodll_generic_imaglist.o \ monodll_unix_dialup.o \ - monodll_displayx11.o \ monodll_unix_fontenum.o \ monodll_unix_fontutil.o \ monodll_uiactionx11.o \ @@ -6069,7 +6068,8 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_1 = \ monodll_x11_toplevel.o \ monodll_x11_utils.o \ monodll_utilsx.o \ - monodll_x11_window.o + monodll_x11_window.o \ + monodll_displayx11.o @COND_TOOLKIT_X11@__LOWLEVEL_SRC_OBJECTS_1 = $(COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_1) @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@__UNIV_PLATFORM_SRC_OBJECTS \ @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@ = monodll_animateg.o @@ -6852,7 +6852,6 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS_2 = \ monolib_generic_caret.o \ monolib_generic_imaglist.o \ monolib_unix_dialup.o \ - monolib_displayx11.o \ monolib_unix_fontenum.o \ monolib_unix_fontutil.o \ monolib_uiactionx11.o \ @@ -6892,7 +6891,8 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS_2 = \ monolib_gtk1_toplevel.o \ monolib_gtk1_utilsgtk.o \ monolib_gtk1_win_gtk.o \ - monolib_gtk1_window.o + monolib_gtk1_window.o \ + monolib_displayx11.o @COND_TOOLKIT_GTK_TOOLKIT_VERSION_@__LOWLEVEL_SRC_OBJECTS_2 = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS_2) COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___LOWLEVEL_SRC_OBJECTS_2 = \ $(__GTK_PLATFORM_SRC_OBJECTS_27) \ @@ -7012,7 +7012,6 @@ COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS_2 = \ monolib_generic_caret.o \ monolib_generic_imaglist.o \ monolib_unix_dialup.o \ - monolib_displayx11.o \ monolib_unix_fontenum.o \ monolib_unix_fontutil.o \ monolib_uiactionx11.o \ @@ -7027,7 +7026,8 @@ COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS_2 = \ monolib_x11_palette.o \ monolib_x11_pen.o \ monolib_x11_region.o \ - monolib_utilsx.o + monolib_utilsx.o \ + monolib_displayx11.o @COND_TOOLKIT_MOTIF@__LOWLEVEL_SRC_OBJECTS_2 = $(COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS_2) COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_2 = \ monolib_activex.o \ @@ -7105,7 +7105,6 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_2 = \ monolib_generic_caret.o \ monolib_generic_imaglist.o \ monolib_unix_dialup.o \ - monolib_displayx11.o \ monolib_unix_fontenum.o \ monolib_unix_fontutil.o \ monolib_uiactionx11.o \ @@ -7142,7 +7141,8 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_2 = \ monolib_x11_toplevel.o \ monolib_x11_utils.o \ monolib_utilsx.o \ - monolib_x11_window.o + monolib_x11_window.o \ + monolib_displayx11.o @COND_TOOLKIT_X11@__LOWLEVEL_SRC_OBJECTS_2 = $(COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_2) COND_TOOLKIT_GTK_TOOLKIT_VERSION____GUI_SRC_OBJECTS_1 = \ monolib_generic_accel.o \ @@ -7756,7 +7756,6 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS_3 = \ monolib_generic_caret.o \ monolib_generic_imaglist.o \ monolib_unix_dialup.o \ - monolib_displayx11.o \ monolib_unix_fontenum.o \ monolib_unix_fontutil.o \ monolib_uiactionx11.o \ @@ -7796,7 +7795,8 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS_3 = \ monolib_gtk1_toplevel.o \ monolib_gtk1_utilsgtk.o \ monolib_gtk1_win_gtk.o \ - monolib_gtk1_window.o + monolib_gtk1_window.o \ + monolib_displayx11.o @COND_TOOLKIT_GTK_TOOLKIT_VERSION_@__LOWLEVEL_SRC_OBJECTS_3 = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS_3) COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___LOWLEVEL_SRC_OBJECTS_3 = \ $(__GTK_PLATFORM_SRC_OBJECTS_27) \ @@ -7916,7 +7916,6 @@ COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS_3 = \ monolib_generic_caret.o \ monolib_generic_imaglist.o \ monolib_unix_dialup.o \ - monolib_displayx11.o \ monolib_unix_fontenum.o \ monolib_unix_fontutil.o \ monolib_uiactionx11.o \ @@ -7931,7 +7930,8 @@ COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS_3 = \ monolib_x11_palette.o \ monolib_x11_pen.o \ monolib_x11_region.o \ - monolib_utilsx.o + monolib_utilsx.o \ + monolib_displayx11.o @COND_TOOLKIT_MOTIF@__LOWLEVEL_SRC_OBJECTS_3 = $(COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS_3) COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_3 = \ monolib_activex.o \ @@ -8009,7 +8009,6 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_3 = \ monolib_generic_caret.o \ monolib_generic_imaglist.o \ monolib_unix_dialup.o \ - monolib_displayx11.o \ monolib_unix_fontenum.o \ monolib_unix_fontutil.o \ monolib_uiactionx11.o \ @@ -8046,7 +8045,8 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_3 = \ monolib_x11_toplevel.o \ monolib_x11_utils.o \ monolib_utilsx.o \ - monolib_x11_window.o + monolib_x11_window.o \ + monolib_displayx11.o @COND_TOOLKIT_X11@__LOWLEVEL_SRC_OBJECTS_3 = $(COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_3) @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@__UNIV_PLATFORM_SRC_OBJECTS_1 \ @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@ = monolib_animateg.o @@ -8976,7 +8976,6 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS_4 = \ coredll_generic_caret.o \ coredll_generic_imaglist.o \ coredll_unix_dialup.o \ - coredll_displayx11.o \ coredll_unix_fontenum.o \ coredll_unix_fontutil.o \ coredll_uiactionx11.o \ @@ -9016,7 +9015,8 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS_4 = \ coredll_gtk1_toplevel.o \ coredll_gtk1_utilsgtk.o \ coredll_gtk1_win_gtk.o \ - coredll_gtk1_window.o + coredll_gtk1_window.o \ + coredll_displayx11.o @COND_TOOLKIT_GTK_TOOLKIT_VERSION_@__LOWLEVEL_SRC_OBJECTS_4 = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS_4) COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___LOWLEVEL_SRC_OBJECTS_4 = \ $(__GTK_PLATFORM_SRC_OBJECTS_1_4) \ @@ -9136,7 +9136,6 @@ COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS_4 = \ coredll_generic_caret.o \ coredll_generic_imaglist.o \ coredll_unix_dialup.o \ - coredll_displayx11.o \ coredll_unix_fontenum.o \ coredll_unix_fontutil.o \ coredll_uiactionx11.o \ @@ -9151,7 +9150,8 @@ COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS_4 = \ coredll_x11_palette.o \ coredll_x11_pen.o \ coredll_x11_region.o \ - coredll_utilsx.o + coredll_utilsx.o \ + coredll_displayx11.o @COND_TOOLKIT_MOTIF@__LOWLEVEL_SRC_OBJECTS_4 = $(COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS_4) COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_4 = \ coredll_activex.o \ @@ -9229,7 +9229,6 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_4 = \ coredll_generic_caret.o \ coredll_generic_imaglist.o \ coredll_unix_dialup.o \ - coredll_displayx11.o \ coredll_unix_fontenum.o \ coredll_unix_fontutil.o \ coredll_uiactionx11.o \ @@ -9266,7 +9265,8 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_4 = \ coredll_x11_toplevel.o \ coredll_x11_utils.o \ coredll_utilsx.o \ - coredll_x11_window.o + coredll_x11_window.o \ + coredll_displayx11.o @COND_TOOLKIT_X11@__LOWLEVEL_SRC_OBJECTS_4 = $(COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_4) COND_TOOLKIT_GTK_TOOLKIT_VERSION____GUI_SRC_OBJECTS_2 = \ coredll_generic_accel.o \ @@ -9880,7 +9880,6 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS_5 = \ coredll_generic_caret.o \ coredll_generic_imaglist.o \ coredll_unix_dialup.o \ - coredll_displayx11.o \ coredll_unix_fontenum.o \ coredll_unix_fontutil.o \ coredll_uiactionx11.o \ @@ -9920,7 +9919,8 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS_5 = \ coredll_gtk1_toplevel.o \ coredll_gtk1_utilsgtk.o \ coredll_gtk1_win_gtk.o \ - coredll_gtk1_window.o + coredll_gtk1_window.o \ + coredll_displayx11.o @COND_TOOLKIT_GTK_TOOLKIT_VERSION_@__LOWLEVEL_SRC_OBJECTS_5 = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS_5) COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___LOWLEVEL_SRC_OBJECTS_5 = \ $(__GTK_PLATFORM_SRC_OBJECTS_1_4) \ @@ -10040,7 +10040,6 @@ COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS_5 = \ coredll_generic_caret.o \ coredll_generic_imaglist.o \ coredll_unix_dialup.o \ - coredll_displayx11.o \ coredll_unix_fontenum.o \ coredll_unix_fontutil.o \ coredll_uiactionx11.o \ @@ -10055,7 +10054,8 @@ COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS_5 = \ coredll_x11_palette.o \ coredll_x11_pen.o \ coredll_x11_region.o \ - coredll_utilsx.o + coredll_utilsx.o \ + coredll_displayx11.o @COND_TOOLKIT_MOTIF@__LOWLEVEL_SRC_OBJECTS_5 = $(COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS_5) COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_5 = \ coredll_activex.o \ @@ -10133,7 +10133,6 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_5 = \ coredll_generic_caret.o \ coredll_generic_imaglist.o \ coredll_unix_dialup.o \ - coredll_displayx11.o \ coredll_unix_fontenum.o \ coredll_unix_fontutil.o \ coredll_uiactionx11.o \ @@ -10170,7 +10169,8 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_5 = \ coredll_x11_toplevel.o \ coredll_x11_utils.o \ coredll_utilsx.o \ - coredll_x11_window.o + coredll_x11_window.o \ + coredll_displayx11.o @COND_TOOLKIT_X11@__LOWLEVEL_SRC_OBJECTS_5 = $(COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_5) @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@__UNIV_PLATFORM_SRC_OBJECTS_2 \ @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@ = coredll_animateg.o @@ -10695,7 +10695,6 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS_6 = \ corelib_generic_caret.o \ corelib_generic_imaglist.o \ corelib_unix_dialup.o \ - corelib_displayx11.o \ corelib_unix_fontenum.o \ corelib_unix_fontutil.o \ corelib_uiactionx11.o \ @@ -10735,7 +10734,8 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS_6 = \ corelib_gtk1_toplevel.o \ corelib_gtk1_utilsgtk.o \ corelib_gtk1_win_gtk.o \ - corelib_gtk1_window.o + corelib_gtk1_window.o \ + corelib_displayx11.o @COND_TOOLKIT_GTK_TOOLKIT_VERSION_@__LOWLEVEL_SRC_OBJECTS_6 = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS_6) COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___LOWLEVEL_SRC_OBJECTS_6 = \ $(__GTK_PLATFORM_SRC_OBJECTS_2_2) \ @@ -10855,7 +10855,6 @@ COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS_6 = \ corelib_generic_caret.o \ corelib_generic_imaglist.o \ corelib_unix_dialup.o \ - corelib_displayx11.o \ corelib_unix_fontenum.o \ corelib_unix_fontutil.o \ corelib_uiactionx11.o \ @@ -10870,7 +10869,8 @@ COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS_6 = \ corelib_x11_palette.o \ corelib_x11_pen.o \ corelib_x11_region.o \ - corelib_utilsx.o + corelib_utilsx.o \ + corelib_displayx11.o @COND_TOOLKIT_MOTIF@__LOWLEVEL_SRC_OBJECTS_6 = $(COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS_6) COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_6 = \ corelib_activex.o \ @@ -10948,7 +10948,6 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_6 = \ corelib_generic_caret.o \ corelib_generic_imaglist.o \ corelib_unix_dialup.o \ - corelib_displayx11.o \ corelib_unix_fontenum.o \ corelib_unix_fontutil.o \ corelib_uiactionx11.o \ @@ -10985,7 +10984,8 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_6 = \ corelib_x11_toplevel.o \ corelib_x11_utils.o \ corelib_utilsx.o \ - corelib_x11_window.o + corelib_x11_window.o \ + corelib_displayx11.o @COND_TOOLKIT_X11@__LOWLEVEL_SRC_OBJECTS_6 = $(COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_6) COND_TOOLKIT_GTK_TOOLKIT_VERSION____GUI_SRC_OBJECTS_3 = \ corelib_generic_accel.o \ @@ -11599,7 +11599,6 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS_7 = \ corelib_generic_caret.o \ corelib_generic_imaglist.o \ corelib_unix_dialup.o \ - corelib_displayx11.o \ corelib_unix_fontenum.o \ corelib_unix_fontutil.o \ corelib_uiactionx11.o \ @@ -11639,7 +11638,8 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS_7 = \ corelib_gtk1_toplevel.o \ corelib_gtk1_utilsgtk.o \ corelib_gtk1_win_gtk.o \ - corelib_gtk1_window.o + corelib_gtk1_window.o \ + corelib_displayx11.o @COND_TOOLKIT_GTK_TOOLKIT_VERSION_@__LOWLEVEL_SRC_OBJECTS_7 = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION____LOWLEVEL_SRC_OBJECTS_7) COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___LOWLEVEL_SRC_OBJECTS_7 = \ $(__GTK_PLATFORM_SRC_OBJECTS_2_2) \ @@ -11759,7 +11759,6 @@ COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS_7 = \ corelib_generic_caret.o \ corelib_generic_imaglist.o \ corelib_unix_dialup.o \ - corelib_displayx11.o \ corelib_unix_fontenum.o \ corelib_unix_fontutil.o \ corelib_uiactionx11.o \ @@ -11774,7 +11773,8 @@ COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS_7 = \ corelib_x11_palette.o \ corelib_x11_pen.o \ corelib_x11_region.o \ - corelib_utilsx.o + corelib_utilsx.o \ + corelib_displayx11.o @COND_TOOLKIT_MOTIF@__LOWLEVEL_SRC_OBJECTS_7 = $(COND_TOOLKIT_MOTIF___LOWLEVEL_SRC_OBJECTS_7) COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_7 = \ corelib_activex.o \ @@ -11852,7 +11852,6 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_7 = \ corelib_generic_caret.o \ corelib_generic_imaglist.o \ corelib_unix_dialup.o \ - corelib_displayx11.o \ corelib_unix_fontenum.o \ corelib_unix_fontutil.o \ corelib_uiactionx11.o \ @@ -11889,7 +11888,8 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_7 = \ corelib_x11_toplevel.o \ corelib_x11_utils.o \ corelib_utilsx.o \ - corelib_x11_window.o + corelib_x11_window.o \ + corelib_displayx11.o @COND_TOOLKIT_X11@__LOWLEVEL_SRC_OBJECTS_7 = $(COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_7) @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@__UNIV_PLATFORM_SRC_OBJECTS_3 \ @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@ = corelib_animateg.o @@ -13185,7 +13185,6 @@ COND_PLATFORM_MACOSX_1___GTK_PLATFORM_SRC_OBJECTS = \ monodll_generic_caret.o \ monodll_generic_imaglist.o \ monodll_unix_dialup.o \ - monodll_displayx11.o \ monodll_unix_fontenum.o \ monodll_unix_fontutil.o \ monodll_uiactionx11.o \ @@ -13199,7 +13198,6 @@ COND_PLATFORM_UNIX_1___GTK_PLATFORM_SRC_OBJECTS = \ monodll_generic_caret.o \ monodll_generic_imaglist.o \ monodll_unix_dialup.o \ - monodll_displayx11.o \ monodll_unix_fontenum.o \ monodll_unix_fontutil.o \ monodll_uiactionx11.o \ @@ -13328,7 +13326,6 @@ COND_PLATFORM_MACOSX_1___GTK_PLATFORM_SRC_OBJECTS_27 = \ monolib_generic_caret.o \ monolib_generic_imaglist.o \ monolib_unix_dialup.o \ - monolib_displayx11.o \ monolib_unix_fontenum.o \ monolib_unix_fontutil.o \ monolib_uiactionx11.o \ @@ -13342,7 +13339,6 @@ COND_PLATFORM_UNIX_1___GTK_PLATFORM_SRC_OBJECTS_27 = \ monolib_generic_caret.o \ monolib_generic_imaglist.o \ monolib_unix_dialup.o \ - monolib_displayx11.o \ monolib_unix_fontenum.o \ monolib_unix_fontutil.o \ monolib_uiactionx11.o \ @@ -13471,7 +13467,6 @@ COND_PLATFORM_MACOSX_1___GTK_PLATFORM_SRC_OBJECTS_1_4 = \ coredll_generic_caret.o \ coredll_generic_imaglist.o \ coredll_unix_dialup.o \ - coredll_displayx11.o \ coredll_unix_fontenum.o \ coredll_unix_fontutil.o \ coredll_uiactionx11.o \ @@ -13485,7 +13480,6 @@ COND_PLATFORM_UNIX_1___GTK_PLATFORM_SRC_OBJECTS_1_4 = \ coredll_generic_caret.o \ coredll_generic_imaglist.o \ coredll_unix_dialup.o \ - coredll_displayx11.o \ coredll_unix_fontenum.o \ coredll_unix_fontutil.o \ coredll_uiactionx11.o \ @@ -13611,7 +13605,6 @@ COND_PLATFORM_MACOSX_1___GTK_PLATFORM_SRC_OBJECTS_2_2 = \ corelib_generic_caret.o \ corelib_generic_imaglist.o \ corelib_unix_dialup.o \ - corelib_displayx11.o \ corelib_unix_fontenum.o \ corelib_unix_fontutil.o \ corelib_uiactionx11.o \ @@ -13625,7 +13618,6 @@ COND_PLATFORM_UNIX_1___GTK_PLATFORM_SRC_OBJECTS_2_2 = \ corelib_generic_caret.o \ corelib_generic_imaglist.o \ corelib_unix_dialup.o \ - corelib_displayx11.o \ corelib_unix_fontenum.o \ corelib_unix_fontutil.o \ corelib_uiactionx11.o \ @@ -17631,33 +17623,6 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP) @COND_TOOLKIT_X11_USE_GUI_1@monodll_unix_dialup.o: $(srcdir)/src/unix/dialup.cpp $(MONODLL_ODEP) @COND_TOOLKIT_X11_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/dialup.cpp -@COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_4_USE_GUI_1@monodll_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(MONODLL_ODEP) -@COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_4_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK_TOOLKIT_VERSION_4_USE_GUI_1@monodll_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(MONODLL_ODEP) -@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK_TOOLKIT_VERSION_4_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@monodll_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(MONODLL_ODEP) -@COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@monodll_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(MONODLL_ODEP) -@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monodll_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(MONODLL_ODEP) -@COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monodll_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(MONODLL_ODEP) -@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@monodll_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(MONODLL_ODEP) -@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_TOOLKIT_MOTIF_USE_GUI_1@monodll_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(MONODLL_ODEP) -@COND_TOOLKIT_MOTIF_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_TOOLKIT_X11_USE_GUI_1@monodll_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(MONODLL_ODEP) -@COND_TOOLKIT_X11_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - @COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_4_USE_GUI_1@monodll_unix_fontenum.o: $(srcdir)/src/unix/fontenum.cpp $(MONODLL_ODEP) @COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_4_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/fontenum.cpp @@ -18513,6 +18478,15 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@monodll_gtk1_window.o: $(srcdir)/src/gtk1/window.cpp $(MONODLL_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/gtk1/window.cpp +@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@monodll_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(MONODLL_ODEP) +@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp + +@COND_TOOLKIT_MOTIF_USE_GUI_1@monodll_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(MONODLL_ODEP) +@COND_TOOLKIT_MOTIF_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp + +@COND_TOOLKIT_X11_USE_GUI_1@monodll_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(MONODLL_ODEP) +@COND_TOOLKIT_X11_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp + @COND_TOOLKIT_MOTIF_USE_GUI_1@monodll_x11_bitmap.o: $(srcdir)/src/x11/bitmap.cpp $(MONODLL_ODEP) @COND_TOOLKIT_MOTIF_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/x11/bitmap.cpp @@ -22902,33 +22876,6 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP) @COND_TOOLKIT_X11_USE_GUI_1@monolib_unix_dialup.o: $(srcdir)/src/unix/dialup.cpp $(MONOLIB_ODEP) @COND_TOOLKIT_X11_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/dialup.cpp -@COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_4_USE_GUI_1@monolib_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(MONOLIB_ODEP) -@COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_4_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK_TOOLKIT_VERSION_4_USE_GUI_1@monolib_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(MONOLIB_ODEP) -@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK_TOOLKIT_VERSION_4_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@monolib_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(MONOLIB_ODEP) -@COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@monolib_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(MONOLIB_ODEP) -@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monolib_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(MONOLIB_ODEP) -@COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monolib_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(MONOLIB_ODEP) -@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@monolib_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(MONOLIB_ODEP) -@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_TOOLKIT_MOTIF_USE_GUI_1@monolib_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(MONOLIB_ODEP) -@COND_TOOLKIT_MOTIF_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_TOOLKIT_X11_USE_GUI_1@monolib_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(MONOLIB_ODEP) -@COND_TOOLKIT_X11_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - @COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_4_USE_GUI_1@monolib_unix_fontenum.o: $(srcdir)/src/unix/fontenum.cpp $(MONOLIB_ODEP) @COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_4_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/fontenum.cpp @@ -23784,6 +23731,15 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@monolib_gtk1_window.o: $(srcdir)/src/gtk1/window.cpp $(MONOLIB_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/gtk1/window.cpp +@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@monolib_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(MONOLIB_ODEP) +@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp + +@COND_TOOLKIT_MOTIF_USE_GUI_1@monolib_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(MONOLIB_ODEP) +@COND_TOOLKIT_MOTIF_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp + +@COND_TOOLKIT_X11_USE_GUI_1@monolib_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(MONOLIB_ODEP) +@COND_TOOLKIT_X11_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp + @COND_TOOLKIT_MOTIF_USE_GUI_1@monolib_x11_bitmap.o: $(srcdir)/src/x11/bitmap.cpp $(MONOLIB_ODEP) @COND_TOOLKIT_MOTIF_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/x11/bitmap.cpp @@ -28266,33 +28222,6 @@ coredll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(COREDLL_ODEP) @COND_TOOLKIT_X11_USE_GUI_1@coredll_unix_dialup.o: $(srcdir)/src/unix/dialup.cpp $(COREDLL_ODEP) @COND_TOOLKIT_X11_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/unix/dialup.cpp -@COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_4_USE_GUI_1@coredll_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(COREDLL_ODEP) -@COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_4_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK_TOOLKIT_VERSION_4_USE_GUI_1@coredll_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(COREDLL_ODEP) -@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK_TOOLKIT_VERSION_4_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@coredll_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(COREDLL_ODEP) -@COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@coredll_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(COREDLL_ODEP) -@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@coredll_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(COREDLL_ODEP) -@COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@coredll_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(COREDLL_ODEP) -@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@coredll_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(COREDLL_ODEP) -@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_TOOLKIT_MOTIF_USE_GUI_1@coredll_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(COREDLL_ODEP) -@COND_TOOLKIT_MOTIF_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_TOOLKIT_X11_USE_GUI_1@coredll_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(COREDLL_ODEP) -@COND_TOOLKIT_X11_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - @COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_4_USE_GUI_1@coredll_unix_fontenum.o: $(srcdir)/src/unix/fontenum.cpp $(COREDLL_ODEP) @COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_4_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/unix/fontenum.cpp @@ -29148,6 +29077,15 @@ coredll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(COREDLL_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@coredll_gtk1_window.o: $(srcdir)/src/gtk1/window.cpp $(COREDLL_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/gtk1/window.cpp +@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@coredll_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(COREDLL_ODEP) +@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp + +@COND_TOOLKIT_MOTIF_USE_GUI_1@coredll_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(COREDLL_ODEP) +@COND_TOOLKIT_MOTIF_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp + +@COND_TOOLKIT_X11_USE_GUI_1@coredll_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(COREDLL_ODEP) +@COND_TOOLKIT_X11_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp + @COND_TOOLKIT_MOTIF_USE_GUI_1@coredll_x11_bitmap.o: $(srcdir)/src/x11/bitmap.cpp $(COREDLL_ODEP) @COND_TOOLKIT_MOTIF_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/x11/bitmap.cpp @@ -32532,33 +32470,6 @@ corelib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(CORELIB_ODEP) @COND_TOOLKIT_X11_USE_GUI_1@corelib_unix_dialup.o: $(srcdir)/src/unix/dialup.cpp $(CORELIB_ODEP) @COND_TOOLKIT_X11_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/unix/dialup.cpp -@COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_4_USE_GUI_1@corelib_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(CORELIB_ODEP) -@COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_4_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK_TOOLKIT_VERSION_4_USE_GUI_1@corelib_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(CORELIB_ODEP) -@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK_TOOLKIT_VERSION_4_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@corelib_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(CORELIB_ODEP) -@COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@corelib_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(CORELIB_ODEP) -@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK_TOOLKIT_VERSION_3_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@corelib_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(CORELIB_ODEP) -@COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@corelib_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(CORELIB_ODEP) -@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@corelib_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(CORELIB_ODEP) -@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_TOOLKIT_MOTIF_USE_GUI_1@corelib_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(CORELIB_ODEP) -@COND_TOOLKIT_MOTIF_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - -@COND_TOOLKIT_X11_USE_GUI_1@corelib_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(CORELIB_ODEP) -@COND_TOOLKIT_X11_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp - @COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_4_USE_GUI_1@corelib_unix_fontenum.o: $(srcdir)/src/unix/fontenum.cpp $(CORELIB_ODEP) @COND_PLATFORM_UNIX_1_TOOLKIT_GTK_TOOLKIT_VERSION_4_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/unix/fontenum.cpp @@ -33414,6 +33325,15 @@ corelib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(CORELIB_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@corelib_gtk1_window.o: $(srcdir)/src/gtk1/window.cpp $(CORELIB_ODEP) @COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/gtk1/window.cpp +@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@corelib_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(CORELIB_ODEP) +@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp + +@COND_TOOLKIT_MOTIF_USE_GUI_1@corelib_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(CORELIB_ODEP) +@COND_TOOLKIT_MOTIF_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp + +@COND_TOOLKIT_X11_USE_GUI_1@corelib_displayx11.o: $(srcdir)/src/unix/displayx11.cpp $(CORELIB_ODEP) +@COND_TOOLKIT_X11_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/unix/displayx11.cpp + @COND_TOOLKIT_MOTIF_USE_GUI_1@corelib_x11_bitmap.o: $(srcdir)/src/x11/bitmap.cpp $(CORELIB_ODEP) @COND_TOOLKIT_MOTIF_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/x11/bitmap.cpp diff --git a/build/bakefiles/files.bkl b/build/bakefiles/files.bkl index b4834f11f5..328e0c3b68 100644 --- a/build/bakefiles/files.bkl +++ b/build/bakefiles/files.bkl @@ -1311,7 +1311,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! src/generic/caret.cpp src/generic/imaglist.cpp src/unix/dialup.cpp - src/unix/displayx11.cpp src/unix/fontenum.cpp src/unix/fontutil.cpp src/unix/uiactionx11.cpp @@ -1629,6 +1628,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! src/gtk1/utilsgtk.cpp src/gtk1/win_gtk.c src/gtk1/window.cpp + src/unix/displayx11.cpp $(XWIN_LOWLEVEL_HDR) @@ -1774,6 +1774,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! src/x11/pen.cpp src/x11/region.cpp src/x11/utilsx.cpp + src/unix/displayx11.cpp $(XWIN_LOWLEVEL_HDR) @@ -1965,6 +1966,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! src/x11/utils.cpp src/x11/utilsx.cpp src/x11/window.cpp + src/unix/displayx11.cpp $(XWIN_LOWLEVEL_HDR) diff --git a/build/cmake/files.cmake b/build/cmake/files.cmake index 75d55340a6..f8c6c12d39 100644 --- a/build/cmake/files.cmake +++ b/build/cmake/files.cmake @@ -1206,7 +1206,6 @@ set(XWIN_LOWLEVEL_SRC src/generic/caret.cpp src/generic/imaglist.cpp src/unix/dialup.cpp - src/unix/displayx11.cpp src/unix/fontenum.cpp src/unix/fontutil.cpp src/unix/uiactionx11.cpp @@ -1513,6 +1512,7 @@ set(GTK1_LOWLEVEL_SRC src/gtk1/utilsgtk.cpp src/gtk1/win_gtk.c src/gtk1/window.cpp + src/unix/displayx11.cpp ) set(GTK1_LOWLEVEL_HDR @@ -1656,6 +1656,7 @@ set(MOTIF_LOWLEVEL_SRC src/x11/pen.cpp src/x11/region.cpp src/x11/utilsx.cpp + src/unix/displayx11.cpp ) set(MOTIF_LOWLEVEL_HDR @@ -1844,6 +1845,7 @@ set(X11_LOWLEVEL_SRC src/x11/utils.cpp src/x11/utilsx.cpp src/x11/window.cpp + src/unix/displayx11.cpp ) set(X11_LOWLEVEL_HDR diff --git a/build/files b/build/files index 77280b9913..03bf2cbcea 100644 --- a/build/files +++ b/build/files @@ -1221,7 +1221,6 @@ XWIN_LOWLEVEL_SRC = src/generic/caret.cpp src/generic/imaglist.cpp src/unix/dialup.cpp - src/unix/displayx11.cpp src/unix/fontenum.cpp src/unix/fontutil.cpp src/unix/joystick.cpp @@ -1486,6 +1485,7 @@ GTK2_HDR = GTK1_LOWLEVEL_SRC = $(XWIN_LOWLEVEL_SRC) + src/unix/displayx11.cpp src/generic/icon.cpp src/generic/paletteg.cpp src/generic/textmeasure.cpp @@ -1651,6 +1651,7 @@ GTK1_HDR = MOTIF_LOWLEVEL_SRC = $(XWIN_LOWLEVEL_SRC) + src/unix/displayx11.cpp src/generic/textmeasure.cpp src/x11/bitmap.cpp src/x11/brush.cpp @@ -1814,6 +1815,7 @@ MOTIF_HDR = X11_LOWLEVEL_SRC = $(XWIN_LOWLEVEL_SRC) + src/unix/displayx11.cpp src/generic/icon.cpp src/generic/textmeasure.cpp src/generic/timer.cpp diff --git a/include/wx/unix/private/displayx11.h b/include/wx/unix/private/displayx11.h new file mode 100644 index 0000000000..ea993ca249 --- /dev/null +++ b/include/wx/unix/private/displayx11.h @@ -0,0 +1,177 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: wx/unix/private/displayx11.h +// Purpose: Helper functions used by wxX11 and wxGTK ports +// Author: Vadim Zeitlin +// Created: 2018-10-04 (extracted from src/unix/displayx11.cpp) +// Copyright: (c) 2002-2018 wxWindows team +// Licence: wxWindows licence +/////////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_UNIX_PRIVATE_DISPLAYX11_H_ +#define _WX_UNIX_PRIVATE_DISPLAYX11_H_ + +#include "wx/log.h" +#include "wx/translation.h" + +#include +#include + +#ifdef HAVE_X11_EXTENSIONS_XF86VMODE_H + +#include + +// +// See (http://www.xfree86.org/4.2.0/XF86VidModeDeleteModeLine.3.html) for more +// info about xf86 video mode extensions +// + +//free private data common to x (usually s3) servers +#define wxClearXVM(vm) if(vm.privsize) XFree(vm.c_private) + +// Correct res rate from GLFW +#define wxCRR2(v,dc) (int) (((1000.0f * (float) dc) /*PIXELS PER SECOND */) / ((float) v.htotal * v.vtotal /*PIXELS PER FRAME*/) + 0.5f) +#define wxCRR(v) wxCRR2(v,v.dotclock) +#define wxCVM2(v, dc, display, nScreen) wxVideoMode(v.hdisplay, v.vdisplay, DefaultDepth(display, nScreen), wxCRR2(v,dc)) +#define wxCVM(v, display, nScreen) wxCVM2(v, v.dotclock, display, nScreen) + +wxArrayVideoModes wxXF86VidMode_GetModes(const wxVideoMode& mode, Display* display, int nScreen) +{ + XF86VidModeModeInfo** ppXModes; //Enumerated Modes (Don't forget XFree() :)) + int nNumModes; //Number of modes enumerated.... + + wxArrayVideoModes Modes; //modes to return... + + if (XF86VidModeGetAllModeLines(display, nScreen, &nNumModes, &ppXModes)) + { + for (int i = 0; i < nNumModes; ++i) + { + XF86VidModeModeInfo& info = *ppXModes[i]; + const wxVideoMode vm = wxCVM(info, display, nScreen); + if (vm.Matches(mode)) + { + Modes.Add(vm); + } + wxClearXVM(info); + // XFree(ppXModes[i]); //supposed to free? + } + XFree(ppXModes); + } + else //OOPS! + { + wxLogSysError(_("Failed to enumerate video modes")); + } + + return Modes; +} + +wxVideoMode wxXF86VidMode_GetCurrentMode(Display* display, int nScreen) +{ + XF86VidModeModeLine VM; + int nDotClock; + if ( !XF86VidModeGetModeLine(display, nScreen, &nDotClock, &VM) ) + return wxVideoMode(); + + wxClearXVM(VM); + return wxCVM2(VM, nDotClock, display, nScreen); +} + +bool wxXF86VidMode_ChangeMode(const wxVideoMode& mode, Display* display, int nScreen) +{ + XF86VidModeModeInfo** ppXModes; //Enumerated Modes (Don't forget XFree() :)) + int nNumModes; //Number of modes enumerated.... + + if(!XF86VidModeGetAllModeLines(display, nScreen, &nNumModes, &ppXModes)) + { + wxLogSysError(_("Failed to change video mode")); + return false; + } + + bool bRet = false; + if (mode == wxDefaultVideoMode) + { + bRet = XF86VidModeSwitchToMode(display, nScreen, ppXModes[0]) != 0; + + for (int i = 0; i < nNumModes; ++i) + { + wxClearXVM((*ppXModes[i])); + // XFree(ppXModes[i]); //supposed to free? + } + } + else + { + for (int i = 0; i < nNumModes; ++i) + { + if (!bRet && + ppXModes[i]->hdisplay == mode.GetWidth() && + ppXModes[i]->vdisplay == mode.GetHeight() && + wxCRR((*ppXModes[i])) == mode.GetRefresh()) + { + //switch! + bRet = XF86VidModeSwitchToMode(display, nScreen, ppXModes[i]) != 0; + } + wxClearXVM((*ppXModes[i])); + // XFree(ppXModes[i]); //supposed to free? + } + } + + XFree(ppXModes); + + return bRet; +} + +#else // !HAVE_X11_EXTENSIONS_XF86VMODE_H + +wxArrayVideoModes wxX11_GetModes(const wxDisplayImpl* impl, const wxVideoMode& modeMatch, Display* display) +{ + int count_return; + int* depths = XListDepths(display, 0, &count_return); + wxArrayVideoModes modes; + if ( depths ) + { + const wxRect rect = impl->GetGeometry(); + for ( int x = 0; x < count_return; ++x ) + { + wxVideoMode mode(rect.width, rect.height, depths[x]); + if ( mode.Matches(modeMatch) ) + { + modes.Add(mode); + } + } + + XFree(depths); + } + return modes; +} + +#endif // !HAVE_X11_EXTENSIONS_XF86VMODE_H + +void wxGetWorkAreaX11(Screen* screen, int& x, int& y, int& width, int& height) +{ + Display* display = DisplayOfScreen(screen); + Atom property = XInternAtom(display, "_NET_WORKAREA", true); + if (property) + { + Atom actual_type; + int actual_format; + unsigned long nitems; + unsigned long bytes_after; + unsigned char* data = NULL; + Status status = XGetWindowProperty( + display, RootWindowOfScreen(screen), property, + 0, 4, false, XA_CARDINAL, + &actual_type, &actual_format, &nitems, &bytes_after, &data); + if (status == Success && actual_type == XA_CARDINAL && + actual_format == 32 && nitems == 4) + { + const long* p = (long*)data; + x = p[0]; + y = p[1]; + width = p[2]; + height = p[3]; + } + if (data) + XFree(data); + } +} + +#endif // _WX_UNIX_PRIVATE_DISPLAYX11_H_ diff --git a/src/gtk/display.cpp b/src/gtk/display.cpp index 5f9c28c2d5..b9eedf910b 100644 --- a/src/gtk/display.cpp +++ b/src/gtk/display.cpp @@ -12,6 +12,12 @@ #include "wx/gtk/private/wrapgtk.h" #ifdef GDK_WINDOWING_X11 + #ifndef __WXGTK4__ + #include "wx/unix/private/displayx11.h" + + #define wxGTK_HAVE_X11_DISPLAY + #endif + #include #endif @@ -23,10 +29,6 @@ GdkWindow* wxGetTopLevelGDK(); #ifndef __WXGTK4__ -#ifdef GDK_WINDOWING_X11 -void wxGetWorkAreaX11(Screen* screen, int& x, int& y, int& width, int& height); -#endif - #ifndef __WXGTK3__ static inline int wx_gdk_screen_get_primary_monitor(GdkScreen* screen) { @@ -51,7 +53,7 @@ wx_gdk_screen_get_monitor_workarea(GdkScreen* screen, int monitor, GdkRectangle* #endif { gdk_screen_get_monitor_geometry(screen, monitor, dest); -#ifdef GDK_WINDOWING_X11 +#ifdef wxGTK_HAVE_X11_DISPLAY #ifdef __WXGTK3__ if (GDK_IS_X11_SCREEN(screen)) #endif @@ -63,7 +65,7 @@ wx_gdk_screen_get_monitor_workarea(GdkScreen* screen, int monitor, GdkRectangle* if (rect.width && rect.height) gdk_rectangle_intersect(dest, &rect, dest); } -#endif // GDK_WINDOWING_X11 +#endif // wxGTK_HAVE_X11_DISPLAY } wxGCC_WARNING_RESTORE() } @@ -216,17 +218,10 @@ bool wxDisplayImplGTK::IsPrimary() const #endif } -#if defined(GDK_WINDOWING_X11) && !defined(__WXGTK4__) -wxArrayVideoModes wxXF86VidMode_GetModes(const wxVideoMode& mode, Display* pDisplay, int nScreen); -wxVideoMode wxXF86VidMode_GetCurrentMode(Display* display, int nScreen); -bool wxXF86VidMode_ChangeMode(const wxVideoMode& mode, Display* display, int nScreen); -wxArrayVideoModes wxX11_GetModes(const wxDisplayImpl* impl, const wxVideoMode& modeMatch, Display* display); -#endif - wxArrayVideoModes wxDisplayImplGTK::GetModes(const wxVideoMode& mode) const { wxArrayVideoModes modes; -#if defined(GDK_WINDOWING_X11) && !defined(__WXGTK4__) +#ifdef wxGTK_HAVE_X11_DISPLAY #ifdef __WXGTK3__ if (GDK_IS_X11_SCREEN(m_screen)) #endif @@ -248,7 +243,7 @@ wxArrayVideoModes wxDisplayImplGTK::GetModes(const wxVideoMode& mode) const wxVideoMode wxDisplayImplGTK::GetCurrentMode() const { wxVideoMode mode; -#if defined(GDK_WINDOWING_X11) && defined(HAVE_X11_EXTENSIONS_XF86VMODE_H) && !defined(__WXGTK4__) +#if defined(wxGTK_HAVE_X11_DISPLAY) && defined(HAVE_X11_EXTENSIONS_XF86VMODE_H) #ifdef __WXGTK3__ if (GDK_IS_X11_SCREEN(m_screen)) #endif @@ -264,7 +259,7 @@ wxVideoMode wxDisplayImplGTK::GetCurrentMode() const bool wxDisplayImplGTK::ChangeMode(const wxVideoMode& mode) { bool success = false; -#if defined(GDK_WINDOWING_X11) && defined(HAVE_X11_EXTENSIONS_XF86VMODE_H) && !defined(__WXGTK4__) +#if defined(wxGTK_HAVE_X11_DISPLAY) && defined(HAVE_X11_EXTENSIONS_XF86VMODE_H) #ifdef __WXGTK3__ if (GDK_IS_X11_SCREEN(m_screen)) #endif diff --git a/src/unix/displayx11.cpp b/src/unix/displayx11.cpp index b1794b5127..4e317ca6a0 100644 --- a/src/unix/displayx11.cpp +++ b/src/unix/displayx11.cpp @@ -29,17 +29,8 @@ #include "wx/log.h" #endif /* WX_PRECOMP */ -#ifdef __WXGTK20__ - #include // GDK_WINDOWING_X11 -#endif -#if !defined(__WXGTK20__) || defined(GDK_WINDOWING_X11) - #include - #include -#endif - #include "wx/private/display.h" - -#ifndef __WXGTK20__ +#include "wx/unix/private/displayx11.h" static wxRect wxGetMainScreenWorkArea(); @@ -70,12 +61,8 @@ protected: } }; -#endif // !__WXGTK20__ - #if wxUSE_DISPLAY -#ifndef __WXGTK20__ - #include typedef XineramaScreenInfo ScreenInfo; @@ -189,118 +176,13 @@ wxDisplayImpl *wxDisplayFactoryX11::CreateDisplay(unsigned n) return n < screens.GetCount() ? new wxDisplayImplX11(n, screens[n]) : NULL; } -#endif // !__WXGTK20__ // ============================================================================ // wxDisplayImplX11 implementation // ============================================================================ -#if !defined(__WXGTK20__) || defined(GDK_WINDOWING_X11) - #ifdef HAVE_X11_EXTENSIONS_XF86VMODE_H -#include - -// -// See (http://www.xfree86.org/4.2.0/XF86VidModeDeleteModeLine.3.html) for more -// info about xf86 video mode extensions -// - -//free private data common to x (usually s3) servers -#define wxClearXVM(vm) if(vm.privsize) XFree(vm.c_private) - -// Correct res rate from GLFW -#define wxCRR2(v,dc) (int) (((1000.0f * (float) dc) /*PIXELS PER SECOND */) / ((float) v.htotal * v.vtotal /*PIXELS PER FRAME*/) + 0.5f) -#define wxCRR(v) wxCRR2(v,v.dotclock) -#define wxCVM2(v, dc, display, nScreen) wxVideoMode(v.hdisplay, v.vdisplay, DefaultDepth(display, nScreen), wxCRR2(v,dc)) -#define wxCVM(v, display, nScreen) wxCVM2(v, v.dotclock, display, nScreen) - -wxArrayVideoModes wxXF86VidMode_GetModes(const wxVideoMode& mode, Display* display, int nScreen) -{ - XF86VidModeModeInfo** ppXModes; //Enumerated Modes (Don't forget XFree() :)) - int nNumModes; //Number of modes enumerated.... - - wxArrayVideoModes Modes; //modes to return... - - if (XF86VidModeGetAllModeLines(display, nScreen, &nNumModes, &ppXModes)) - { - for (int i = 0; i < nNumModes; ++i) - { - XF86VidModeModeInfo& info = *ppXModes[i]; - const wxVideoMode vm = wxCVM(info, display, nScreen); - if (vm.Matches(mode)) - { - Modes.Add(vm); - } - wxClearXVM(info); - // XFree(ppXModes[i]); //supposed to free? - } - XFree(ppXModes); - } - else //OOPS! - { - wxLogSysError(_("Failed to enumerate video modes")); - } - - return Modes; -} - -wxVideoMode wxXF86VidMode_GetCurrentMode(Display* display, int nScreen) -{ - XF86VidModeModeLine VM; - int nDotClock; - if ( !XF86VidModeGetModeLine(display, nScreen, &nDotClock, &VM) ) - return wxVideoMode(); - - wxClearXVM(VM); - return wxCVM2(VM, nDotClock, display, nScreen); -} - -bool wxXF86VidMode_ChangeMode(const wxVideoMode& mode, Display* display, int nScreen) -{ - XF86VidModeModeInfo** ppXModes; //Enumerated Modes (Don't forget XFree() :)) - int nNumModes; //Number of modes enumerated.... - - if(!XF86VidModeGetAllModeLines(display, nScreen, &nNumModes, &ppXModes)) - { - wxLogSysError(_("Failed to change video mode")); - return false; - } - - bool bRet = false; - if (mode == wxDefaultVideoMode) - { - bRet = XF86VidModeSwitchToMode(display, nScreen, ppXModes[0]) != 0; - - for (int i = 0; i < nNumModes; ++i) - { - wxClearXVM((*ppXModes[i])); - // XFree(ppXModes[i]); //supposed to free? - } - } - else - { - for (int i = 0; i < nNumModes; ++i) - { - if (!bRet && - ppXModes[i]->hdisplay == mode.GetWidth() && - ppXModes[i]->vdisplay == mode.GetHeight() && - wxCRR((*ppXModes[i])) == mode.GetRefresh()) - { - //switch! - bRet = XF86VidModeSwitchToMode(display, nScreen, ppXModes[i]) != 0; - } - wxClearXVM((*ppXModes[i])); - // XFree(ppXModes[i]); //supposed to free? - } - } - - XFree(ppXModes); - - return bRet; -} - -#ifndef __WXGTK20__ wxArrayVideoModes wxDisplayImplX11::GetModes(const wxVideoMode& modeMatch) const { Display* display = static_cast(wxGetDisplay()); @@ -321,33 +203,9 @@ bool wxDisplayImplX11::ChangeMode(const wxVideoMode& mode) int nScreen = DefaultScreen(display); return wxXF86VidMode_ChangeMode(mode, display, nScreen); } -#endif // !__WXGTK20__ #else // !HAVE_X11_EXTENSIONS_XF86VMODE_H -wxArrayVideoModes wxX11_GetModes(const wxDisplayImpl* impl, const wxVideoMode& modeMatch, Display* display) -{ - int count_return; - int* depths = XListDepths(display, 0, &count_return); - wxArrayVideoModes modes; - if ( depths ) - { - const wxRect rect = impl->GetGeometry(); - for ( int x = 0; x < count_return; ++x ) - { - wxVideoMode mode(rect.width, rect.height, depths[x]); - if ( mode.Matches(modeMatch) ) - { - modes.Add(mode); - } - } - - XFree(depths); - } - return modes; -} - -#ifndef __WXGTK20__ wxArrayVideoModes wxDisplayImplX11::GetModes(const wxVideoMode& modeMatch) const { Display* display = static_cast(wxGetDisplay()); @@ -365,16 +223,15 @@ bool wxDisplayImplX11::ChangeMode(const wxVideoMode& WXUNUSED(mode)) // Not implemented return false; } -#endif // !__WXGTK20__ + #endif // !HAVE_X11_EXTENSIONS_XF86VMODE_H -#endif // !defined(__WXGTK20__) || defined(GDK_WINDOWING_X11) + #endif // wxUSE_DISPLAY // ============================================================================ // wxDisplay::CreateFactory() // ============================================================================ -#ifndef __WXGTK20__ /* static */ wxDisplayFactory *wxDisplay::CreateFactory() { #if wxUSE_DISPLAY @@ -384,40 +241,6 @@ bool wxDisplayImplX11::ChangeMode(const wxVideoMode& WXUNUSED(mode)) return new wxDisplayFactorySingleX11; } -#endif - -#if !defined(__WXGTK20__) || defined(GDK_WINDOWING_X11) -void wxGetWorkAreaX11(Screen* screen, int& x, int& y, int& width, int& height) -{ - Display* display = DisplayOfScreen(screen); - Atom property = XInternAtom(display, "_NET_WORKAREA", true); - if (property) - { - Atom actual_type; - int actual_format; - unsigned long nitems; - unsigned long bytes_after; - unsigned char* data = NULL; - Status status = XGetWindowProperty( - display, RootWindowOfScreen(screen), property, - 0, 4, false, XA_CARDINAL, - &actual_type, &actual_format, &nitems, &bytes_after, &data); - if (status == Success && actual_type == XA_CARDINAL && - actual_format == 32 && nitems == 4) - { - const long* p = (long*)data; - x = p[0]; - y = p[1]; - width = p[2]; - height = p[3]; - } - if (data) - XFree(data); - } -} -#endif // !defined(__WXGTK20__) || defined(GDK_WINDOWING_X11) - -#ifndef __WXGTK20__ wxRect wxGetMainScreenWorkArea() { @@ -447,5 +270,3 @@ wxRect wxGetMainScreenWorkArea() return rect; } - -#endif // !__WXGTK20__ From 5e6e7aa7698b0b64dda557d51fe83f06bab07263 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 4 Oct 2018 23:01:27 +0200 Subject: [PATCH 6/7] Separate GTK+ 4 wxDisplay implementation from previous versions This makes the code more readable, even though it almost doubles its size -- but the corresponding reduction in the number of preprocessor checks is still worth it. --- src/gtk/display.cpp | 284 ++++++++++++++++++++++++++------------------ 1 file changed, 171 insertions(+), 113 deletions(-) diff --git a/src/gtk/display.cpp b/src/gtk/display.cpp index b9eedf910b..a9ddf52d83 100644 --- a/src/gtk/display.cpp +++ b/src/gtk/display.cpp @@ -21,71 +21,20 @@ #include #endif +// This file is not used at all when using Win32. #if !defined(GDK_WINDOWING_WIN32) GdkWindow* wxGetTopLevelGDK(); -//----------------------------------------------------------------------------- - -#ifndef __WXGTK4__ - -#ifndef __WXGTK3__ -static inline int wx_gdk_screen_get_primary_monitor(GdkScreen* screen) -{ - int monitor = 0; -#if GTK_CHECK_VERSION(2,20,0) - if (wx_is_at_least_gtk2(20)) - monitor = gdk_screen_get_primary_monitor(screen); -#endif - return monitor; -} -#define gdk_screen_get_primary_monitor wx_gdk_screen_get_primary_monitor -#endif // !__WXGTK3__ - -static inline void -wx_gdk_screen_get_monitor_workarea(GdkScreen* screen, int monitor, GdkRectangle* dest) -{ - wxGCC_WARNING_SUPPRESS(deprecated-declarations) -#if GTK_CHECK_VERSION(3,4,0) - if (gtk_check_version(3,4,0) == NULL) - gdk_screen_get_monitor_workarea(screen, monitor, dest); - else -#endif - { - gdk_screen_get_monitor_geometry(screen, monitor, dest); -#ifdef wxGTK_HAVE_X11_DISPLAY -#ifdef __WXGTK3__ - if (GDK_IS_X11_SCREEN(screen)) -#endif - { - GdkRectangle rect = { 0, 0, 0, 0 }; - wxGetWorkAreaX11(GDK_SCREEN_XSCREEN(screen), - rect.x, rect.y, rect.width, rect.height); - // in case _NET_WORKAREA result is too large - if (rect.width && rect.height) - gdk_rectangle_intersect(dest, &rect, dest); - } -#endif // wxGTK_HAVE_X11_DISPLAY - } - wxGCC_WARNING_RESTORE() -} -#define gdk_screen_get_monitor_workarea wx_gdk_screen_get_monitor_workarea - -#endif // !__WXGTK4__ +// There are 2 quite different implementations here: one for GTK+ 4 and the +// other one for the previous versions. #ifdef __WXGTK4__ + static inline GdkDisplay* GetDisplay() { return gdk_window_get_display(wxGetTopLevelGDK()); } -#else -static inline GdkScreen* GetScreen() -{ - return gdk_window_get_screen(wxGetTopLevelGDK()); -} -#endif - -//----------------------------------------------------------------------------- // This class is always defined as it's used for the main display even when // wxUSE_DISPLAY == 0. @@ -104,15 +53,9 @@ public: virtual bool ChangeMode(const wxVideoMode& mode) wxOVERRIDE; #endif // wxUSE_DISPLAY -#ifdef __WXGTK4__ GdkMonitor* const m_monitor; -#else - GdkScreen* const m_screen; -#endif }; -//----------------------------------------------------------------------------- - // This class is only defined when we're built with full display support. #if wxUSE_DISPLAY class wxDisplayFactoryGTK: public wxDisplayFactory @@ -130,20 +73,13 @@ wxDisplayImpl* wxDisplayFactoryGTK::CreateDisplay(unsigned n) unsigned wxDisplayFactoryGTK::GetCount() { -#ifdef __WXGTK4__ - return gdk_display_get_n_monitors(GetDisplay()); -#else - wxGCC_WARNING_SUPPRESS(deprecated-declarations) - return gdk_screen_get_n_monitors(GetScreen()); - wxGCC_WARNING_RESTORE() -#endif + return gdk_display_get_n_monitors(::GetDisplay()); } int wxDisplayFactoryGTK::GetFromPoint(const wxPoint& pt) { GdkRectangle rect; -#ifdef __WXGTK4__ - GdkDisplay* display = GetDisplay(); + GdkDisplay* display = ::GetDisplay(); GdkMonitor* monitor = gdk_display_get_monitor_at_point(display, pt.x, pt.y); gdk_monitor_get_geometry(monitor, &rect); if (wxRect(rect.x, rect.y, rect.width, rect.height).Contains(pt)) @@ -155,76 +91,195 @@ int wxDisplayFactoryGTK::GetFromPoint(const wxPoint& pt) } } return wxNOT_FOUND; -#else - GdkScreen* screen = GetScreen(); - wxGCC_WARNING_SUPPRESS(deprecated-declarations) - int monitor = gdk_screen_get_monitor_at_point(screen, pt.x, pt.y); - gdk_screen_get_monitor_geometry(screen, monitor, &rect); - wxGCC_WARNING_RESTORE() - if (!wxRect(rect.x, rect.y, rect.width, rect.height).Contains(pt)) - monitor = wxNOT_FOUND; - return monitor; -#endif } #endif // wxUSE_DISPLAY -//----------------------------------------------------------------------------- - wxDisplayImplGTK::wxDisplayImplGTK(unsigned i) : base_type(i) -#ifdef __WXGTK4__ , m_monitor(gdk_display_get_monitor(GetDisplay(), i)) -#else - , m_screen(GetScreen()) -#endif { } wxRect wxDisplayImplGTK::GetGeometry() const { GdkRectangle rect; -#ifdef __WXGTK4__ gdk_monitor_get_geometry(m_monitor, &rect); -#else - wxGCC_WARNING_SUPPRESS(deprecated-declarations) - gdk_screen_get_monitor_geometry(m_screen, m_index, &rect); - wxGCC_WARNING_RESTORE() -#endif return wxRect(rect.x, rect.y, rect.width, rect.height); } wxRect wxDisplayImplGTK::GetClientArea() const { GdkRectangle rect; -#ifdef __WXGTK4__ gdk_monitor_get_workarea(m_monitor, &rect); -#else - wxGCC_WARNING_SUPPRESS(deprecated-declarations) - gdk_screen_get_monitor_workarea(m_screen, m_index, &rect); - wxGCC_WARNING_RESTORE() -#endif return wxRect(rect.x, rect.y, rect.width, rect.height); } #if wxUSE_DISPLAY bool wxDisplayImplGTK::IsPrimary() const { -#ifdef __WXGTK4__ return gdk_monitor_is_primary(m_monitor) != 0; -#else - wxGCC_WARNING_SUPPRESS(deprecated-declarations) - return gdk_screen_get_primary_monitor(m_screen) == int(m_index); - wxGCC_WARNING_RESTORE() +} + +wxArrayVideoModes +wxDisplayImplGTK::GetModes(const wxVideoMode& WXUNUSED(mode)) const +{ + return wxArrayVideoModes(); +} + +wxVideoMode wxDisplayImplGTK::GetCurrentMode() const +{ + return wxVideoMode(); +} + +bool wxDisplayImplGTK::ChangeMode(const wxVideoMode& WXUNUSED(mode)) +{ + return false; +} +#endif // wxUSE_DISPLAY + +#else // !__WXGTK4__ + +#ifdef __WXGTK3__ + +static inline bool gdk_is_x11_screen(GdkScreen* screen) +{ + return GDK_IS_X11_SCREEN(screen); +} + +#else // !__WXGTK3__ + +static inline int wx_gdk_screen_get_primary_monitor(GdkScreen* screen) +{ + int monitor = 0; +#if GTK_CHECK_VERSION(2,20,0) + if (wx_is_at_least_gtk2(20)) + monitor = gdk_screen_get_primary_monitor(screen); #endif + return monitor; +} +#define gdk_screen_get_primary_monitor wx_gdk_screen_get_primary_monitor + +static inline bool gdk_is_x11_screen(GdkScreen* WXUNUSED(screen)) +{ + return true; +} + +#endif // __WXGTK3__/!__WXGTK3__ + +static inline void +wx_gdk_screen_get_monitor_workarea(GdkScreen* screen, int monitor, GdkRectangle* dest) +{ + wxGCC_WARNING_SUPPRESS(deprecated-declarations) +#if GTK_CHECK_VERSION(3,4,0) + if (gtk_check_version(3,4,0) == NULL) + gdk_screen_get_monitor_workarea(screen, monitor, dest); + else +#endif + { + gdk_screen_get_monitor_geometry(screen, monitor, dest); +#ifdef wxGTK_HAVE_X11_DISPLAY + if ( gdk_is_x11_screen(screen) ) + { + GdkRectangle rect = { 0, 0, 0, 0 }; + wxGetWorkAreaX11(GDK_SCREEN_XSCREEN(screen), + rect.x, rect.y, rect.width, rect.height); + // in case _NET_WORKAREA result is too large + if (rect.width && rect.height) + gdk_rectangle_intersect(dest, &rect, dest); + } +#endif // wxGTK_HAVE_X11_DISPLAY + } + wxGCC_WARNING_RESTORE() +} +#define gdk_screen_get_monitor_workarea wx_gdk_screen_get_monitor_workarea + +static inline GdkScreen* GetScreen() +{ + return gdk_window_get_screen(wxGetTopLevelGDK()); +} + +class wxDisplayImplGTK : public wxDisplayImpl +{ + typedef wxDisplayImpl base_type; +public: + wxDisplayImplGTK(unsigned i); + virtual wxRect GetGeometry() const wxOVERRIDE; + virtual wxRect GetClientArea() const wxOVERRIDE; + +#if wxUSE_DISPLAY + virtual bool IsPrimary() const wxOVERRIDE; + virtual wxArrayVideoModes GetModes(const wxVideoMode& mode) const wxOVERRIDE; + virtual wxVideoMode GetCurrentMode() const wxOVERRIDE; + virtual bool ChangeMode(const wxVideoMode& mode) wxOVERRIDE; +#endif // wxUSE_DISPLAY + + GdkScreen* const m_screen; +}; + +#if wxUSE_DISPLAY +class wxDisplayFactoryGTK: public wxDisplayFactory +{ +public: + virtual wxDisplayImpl* CreateDisplay(unsigned n) wxOVERRIDE; + virtual unsigned GetCount() wxOVERRIDE; + virtual int GetFromPoint(const wxPoint& pt) wxOVERRIDE; +}; + +wxGCC_WARNING_SUPPRESS(deprecated-declarations) + +wxDisplayImpl* wxDisplayFactoryGTK::CreateDisplay(unsigned n) +{ + return new wxDisplayImplGTK(n); +} + +unsigned wxDisplayFactoryGTK::GetCount() +{ + return gdk_screen_get_n_monitors(GetScreen()); +} + +int wxDisplayFactoryGTK::GetFromPoint(const wxPoint& pt) +{ + GdkRectangle rect; + GdkScreen* screen = GetScreen(); + int monitor = gdk_screen_get_monitor_at_point(screen, pt.x, pt.y); + gdk_screen_get_monitor_geometry(screen, monitor, &rect); + if (!wxRect(rect.x, rect.y, rect.width, rect.height).Contains(pt)) + monitor = wxNOT_FOUND; + return monitor; +} +#endif // wxUSE_DISPLAY + +wxDisplayImplGTK::wxDisplayImplGTK(unsigned i) + : base_type(i) + , m_screen(GetScreen()) +{ +} + +wxRect wxDisplayImplGTK::GetGeometry() const +{ + GdkRectangle rect; + gdk_screen_get_monitor_geometry(m_screen, m_index, &rect); + return wxRect(rect.x, rect.y, rect.width, rect.height); +} + +wxRect wxDisplayImplGTK::GetClientArea() const +{ + GdkRectangle rect; + gdk_screen_get_monitor_workarea(m_screen, m_index, &rect); + return wxRect(rect.x, rect.y, rect.width, rect.height); +} + +#if wxUSE_DISPLAY +bool wxDisplayImplGTK::IsPrimary() const +{ + return gdk_screen_get_primary_monitor(m_screen) == int(m_index); } wxArrayVideoModes wxDisplayImplGTK::GetModes(const wxVideoMode& mode) const { wxArrayVideoModes modes; #ifdef wxGTK_HAVE_X11_DISPLAY -#ifdef __WXGTK3__ - if (GDK_IS_X11_SCREEN(m_screen)) -#endif + if ( gdk_is_x11_screen(m_screen) ) { Display* display = GDK_DISPLAY_XDISPLAY(gdk_screen_get_display(m_screen)); #ifdef HAVE_X11_EXTENSIONS_XF86VMODE_H @@ -244,9 +299,7 @@ wxVideoMode wxDisplayImplGTK::GetCurrentMode() const { wxVideoMode mode; #if defined(wxGTK_HAVE_X11_DISPLAY) && defined(HAVE_X11_EXTENSIONS_XF86VMODE_H) -#ifdef __WXGTK3__ - if (GDK_IS_X11_SCREEN(m_screen)) -#endif + if ( gdk_is_x11_screen(m_screen) ) { Display* display = GDK_DISPLAY_XDISPLAY(gdk_screen_get_display(m_screen)); int nScreen = gdk_x11_screen_get_screen_number(m_screen); @@ -260,9 +313,7 @@ bool wxDisplayImplGTK::ChangeMode(const wxVideoMode& mode) { bool success = false; #if defined(wxGTK_HAVE_X11_DISPLAY) && defined(HAVE_X11_EXTENSIONS_XF86VMODE_H) -#ifdef __WXGTK3__ - if (GDK_IS_X11_SCREEN(m_screen)) -#endif + if ( gdk_is_x11_screen(m_screen) ) { Display* display = GDK_DISPLAY_XDISPLAY(gdk_screen_get_display(m_screen)); int nScreen = gdk_x11_screen_get_screen_number(m_screen); @@ -273,7 +324,14 @@ bool wxDisplayImplGTK::ChangeMode(const wxVideoMode& mode) #endif return success; } -//----------------------------------------------------------------------------- + +wxGCC_WARNING_RESTORE() + +#endif // wxUSE_DISPLAY + +#endif // __WXGTK4__/!__WXGTK4__ + +#if wxUSE_DISPLAY wxDisplayFactory* wxDisplay::CreateFactory() { From 86ba770cd022db187da6d98f37fbadc89ceca622 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Fri, 5 Oct 2018 18:52:30 +0200 Subject: [PATCH 7/7] Rename helper display function to use wx naming convention Don't pretend to be a GDK function, even if it's only a thin wrapper for a GDK macro. --- src/gtk/display.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/gtk/display.cpp b/src/gtk/display.cpp index a9ddf52d83..2576d0d6c2 100644 --- a/src/gtk/display.cpp +++ b/src/gtk/display.cpp @@ -141,7 +141,7 @@ bool wxDisplayImplGTK::ChangeMode(const wxVideoMode& WXUNUSED(mode)) #ifdef __WXGTK3__ -static inline bool gdk_is_x11_screen(GdkScreen* screen) +static inline bool wxIsX11GDKScreen(GdkScreen* screen) { return GDK_IS_X11_SCREEN(screen); } @@ -159,7 +159,7 @@ static inline int wx_gdk_screen_get_primary_monitor(GdkScreen* screen) } #define gdk_screen_get_primary_monitor wx_gdk_screen_get_primary_monitor -static inline bool gdk_is_x11_screen(GdkScreen* WXUNUSED(screen)) +static inline bool wxIsX11GDKScreen(GdkScreen* WXUNUSED(screen)) { return true; } @@ -178,7 +178,7 @@ wx_gdk_screen_get_monitor_workarea(GdkScreen* screen, int monitor, GdkRectangle* { gdk_screen_get_monitor_geometry(screen, monitor, dest); #ifdef wxGTK_HAVE_X11_DISPLAY - if ( gdk_is_x11_screen(screen) ) + if ( wxIsX11GDKScreen(screen) ) { GdkRectangle rect = { 0, 0, 0, 0 }; wxGetWorkAreaX11(GDK_SCREEN_XSCREEN(screen), @@ -279,7 +279,7 @@ wxArrayVideoModes wxDisplayImplGTK::GetModes(const wxVideoMode& mode) const { wxArrayVideoModes modes; #ifdef wxGTK_HAVE_X11_DISPLAY - if ( gdk_is_x11_screen(m_screen) ) + if ( wxIsX11GDKScreen(m_screen) ) { Display* display = GDK_DISPLAY_XDISPLAY(gdk_screen_get_display(m_screen)); #ifdef HAVE_X11_EXTENSIONS_XF86VMODE_H @@ -299,7 +299,7 @@ wxVideoMode wxDisplayImplGTK::GetCurrentMode() const { wxVideoMode mode; #if defined(wxGTK_HAVE_X11_DISPLAY) && defined(HAVE_X11_EXTENSIONS_XF86VMODE_H) - if ( gdk_is_x11_screen(m_screen) ) + if ( wxIsX11GDKScreen(m_screen) ) { Display* display = GDK_DISPLAY_XDISPLAY(gdk_screen_get_display(m_screen)); int nScreen = gdk_x11_screen_get_screen_number(m_screen); @@ -313,7 +313,7 @@ bool wxDisplayImplGTK::ChangeMode(const wxVideoMode& mode) { bool success = false; #if defined(wxGTK_HAVE_X11_DISPLAY) && defined(HAVE_X11_EXTENSIONS_XF86VMODE_H) - if ( gdk_is_x11_screen(m_screen) ) + if ( wxIsX11GDKScreen(m_screen) ) { Display* display = GDK_DISPLAY_XDISPLAY(gdk_screen_get_display(m_screen)); int nScreen = gdk_x11_screen_get_screen_number(m_screen);