git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50742
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
virtual wxSize GetPPI() const;
virtual void DestroyClippingRegion();
virtual wxSize GetPPI() const;
virtual void DestroyClippingRegion();
- WXWindow GetWindow() const { return m_window; }
+ WXWindow X11GetWindow() const { return m_window; }
virtual void ComputeScaleAndOrigin();
virtual void ComputeScaleAndOrigin();
}
else // use_bitmap_method
{
}
else // use_bitmap_method
{
+ wxDCImpl *impl = srcDC->GetImpl();
+ wxWindowDCImpl *x11_impl = wxDynamicCast(impl, wxWindowDCImpl);
+ if (!x11_impl)
+ {
+ SetLogicalFunction( old_logical_func );
+ return false;
+ }
+
if ((width != ww) || (height != hh))
{
/* Draw source window into a bitmap as we cannot scale
if ((width != ww) || (height != hh))
{
/* Draw source window into a bitmap as we cannot scale
// copy including child window contents
XSetSubwindowMode( (Display*) m_display, (GC) m_penGC, IncludeInferiors );
// copy including child window contents
XSetSubwindowMode( (Display*) m_display, (GC) m_penGC, IncludeInferiors );
- XCopyArea( (Display*) m_display, (Window) srcDC->GetWindow(), (Window) bitmap.GetPixmap(),
+ XCopyArea( (Display*) m_display, (Window) x11_impl->X11GetWindow(), (Window) bitmap.GetPixmap(),
(GC) m_penGC, xsrc, ysrc, width, height, 0, 0 );
XSetSubwindowMode( (Display*) m_display, (GC) m_penGC, ClipByChildren );
(GC) m_penGC, xsrc, ysrc, width, height, 0, 0 );
XSetSubwindowMode( (Display*) m_display, (GC) m_penGC, ClipByChildren );
else
{
// No scaling and not a memory dc with a mask either
else
{
// No scaling and not a memory dc with a mask either
// copy including child window contents
XSetSubwindowMode( (Display*) m_display, (GC) m_penGC, IncludeInferiors );
// copy including child window contents
XSetSubwindowMode( (Display*) m_display, (GC) m_penGC, IncludeInferiors );
- XCopyArea( (Display*) m_display, (Window) srcDC->GetWindow(), (Window) m_x11window,
+ XCopyArea( (Display*) m_display, (Window) x11_impl->X11GetWindow(), (Window) m_x11window,
(GC) m_penGC, xsrc, ysrc, width, height, xx, yy );
XSetSubwindowMode( (Display*) m_display, (GC) m_penGC, ClipByChildren );
}
(GC) m_penGC, xsrc, ysrc, width, height, xx, yy );
XSetSubwindowMode( (Display*) m_display, (GC) m_penGC, ClipByChildren );
}