the wxNO_FULL_REPAINT_ON_RESIZE flag.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14779
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
if ( !(style & (wxLB_MULTIPLE | wxLB_EXTENDED)) )
style |= wxLB_SINGLE;
if ( !(style & (wxLB_MULTIPLE | wxLB_EXTENDED)) )
style |= wxLB_SINGLE;
- if ( !wxControl::Create(parent, id, pos, size, style, wxDefaultValidator, name) )
+ if ( !wxControl::Create(parent, id, pos, size, style | wxVSCROLL , wxDefaultValidator, name) )
return FALSE;
SetWindow(this);
return FALSE;
SetWindow(this);
// Only erase background, paint in idle time.
win->SendEraseEvents();
// Only erase background, paint in idle time.
win->SendEraseEvents();
if (HasFlag( wxNO_FULL_REPAINT_ON_RESIZE ))
{
xattributes_mask |= CWBitGravity;
if (HasFlag( wxNO_FULL_REPAINT_ON_RESIZE ))
{
xattributes_mask |= CWBitGravity;
- xattributes.bit_gravity = StaticGravity;
+ xattributes.bit_gravity = NorthWestGravity;
}
xattributes_mask |= CWEventMask;
}
xattributes_mask |= CWEventMask;
- size_hints.flags = PSize | PPosition;
+ size_hints.flags = PSize | PPosition | PWinGravity;
size_hints.x = pos2.x;
size_hints.y = pos2.y;
size_hints.width = size2.x;
size_hints.height = size2.y;
size_hints.x = pos2.x;
size_hints.y = pos2.y;
size_hints.width = size2.x;
size_hints.height = size2.y;
+ size_hints.win_gravity = NorthWestGravity;
XSetWMNormalHints( xdisplay, xwindow, &size_hints);
XWMHints wm_hints;
XSetWMNormalHints( xdisplay, xwindow, &size_hints);
XWMHints wm_hints;
m_mainWindow = (WXWindow) 0;
m_clientWindow = (WXWindow) 0;
m_insertIntoMain = FALSE;
m_mainWindow = (WXWindow) 0;
m_clientWindow = (WXWindow) 0;
m_insertIntoMain = FALSE;
+ m_updateNcArea = FALSE;
m_winCaptured = FALSE;
m_needsInputFocus = FALSE;
m_winCaptured = FALSE;
m_needsInputFocus = FALSE;
xattributes.bit_gravity = StaticGravity;
}
xattributes.bit_gravity = StaticGravity;
}
- xwindow = XCreateWindow( xdisplay, xwindow, 0, 0, size2.x, size2.y,
+ if (HasFlag( wxSUNKEN_BORDER) || HasFlag( wxRAISED_BORDER))
+ {
+ pos2.x = 2;
+ pos2.y = 2;
+ size2.x -= 4;
+ size2.y -= 4;
+ } else
+ if (HasFlag( wxSIMPLE_BORDER ))
+ {
+ pos2.x = 1;
+ pos2.y = 1;
+ size2.x -= 2;
+ size2.y -= 2;
+ } else
+ {
+ pos2.x = 0;
+ pos2.y = 0;
+ }
+
+ xwindow = XCreateWindow( xdisplay, xwindow, pos2.x, pos2.y, size2.x, size2.y,
0, DefaultDepth(xdisplay,xscreen), InputOutput, xvisual, xattributes_mask, &xattributes );
XSetWindowBackgroundPixmap( xdisplay, xwindow, None );
0, DefaultDepth(xdisplay,xscreen), InputOutput, xvisual, xattributes_mask, &xattributes );
XSetWindowBackgroundPixmap( xdisplay, xwindow, None );
if (HasFlag( wxNO_FULL_REPAINT_ON_RESIZE ))
{
xattributes_mask |= CWBitGravity;
if (HasFlag( wxNO_FULL_REPAINT_ON_RESIZE ))
{
xattributes_mask |= CWBitGravity;
- xattributes.bit_gravity = StaticGravity;
+ xattributes.bit_gravity = NorthWestGravity;
}
Window xwindow = XCreateWindow( xdisplay, xparent, pos2.x, pos2.y, size2.x, size2.y,
}
Window xwindow = XCreateWindow( xdisplay, xparent, pos2.x, pos2.y, size2.x, size2.y,
+ // wxLogDebug("wxWindowX11::UpdateNC: %s", GetClassInfo()->GetClassName());
// Send nc paint events.
SendNcPaintEvents();
}
// Send nc paint events.
SendNcPaintEvents();
}
wxNcPaintEvent nc_paint_event( GetId() );
nc_paint_event.SetEventObject( this );
GetEventHandler()->ProcessEvent( nc_paint_event );
wxNcPaintEvent nc_paint_event( GetId() );
nc_paint_event.SetEventObject( this );
GetEventHandler()->ProcessEvent( nc_paint_event );
+
+ m_updateNcArea = FALSE;
}
// ----------------------------------------------------------------------------
}
// ----------------------------------------------------------------------------