- Display *disp = (Display*)wxGetDisplay();
-
- if ( XineramaIsActive(disp) )
- {
- XineramaScreenInfo *screenarr;
- int numscreens;
- screenarr = XineramaQueryScreens(disp, &numscreens);
- wxASSERT(index < numscreens);
- m_priv->m_rect = wxRect(screenarr[index].x_org, screenarr[index].y_org,
- screenarr[index].width, screenarr[index].height);
- m_priv->m_depth = DefaultDepth(disp, DefaultScreen(disp));
- XFree(screenarr);
- }
- else
- {
- wxSize size = wxGetDisplaySize();
- m_priv->m_rect = wxRect(0, 0, size.GetWidth(), size.GetHeight());
- m_priv->m_depth = wxDisplayDepth();
- }
-}
+public:
+ wxDisplayImplX11(size_t n, const XineramaScreenInfo& info)
+ : wxDisplayImpl(n),
+ m_rect(info.x_org, info.y_org, info.width, info.height)
+ {
+ }
+
+ virtual wxRect GetGeometry() const { return m_rect; }
+ virtual wxString GetName() const { return wxString(); }
+
+ virtual wxArrayVideoModes GetModes(const wxVideoMode& mode) const;
+ virtual wxVideoMode GetCurrentMode() const;
+ virtual bool ChangeMode(const wxVideoMode& mode);
+
+private:
+ wxRect m_rect;
+ int m_depth;