// for whatever reasons, wxGTK wants to have a small offset - it
// probably looks better with it?
#ifdef __WXGTK__
- static const int ofs = 1;
+ const int ofs = 1;
+ clientW -= 2 * ofs;
+ clientH -= 2 * ofs;
+ if (clientW < 0)
+ clientW = 0;
+ if (clientH < 0)
+ clientH = 0;
#else
- static const int ofs = 0;
+ const int ofs = 0;
#endif
- child->SetSize(ofs, ofs, clientW - 2*ofs, clientH - 2*ofs);
+ child->SetSize(ofs, ofs, clientW, clientH);
}
}
}
{
w1 = size1;
w2 = w - 2*border - sash - w1;
- h1 =
+ if (w2 < 0)
+ w2 = 0;
h2 = h - 2*border;
+ if (h2 < 0)
+ h2 = 0;
+ h1 = h2;
x2 = size2;
y2 = border;
}
else // horz splitter
{
- w1 =
w2 = w - 2*border;
+ if (w2 < 0)
+ w2 = 0;
+ w1 = w2;
h1 = size1;
h2 = h - 2*border - sash - h1;
+ if (h2 < 0)
+ h2 = 0;
x2 = border;
y2 = size2;
}
}
}
#endif // wxUSE_TOOLBAR
+ if (*height < 0)
+ *height = 0;
}
}
if (height)
{
- *height = m_height;
-
- // mini edge
- *height -= m_miniEdge*2 + m_miniTitle;
+ *height = m_height - 2 * m_miniEdge + m_miniTitle;
+ if (*height < 0)
+ *height = 0;
}
if (width)
{
- *width = m_width;
-
- *width -= m_miniEdge*2;
+ *width = m_width - 2 * m_miniEdge;
+ if (*width < 0)
+ *width = 0;
}
-
}
void wxTopLevelWindowGTK::DoSetClientSize( int width, int height )
y = allocation->y + border;
w = allocation->width - border*2;
h = allocation->height - border*2;
+ if (w < 0)
+ w = 0;
+ if (h < 0)
+ h = 0;
if (GTK_WIDGET_REALIZED (widget))
{
w -= dw;
h -= dh;
+ if (w < 0)
+ w = 0;
+ if (h < 0)
+ h = 0;
}
if (width) *width = w;