mac updates and msw bitmapdrawing on printer

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5371 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor
2000-01-13 11:07:58 +00:00
parent d47ebd1e05
commit 8208e181cb
42 changed files with 863 additions and 248 deletions

View File

@@ -642,11 +642,24 @@ bool wxWindow::Show(bool show)
UMAHideWindow( m_macWindowData->m_macWindow ) ;
}
}
MacSuperShown( show ) ;
Refresh() ;
return TRUE;
}
void wxWindow::MacSuperShown( bool show )
{
wxNode *node = GetChildren().First();
while ( node )
{
wxWindow *child = (wxWindow *)node->Data();
if ( child->m_isShown )
child->MacSuperShown( show ) ;
node = node->Next();
}
}
int wxWindow::GetCharHeight() const
{
wxClientDC dc ( (wxWindow*)this ) ;
@@ -914,6 +927,43 @@ void wxWindow::SetScrollPos(int orient, int pos, bool refresh)
}
}
void wxWindow::MacPaint( wxPaintEvent &event )
{
wxPaintDC dc(this);
PrepareDC(dc);
if (HasFlag(wxRAISED_BORDER) || HasFlag( wxSUNKEN_BORDER) )
{
bool sunken = HasFlag( wxSUNKEN_BORDER ) ;
wxPen m_penButton3DShadow( wxSystemSettings::GetSystemColour( wxSYS_COLOUR_3DSHADOW ), 1, wxSOLID ) ;
wxPen m_penButton3DFace( wxSystemSettings::GetSystemColour( wxSYS_COLOUR_3DFACE ), 1, wxSOLID ) ;
wxPen wxPen1 = sunken ? *wxWHITE_PEN : *wxBLACK_PEN;
wxPen wxPen2 = sunken ? m_penButton3DShadow : m_penButton3DShadow;
wxPen wxPen3 = sunken ? m_penButton3DFace : m_penButton3DShadow;
wxPen wxPen4 = sunken ? *wxBLACK_PEN : *wxWHITE_PEN;
dc.SetPen(wxPen1);
dc.DrawRectangle(0, 0, m_width, m_height); // outer - right and button
dc.SetPen(wxPen2);
dc.DrawRectangle(1, 1, m_width-1, m_height-1); // outer - left and top
dc.SetPen(wxPen3);
dc.DrawRectangle(0, 0, m_width-2, m_height-2); // inner - right and button
dc.SetPen(wxPen4);
dc.DrawLine(0, 0, m_width-3, 0); // inner - left and top
dc.DrawLine(0, 0, 0, m_height-3);
}
else if (HasFlag(wxSIMPLE_BORDER))
{
dc.SetPen(*wxBLACK_PEN);
dc.DrawRectangle(0, 0, m_width, m_height);
}
}
// New function that will replace some of the above.
void wxWindow::SetScrollbar(int orient, int pos, int thumbVisible,
int range, bool refresh)
@@ -1433,7 +1483,9 @@ void wxWindow::MacRedraw( RgnHandle updatergn , long time)
event.m_timeStamp = time ;
event.SetEventObject(this);
wxPaintEvent event2( event ) ;
GetEventHandler()->ProcessEvent(event);
MacPaint( event2 ) ;
RgnHandle childupdate = NewRgn() ;