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:
@@ -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() ;
|
||||
|
||||
|
Reference in New Issue
Block a user