summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
97bb82c)
Added wxTLW::DoGetSize() which uses cashed values.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14861
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
virtual void OnInternalIdle();
virtual void DoGetClientSize( int *width, int *height ) const;
virtual void OnInternalIdle();
virtual void DoGetClientSize( int *width, int *height ) const;
+ virtual void DoGetSize( int *width, int *height ) const;
virtual void DoSetClientSize(int width, int height);
virtual void DoSetSize(int x, int y,
int width, int height,
virtual void DoSetClientSize(int width, int height);
virtual void DoSetSize(int x, int y,
int width, int height,
m_mainWindow = (WXWindow) xwindow;
wxAddWindowToTable( xwindow, (wxWindow*) this );
m_mainWindow = (WXWindow) xwindow;
wxAddWindowToTable( xwindow, (wxWindow*) this );
- XMapWindow( xdisplay, xwindow );
+ // XMapWindow( xdisplay, xwindow );
xattributes.event_mask =
ExposureMask | KeyPressMask | KeyReleaseMask | ButtonPressMask | ButtonReleaseMask |
xattributes.event_mask =
ExposureMask | KeyPressMask | KeyReleaseMask | ButtonPressMask | ButtonReleaseMask |
m_clientWindow = (WXWindow) xwindow;
wxAddClientWindowToTable( xwindow, (wxWindow*) this );
m_clientWindow = (WXWindow) xwindow;
wxAddClientWindowToTable( xwindow, (wxWindow*) this );
XMapWindow( xdisplay, xwindow );
}
else
XMapWindow( xdisplay, xwindow );
}
else
m_clientWindow = (WXWindow) xwindow;
wxAddWindowToTable( xwindow, (wxWindow*) this );
m_clientWindow = (WXWindow) xwindow;
wxAddWindowToTable( xwindow, (wxWindow*) this );
- XMapWindow( xdisplay, xwindow );
+ m_isShown = FALSE;
+ // XMapWindow( xdisplay, xwindow );
+void wxTopLevelWindowX11::DoGetSize( int *width, int *height ) const
+{
+ // TODO add non-client size
+
+ if (width)
+ *width = m_width;
+ if (height)
+ *height = m_height;
+}
+
void wxTopLevelWindowX11::DoSetClientSize(int width, int height)
{
void wxTopLevelWindowX11::DoSetClientSize(int width, int height)
{
- // wxLogDebug("DoSetClientSize: %s (%ld) %dx%d", GetClassInfo()->GetClassName(), GetId(), width, height);
-
+ int old_width = m_width;
+ int old_height = m_height;
+
m_width = width;
m_height = height;
m_width = width;
m_height = height;
+ if (m_width == old_width && m_height == old_height)
+ return;
+
+ // wxLogDebug("DoSetClientSize: %s (%ld) %dx%d", GetClassInfo()->GetClassName(), GetId(), width, height);
+
#if !wxUSE_NANOX
XSizeHints size_hints;
size_hints.flags = PSize;
#if !wxUSE_NANOX
XSizeHints size_hints;
size_hints.flags = PSize;
void wxTopLevelWindowX11::DoSetSize(int x, int y, int width, int height, int sizeFlags)
{
void wxTopLevelWindowX11::DoSetSize(int x, int y, int width, int height, int sizeFlags)
{
- // wxLogDebug("DoSetSize: %s (%ld) %d, %d %dx%d", GetClassInfo()->GetClassName(), GetId(), x, y, width, height);
+ int old_x = m_x;
+ int old_y = m_y;
+ int old_width = m_width;
+ int old_height = m_height;
if (x != -1 || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE))
m_x = x;
if (x != -1 || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE))
m_x = x;
if (height != -1 || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE))
m_height = height;
if (height != -1 || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE))
m_height = height;
+
+ if (m_x == old_x && m_y == old_y && m_width == old_width && m_height == old_height)
+ return;
+ // wxLogDebug("DoSetSize: %s (%ld) %d, %d %dx%d", GetClassInfo()->GetClassName(), GetId(), x, y, width, height);
+
#if !wxUSE_NANOX
XSizeHints size_hints;
size_hints.flags = 0;
#if !wxUSE_NANOX
XSizeHints size_hints;
size_hints.flags = 0;