fix bug in drawing of canvas scrollbars in the case that the canvas has not yet been moved

svn: r5745
This commit is contained in:
Matthew Flatt 2007-03-07 05:16:51 +00:00
parent 109785e98a
commit 05d14b3fa0
3 changed files with 18 additions and 0 deletions

View File

@ -215,6 +215,14 @@ wxMediaCanvas::wxMediaCanvas(wxWindow *parent,
1, 1, 1, 1,
#endif #endif
1, 1, 0, 0, FALSE); 1, 1, 0, 0, FALSE);
#ifdef wx_mac
/* Fixes update, somehow. There's a similar call in
the constructor for wxCanvas, but somehow we need
another one after SetScrollbars: */
OnClientAreaDSize(1, 1, 1, 1);
#endif
if (fakeXScroll) { if (fakeXScroll) {
SimpleScroll *ss; SimpleScroll *ss;
ss = new WXGC_PTRS SimpleScroll(this, wxHORIZONTAL, 0, 1, 0) ; ss = new WXGC_PTRS SimpleScroll(this, wxHORIZONTAL, 0, 1, 0) ;

View File

@ -167,6 +167,13 @@ void wxCanvas::InitDefaults(wxGLConfig *gl_cfg)
if (cStyle & wxINVISIBLE) if (cStyle & wxINVISIBLE)
Show(FALSE); Show(FALSE);
InitInternalGray(); InitInternalGray();
if (cStyle & wxVSCROLL || cStyle & wxHSCROLL) {
/* Somehow fixes initial update. There's another
call like this one in the constructor for
wxMediaCanvas. */
OnClientAreaDSize(1, 1, 1, 1);
}
} }
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

View File

@ -769,6 +769,7 @@ void wxWindow::SetSize(int x, int y, int width, int height, int flags) // mac pl
int dH = cWindowHeight - oldWindowHeight; int dH = cWindowHeight - oldWindowHeight;
int dX = cWindowX - oldWindowX; int dX = cWindowX - oldWindowX;
int dY = cWindowY - oldWindowY; int dY = cWindowY - oldWindowY;
OnWindowDSize(dW, dH, dX, dY); OnWindowDSize(dW, dH, dX, dY);
} }
} }
@ -1159,6 +1160,8 @@ void wxWindow::GetClipRect(wxArea* area, Rect* clipRect)
// get clipRect in area c.s. // get clipRect in area c.s.
::SetRect(clipRect, 0, 0, area->Width(), area->Height()); // area c.s. ::SetRect(clipRect, 0, 0, area->Width(), area->Height()); // area c.s.
// Clipping to the parent area should be unnecessary.
// Try disabling this sometime... [2007-MAR-07]
if (ParentArea()) { if (ParentArea()) {
wxWindow* windowParent; wxWindow* windowParent;
Rect parentClipRect; Rect parentClipRect;