From 1f23a1c0f0975b642c226bdb1f8eebc08d48c745 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sat, 16 Jun 2001 01:17:55 +0000 Subject: [PATCH] applied 2nd part of flicker reducing patch git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10595 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- samples/sashtest/sashtest.cpp | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/samples/sashtest/sashtest.cpp b/samples/sashtest/sashtest.cpp index 9ae3762560..6bcf61a6ce 100644 --- a/samples/sashtest/sashtest.cpp +++ b/samples/sashtest/sashtest.cpp @@ -43,7 +43,9 @@ bool MyApp::OnInit(void) // Create the main frame window frame = new MyFrame(NULL, -1, "Sash Demo", wxPoint(0, 0), wxSize(500, 400), - wxDEFAULT_FRAME_STYLE | wxHSCROLL | wxVSCROLL); + wxDEFAULT_FRAME_STYLE | + wxNO_FULL_REPAINT_ON_RESIZE | + wxHSCROLL | wxVSCROLL); // Give it an icon (this is ignored in MDI mode: uses resources) #ifdef __WXMSW__ @@ -98,7 +100,11 @@ MyFrame::MyFrame(wxWindow *parent, const wxWindowID id, const wxString& title, c // Create some dummy layout windows // A window like a toolbar - wxSashLayoutWindow* win = new wxSashLayoutWindow(this, ID_WINDOW_TOP, wxDefaultPosition, wxSize(200, 30), wxNO_BORDER|wxSW_3D); + wxSashLayoutWindow* win = + new wxSashLayoutWindow(this, ID_WINDOW_TOP, + wxDefaultPosition, wxSize(200, 30), + wxNO_BORDER | wxSW_3D | wxCLIP_CHILDREN); + win->SetDefaultSize(wxSize(1000, 30)); win->SetOrientation(wxLAYOUT_HORIZONTAL); win->SetAlignment(wxLAYOUT_TOP); @@ -108,7 +114,9 @@ MyFrame::MyFrame(wxWindow *parent, const wxWindowID id, const wxString& title, c m_topWindow = win; // A window like a statusbar - win = new wxSashLayoutWindow(this, ID_WINDOW_BOTTOM, wxDefaultPosition, wxSize(200, 30), wxNO_BORDER|wxSW_3D); + win = new wxSashLayoutWindow(this, ID_WINDOW_BOTTOM, + wxDefaultPosition, wxSize(200, 30), + wxNO_BORDER | wxSW_3D | wxCLIP_CHILDREN); win->SetDefaultSize(wxSize(1000, 30)); win->SetOrientation(wxLAYOUT_HORIZONTAL); win->SetAlignment(wxLAYOUT_BOTTOM); @@ -118,7 +126,9 @@ MyFrame::MyFrame(wxWindow *parent, const wxWindowID id, const wxString& title, c m_bottomWindow = win; // A window to the left of the client window - win = new wxSashLayoutWindow(this, ID_WINDOW_LEFT1, wxDefaultPosition, wxSize(200, 30), wxNO_BORDER|wxSW_3D); + win = new wxSashLayoutWindow(this, ID_WINDOW_LEFT1, + wxDefaultPosition, wxSize(200, 30), + wxNO_BORDER | wxSW_3D | wxCLIP_CHILDREN); win->SetDefaultSize(wxSize(120, 1000)); win->SetOrientation(wxLAYOUT_VERTICAL); win->SetAlignment(wxLAYOUT_LEFT); @@ -134,7 +144,9 @@ MyFrame::MyFrame(wxWindow *parent, const wxWindowID id, const wxString& title, c m_leftWindow1 = win; // Another window to the left of the client window - win = new wxSashLayoutWindow(this, ID_WINDOW_LEFT2, wxDefaultPosition, wxSize(200, 30), wxNO_BORDER|wxSW_3D); + win = new wxSashLayoutWindow(this, ID_WINDOW_LEFT2, + wxDefaultPosition, wxSize(200, 30), + wxNO_BORDER | wxSW_3 | wxCLIP_CHILDREND); win->SetDefaultSize(wxSize(120, 1000)); win->SetOrientation(wxLAYOUT_VERTICAL); win->SetAlignment(wxLAYOUT_LEFT); @@ -206,8 +218,10 @@ void MyFrame::OnSashDrag(wxSashEvent& event) void MyFrame::OnNewWindow(wxCommandEvent& WXUNUSED(event)) { // Make another frame, containing a canvas - MyChild *subframe = new MyChild(frame, "Canvas Frame", wxPoint(10, 10), wxSize(300, 300), - wxDEFAULT_FRAME_STYLE); + MyChild *subframe = new MyChild(frame, "Canvas Frame", + wxPoint(10, 10), wxSize(300, 300), + wxDEFAULT_FRAME_STYLE | + wxNO_FULL_REPAINT_ON_RESIZE); char titleBuf[100]; sprintf(titleBuf, "Canvas Frame %d", winNumber); @@ -263,8 +277,9 @@ BEGIN_EVENT_TABLE(MyCanvas, wxScrolledWindow) END_EVENT_TABLE() // Define a constructor for my canvas -MyCanvas::MyCanvas(wxWindow *parent, const wxPoint& pos, const wxSize& size): - wxScrolledWindow(parent, -1, pos, size, wxSUNKEN_BORDER) +MyCanvas::MyCanvas(wxWindow *parent, const wxPoint& pos, const wxSize& size) + : wxScrolledWindow(parent, -1, pos, size, + wxSUNKEN_BORDER | wxNO_FULL_REPAINT_ON_RESIZE) { SetBackgroundColour(* wxWHITE); } -- 2.45.2