X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/676c8c1d39a6b598fe32443c3517a66464ff8c5a..bcf324bebe65cd7ee49c139533ceea52dceb4b91:/src/unix/displayx11.cpp?ds=sidebyside diff --git a/src/unix/displayx11.cpp b/src/unix/displayx11.cpp index edfd86baca..23d28857a6 100644 --- a/src/unix/displayx11.cpp +++ b/src/unix/displayx11.cpp @@ -71,7 +71,7 @@ public: operator const XineramaScreenInfo *() const { return m_screens; } - unsigned GetCount() const { return wx_static_cast(unsigned, m_num); } + unsigned GetCount() const { return static_cast(m_num); } private: XineramaScreenInfo *m_screens; @@ -252,9 +252,9 @@ bool wxDisplayImplX11::ChangeMode(const wxVideoMode& mode) for (int i = 0; i < nNumModes; ++i) { if (!bRet && - ppXModes[i]->hdisplay == mode.w && - ppXModes[i]->vdisplay == mode.h && - wxCRR((*ppXModes[i])) == mode.refresh) + ppXModes[i]->hdisplay == mode.GetWidth() && + ppXModes[i]->vdisplay == mode.GetHeight() && + wxCRR((*ppXModes[i])) == mode.GetRefresh()) { //switch! bRet = XF86VidModeSwitchToMode((Display*)wxGetDisplay(), DefaultScreen((Display*)wxGetDisplay()), @@ -326,6 +326,26 @@ bool wxDisplayImplX11::ChangeMode(const wxVideoMode& WXUNUSED(mode)) #include "wx/utils.h" +#if wxUSE_LIBHILDON + +void wxClientDisplayRect(int *x, int *y, int *width, int *height) +{ + // TODO: don't hardcode display size + if ( x ) + *x = 0; + if ( y ) + *y = 0; + if ( width ) + *width = 672; + if ( height ) + *height = 396; +} + +#else // !wxUSE_LIBHILDON + +#include "wx/log.h" + +#include #include // TODO: make this a full-fledged class and move to a public header @@ -375,8 +395,11 @@ void wxClientDisplayRect(int *x, int *y, int *width, int *height) { wxX11Ptr x11ptr(workareas); // ensure it will be freed + // check that we retrieved the property of the expected type and + // that we did get back 4 longs (32 is the format for long), as + // requested if ( actualType != XA_CARDINAL || - format != 32 || // FIXME: what is this 32? + format != 32 || numItems != 4 ) { wxLogDebug(_T("XGetWindowProperty(\"_NET_WORKAREA\") failed")); @@ -405,3 +428,4 @@ void wxClientDisplayRect(int *x, int *y, int *width, int *height) wxDisplaySize(width, height); } +#endif // wxUSE_LIBHILDON/!wxUSE_LIBHILDON