rendering adjustments for OSX
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25373 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
5d8fbe213c
commit
11d1adbfda
@ -139,23 +139,59 @@ wxRendererMac::DrawHeaderButton(wxWindow *win,
|
|||||||
w = rect.width,
|
w = rect.width,
|
||||||
h = rect.height;
|
h = rect.height;
|
||||||
|
|
||||||
|
int major,minor;
|
||||||
|
wxGetOsVersion( &major, &minor );
|
||||||
|
|
||||||
dc.SetBrush( *wxTRANSPARENT_BRUSH );
|
dc.SetBrush( *wxTRANSPARENT_BRUSH );
|
||||||
|
|
||||||
dc.SetPen( wxPen( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNSHADOW ) , 1 , wxSOLID ) );
|
if (major >= 10)
|
||||||
dc.DrawLine( x+w-CORNER+1, y, x+w, y+h ); // right (outer)
|
{
|
||||||
dc.DrawRectangle( x, y+h, w+1, 1 ); // bottom (outer)
|
dc.SetPen( wxPen( wxColour( 0xC5 , 0xC5 , 0xC5 ) , 1 , wxSOLID ) );
|
||||||
|
dc.DrawRectangle( x, y+CORNER, 1, h-CORNER ); // left
|
||||||
wxPen pen( wxColour( 0x88 , 0x88 , 0x88 ), 1, wxSOLID );
|
// The right border is overdrawn by the left border of the right neighbouring
|
||||||
|
// header (to maintain a proper single pixel border). Except for the
|
||||||
dc.SetPen( pen );
|
// rightmost header of the listctrl.
|
||||||
dc.DrawLine( x+w-CORNER, y, x+w-1, y+h ); // right (inner)
|
dc.DrawRectangle( x+w+(CORNER*2), y+CORNER, 1, h-CORNER ); // right
|
||||||
dc.DrawRectangle( x+1, y+h-1, w-2, 1 ); // bottom (inner)
|
dc.SetPen( wxPen( wxColour( 0xB1 , 0xB1 , 0xB1 ) , 1 , wxSOLID ) );
|
||||||
|
dc.DrawRectangle( x, y+h, w+(CORNER*3), 1 ); // bottom
|
||||||
dc.SetPen( *wxWHITE_PEN );
|
dc.DrawRectangle( x, y, w+(CORNER*3), 1 ); // top
|
||||||
dc.DrawRectangle( x, y, w-CORNER+1, 1 ); // top (outer)
|
|
||||||
dc.DrawRectangle( x, y, 1, h ); // left (outer)
|
// Do a fill of the interior for background:
|
||||||
dc.DrawLine( x, y+h-1, x+1, y+h-1 );
|
dc.SetPen( wxPen( wxColour( 0xF6 , 0xF6 , 0xF6 ) , 1 , wxSOLID ) );
|
||||||
dc.DrawLine( x+w-1, y, x+w-1, y+1 );
|
dc.DrawRectangle( x+CORNER, y+CORNER, w+CORNER, h-CORNER );
|
||||||
|
|
||||||
|
// Do the gradient fill:
|
||||||
|
static int grayValues[] =
|
||||||
|
{
|
||||||
|
0xF6, 0xF2, 0xEF, 0xED, 0xED, 0xEB, 0xEA, 0xEA, 0xE8,
|
||||||
|
0xE8, 0xE2, 0xE5, 0xE8, 0xEB, 0xEF, 0xF2, 0xFD
|
||||||
|
};
|
||||||
|
int i;
|
||||||
|
for (i=0; i < h && i < (int)WXSIZEOF(grayValues); i++)
|
||||||
|
{
|
||||||
|
dc.SetPen( wxPen( wxColour( grayValues[i] , grayValues[i] , grayValues[i] ),
|
||||||
|
1 , wxSOLID ) );
|
||||||
|
dc.DrawRectangle( x+CORNER, y+CORNER+i, w+CORNER, 1 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dc.SetPen( wxPen( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNSHADOW ) , 1 , wxSOLID ) );
|
||||||
|
dc.DrawLine( x+w-CORNER+1, y, x+w, y+h ); // right (outer)
|
||||||
|
dc.DrawRectangle( x, y+h, w+1, 1 ); // bottom (outer)
|
||||||
|
|
||||||
|
wxPen pen( wxColour( 0x88 , 0x88 , 0x88 ), 1, wxSOLID );
|
||||||
|
|
||||||
|
dc.SetPen( pen );
|
||||||
|
dc.DrawLine( x+w-CORNER, y, x+w-1, y+h ); // right (inner)
|
||||||
|
dc.DrawRectangle( x+1, y+h-1, w-2, 1 ); // bottom (inner)
|
||||||
|
|
||||||
|
dc.SetPen( *wxWHITE_PEN );
|
||||||
|
dc.DrawRectangle( x, y, w-CORNER+1, 1 ); // top (outer)
|
||||||
|
dc.DrawRectangle( x, y, 1, h ); // left (outer)
|
||||||
|
dc.DrawLine( x, y+h-1, x+1, y+h-1 );
|
||||||
|
dc.DrawLine( x+w-1, y, x+w-1, y+1 );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -57,7 +57,10 @@ wxColour wxSystemSettingsNative::GetColour(wxSystemColour index)
|
|||||||
break ;
|
break ;
|
||||||
}
|
}
|
||||||
case wxSYS_COLOUR_BTNSHADOW:
|
case wxSYS_COLOUR_BTNSHADOW:
|
||||||
return wxColor( 0x44 , 0x44 , 0x44 ) ;
|
if (major >= 10)
|
||||||
|
return wxColor( 0xBE , 0xBE , 0xBE ) ;
|
||||||
|
else
|
||||||
|
return wxColor( 0x44 , 0x44 , 0x44 ) ;
|
||||||
break ;
|
break ;
|
||||||
|
|
||||||
case wxSYS_COLOUR_BTNTEXT:
|
case wxSYS_COLOUR_BTNTEXT:
|
||||||
|
@ -102,35 +102,50 @@ void wxStatusBarMac::SetStatusText(const wxString& text, int number)
|
|||||||
|
|
||||||
void wxStatusBarMac::OnPaint(wxPaintEvent& WXUNUSED(event) )
|
void wxStatusBarMac::OnPaint(wxPaintEvent& WXUNUSED(event) )
|
||||||
{
|
{
|
||||||
wxPaintDC dc(this);
|
wxPaintDC dc(this);
|
||||||
dc.Clear() ;
|
dc.Clear() ;
|
||||||
|
|
||||||
if ( IsWindowHilited( MAC_WXHWND( MacGetRootWindow() ) ) )
|
int major,minor;
|
||||||
{
|
wxGetOsVersion( &major, &minor );
|
||||||
wxPen black( wxBLACK , 1 , wxSOLID ) ;
|
|
||||||
wxPen white( wxWHITE , 1 , wxSOLID ) ;
|
if ( IsWindowHilited( MAC_WXHWND( MacGetRootWindow() ) ) )
|
||||||
|
{
|
||||||
dc.SetPen(black);
|
wxPen white( wxWHITE , 1 , wxSOLID ) ;
|
||||||
dc.DrawLine(0, 0 ,
|
if (major >= 10)
|
||||||
m_width , 0);
|
{
|
||||||
dc.SetPen(white);
|
//Finder statusbar border color: (Project builder similar is 9B9B9B)
|
||||||
dc.DrawLine(0, 1 ,
|
dc.SetPen(wxPen(wxColour(0xB1,0xB1,0xB1),1,wxSOLID));
|
||||||
m_width , 1);
|
}
|
||||||
}
|
else
|
||||||
else
|
{
|
||||||
{
|
wxPen black( wxBLACK , 1 , wxSOLID ) ;
|
||||||
dc.SetPen(wxPen(wxColour(0x80,0x80,0x80),1,wxSOLID));
|
dc.SetPen(black);
|
||||||
dc.DrawLine(0, 0 ,
|
}
|
||||||
m_width , 0);
|
dc.DrawLine(0, 0 ,
|
||||||
}
|
m_width , 0);
|
||||||
|
dc.SetPen(white);
|
||||||
int i;
|
dc.DrawLine(0, 1 ,
|
||||||
if ( GetFont().Ok() )
|
m_width , 1);
|
||||||
dc.SetFont(GetFont());
|
}
|
||||||
dc.SetBackgroundMode(wxTRANSPARENT);
|
else
|
||||||
|
{
|
||||||
for ( i = 0; i < m_nFields; i ++ )
|
if (major >= 10)
|
||||||
DrawField(dc, i);
|
//Finder statusbar border color: (Project builder similar is 9B9B9B)
|
||||||
|
dc.SetPen(wxPen(wxColour(0xB1,0xB1,0xB1),1,wxSOLID));
|
||||||
|
else
|
||||||
|
dc.SetPen(wxPen(wxColour(0x80,0x80,0x80),1,wxSOLID));
|
||||||
|
|
||||||
|
dc.DrawLine(0, 0 ,
|
||||||
|
m_width , 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
int i;
|
||||||
|
if ( GetFont().Ok() )
|
||||||
|
dc.SetFont(GetFont());
|
||||||
|
dc.SetBackgroundMode(wxTRANSPARENT);
|
||||||
|
|
||||||
|
for ( i = 0; i < m_nFields; i ++ )
|
||||||
|
DrawField(dc, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxStatusBarMac::MacSuperEnabled( bool enabled )
|
void wxStatusBarMac::MacSuperEnabled( bool enabled )
|
||||||
|
@ -1067,23 +1067,38 @@ void wxWindowMac::MacPaintBorders( int left , int top )
|
|||||||
{
|
{
|
||||||
if( IsTopLevel() )
|
if( IsTopLevel() )
|
||||||
return ;
|
return ;
|
||||||
|
|
||||||
|
int major,minor;
|
||||||
|
wxGetOsVersion( &major, &minor );
|
||||||
|
|
||||||
RGBColor white = { 0xFFFF, 0xFFFF , 0xFFFF } ;
|
RGBColor white = { 0xFFFF, 0xFFFF , 0xFFFF } ;
|
||||||
RGBColor black = { 0x0000, 0x0000 , 0x0000 } ;
|
|
||||||
RGBColor face = { 0xDDDD, 0xDDDD , 0xDDDD } ;
|
RGBColor face = { 0xDDDD, 0xDDDD , 0xDDDD } ;
|
||||||
RGBColor shadow = { 0x4444, 0x4444 , 0x4444 } ;
|
|
||||||
|
RGBColor darkShadow = { 0x0000, 0x0000 , 0x0000 } ;
|
||||||
|
RGBColor lightShadow = { 0x4444, 0x4444 , 0x4444 } ;
|
||||||
|
// OS X has lighter border edges than classic:
|
||||||
|
if (major >= 10)
|
||||||
|
{
|
||||||
|
darkShadow.red = 0x8E8E;
|
||||||
|
darkShadow.green = 0x8E8E;
|
||||||
|
darkShadow.blue = 0x8E8E;
|
||||||
|
lightShadow.red = 0xBDBD;
|
||||||
|
lightShadow.green = 0xBDBD;
|
||||||
|
lightShadow.blue = 0xBDBD;
|
||||||
|
}
|
||||||
|
|
||||||
PenNormal() ;
|
PenNormal() ;
|
||||||
|
|
||||||
if (HasFlag(wxRAISED_BORDER) || HasFlag( wxSUNKEN_BORDER) || HasFlag(wxDOUBLE_BORDER) )
|
if (HasFlag(wxRAISED_BORDER) || HasFlag( wxSUNKEN_BORDER) || HasFlag(wxDOUBLE_BORDER) )
|
||||||
{
|
{
|
||||||
#if wxMAC_USE_THEME_BORDER
|
#if wxMAC_USE_THEME_BORDER
|
||||||
Rect rect = { top , left , m_height + top , m_width + left } ;
|
Rect rect = { top , left , m_height + top , m_width + left } ;
|
||||||
SInt32 border = 0 ;
|
SInt32 border = 0 ;
|
||||||
/*
|
/*
|
||||||
GetThemeMetric( kThemeMetricListBoxFrameOutset , &border ) ;
|
GetThemeMetric( kThemeMetricListBoxFrameOutset , &border ) ;
|
||||||
InsetRect( &rect , border , border );
|
InsetRect( &rect , border , border );
|
||||||
DrawThemeListBoxFrame(&rect,IsEnabled() ? kThemeStateActive : kThemeStateInactive) ;
|
DrawThemeListBoxFrame(&rect,IsEnabled() ? kThemeStateActive : kThemeStateInactive) ;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
DrawThemePrimaryGroup(&rect ,IsEnabled() ? kThemeStateActive : kThemeStateInactive) ;
|
DrawThemePrimaryGroup(&rect ,IsEnabled() ? kThemeStateActive : kThemeStateInactive) ;
|
||||||
#else
|
#else
|
||||||
@ -1097,22 +1112,22 @@ void wxWindowMac::MacPaintBorders( int left , int top )
|
|||||||
LineTo( left + m_width - 3 , top + m_height - 3 );
|
LineTo( left + m_width - 3 , top + m_height - 3 );
|
||||||
LineTo( left + m_width - 3 , top + 2 );
|
LineTo( left + m_width - 3 , top + 2 );
|
||||||
|
|
||||||
RGBForeColor( sunken ? &face : &black );
|
RGBForeColor( sunken ? &face : &darkShadow );
|
||||||
MoveTo( left + 0 , top + m_height - 1 );
|
MoveTo( left + 0 , top + m_height - 1 );
|
||||||
LineTo( left + m_width - 1 , top + m_height - 1 );
|
LineTo( left + m_width - 1 , top + m_height - 1 );
|
||||||
LineTo( left + m_width - 1 , top + 0 );
|
LineTo( left + m_width - 1 , top + 0 );
|
||||||
|
|
||||||
RGBForeColor( sunken ? &shadow : &white );
|
RGBForeColor( sunken ? &lightShadow : &white );
|
||||||
MoveTo( left + 1 , top + m_height - 3 );
|
MoveTo( left + 1 , top + m_height - 3 );
|
||||||
LineTo( left + 1, top + 1 );
|
LineTo( left + 1, top + 1 );
|
||||||
LineTo( left + m_width - 3 , top + 1 );
|
LineTo( left + m_width - 3 , top + 1 );
|
||||||
|
|
||||||
RGBForeColor( sunken ? &white : &shadow );
|
RGBForeColor( sunken ? &white : &lightShadow );
|
||||||
MoveTo( left + 1 , top + m_height - 2 );
|
MoveTo( left + 1 , top + m_height - 2 );
|
||||||
LineTo( left + m_width - 2 , top + m_height - 2 );
|
LineTo( left + m_width - 2 , top + m_height - 2 );
|
||||||
LineTo( left + m_width - 2 , top + 1 );
|
LineTo( left + m_width - 2 , top + 1 );
|
||||||
|
|
||||||
RGBForeColor( sunken ? &black : &face );
|
RGBForeColor( sunken ? &darkShadow : &face );
|
||||||
MoveTo( left + 2 , top + m_height - 4 );
|
MoveTo( left + 2 , top + m_height - 4 );
|
||||||
LineTo( left + 2 , top + 2 );
|
LineTo( left + 2 , top + 2 );
|
||||||
LineTo( left + m_width - 4 , top + 2 );
|
LineTo( left + m_width - 4 , top + 2 );
|
||||||
@ -1120,8 +1135,8 @@ void wxWindowMac::MacPaintBorders( int left , int top )
|
|||||||
}
|
}
|
||||||
else if (HasFlag(wxSIMPLE_BORDER))
|
else if (HasFlag(wxSIMPLE_BORDER))
|
||||||
{
|
{
|
||||||
Rect rect = { top , left , m_height + top , m_width + left } ;
|
Rect rect = { top , left , m_height + top , m_width + left } ;
|
||||||
RGBForeColor( &black ) ;
|
RGBForeColor( &darkShadow ) ;
|
||||||
FrameRect( &rect ) ;
|
FrameRect( &rect ) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1453,6 +1468,10 @@ bool wxWindowMac::MacSetupCursor( const wxPoint& pt)
|
|||||||
|
|
||||||
bool wxWindowMac::MacDispatchMouseEvent(wxMouseEvent& event)
|
bool wxWindowMac::MacDispatchMouseEvent(wxMouseEvent& event)
|
||||||
{
|
{
|
||||||
|
//In case a third-party component changed the port...
|
||||||
|
wxMacPortStateHelper help( (GrafPtr) GetWindowPort( (WindowRef) MacGetRootWindow()) ) ;
|
||||||
|
wxMacWindowClipper clip (this);
|
||||||
|
|
||||||
if ((event.m_x < m_x) || (event.m_y < m_y) ||
|
if ((event.m_x < m_x) || (event.m_y < m_y) ||
|
||||||
(event.m_x > (m_x + m_width)) || (event.m_y > (m_y + m_height)))
|
(event.m_x > (m_x + m_width)) || (event.m_y > (m_y + m_height)))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -139,23 +139,59 @@ wxRendererMac::DrawHeaderButton(wxWindow *win,
|
|||||||
w = rect.width,
|
w = rect.width,
|
||||||
h = rect.height;
|
h = rect.height;
|
||||||
|
|
||||||
|
int major,minor;
|
||||||
|
wxGetOsVersion( &major, &minor );
|
||||||
|
|
||||||
dc.SetBrush( *wxTRANSPARENT_BRUSH );
|
dc.SetBrush( *wxTRANSPARENT_BRUSH );
|
||||||
|
|
||||||
dc.SetPen( wxPen( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNSHADOW ) , 1 , wxSOLID ) );
|
if (major >= 10)
|
||||||
dc.DrawLine( x+w-CORNER+1, y, x+w, y+h ); // right (outer)
|
{
|
||||||
dc.DrawRectangle( x, y+h, w+1, 1 ); // bottom (outer)
|
dc.SetPen( wxPen( wxColour( 0xC5 , 0xC5 , 0xC5 ) , 1 , wxSOLID ) );
|
||||||
|
dc.DrawRectangle( x, y+CORNER, 1, h-CORNER ); // left
|
||||||
wxPen pen( wxColour( 0x88 , 0x88 , 0x88 ), 1, wxSOLID );
|
// The right border is overdrawn by the left border of the right neighbouring
|
||||||
|
// header (to maintain a proper single pixel border). Except for the
|
||||||
dc.SetPen( pen );
|
// rightmost header of the listctrl.
|
||||||
dc.DrawLine( x+w-CORNER, y, x+w-1, y+h ); // right (inner)
|
dc.DrawRectangle( x+w+(CORNER*2), y+CORNER, 1, h-CORNER ); // right
|
||||||
dc.DrawRectangle( x+1, y+h-1, w-2, 1 ); // bottom (inner)
|
dc.SetPen( wxPen( wxColour( 0xB1 , 0xB1 , 0xB1 ) , 1 , wxSOLID ) );
|
||||||
|
dc.DrawRectangle( x, y+h, w+(CORNER*3), 1 ); // bottom
|
||||||
dc.SetPen( *wxWHITE_PEN );
|
dc.DrawRectangle( x, y, w+(CORNER*3), 1 ); // top
|
||||||
dc.DrawRectangle( x, y, w-CORNER+1, 1 ); // top (outer)
|
|
||||||
dc.DrawRectangle( x, y, 1, h ); // left (outer)
|
// Do a fill of the interior for background:
|
||||||
dc.DrawLine( x, y+h-1, x+1, y+h-1 );
|
dc.SetPen( wxPen( wxColour( 0xF6 , 0xF6 , 0xF6 ) , 1 , wxSOLID ) );
|
||||||
dc.DrawLine( x+w-1, y, x+w-1, y+1 );
|
dc.DrawRectangle( x+CORNER, y+CORNER, w+CORNER, h-CORNER );
|
||||||
|
|
||||||
|
// Do the gradient fill:
|
||||||
|
static int grayValues[] =
|
||||||
|
{
|
||||||
|
0xF6, 0xF2, 0xEF, 0xED, 0xED, 0xEB, 0xEA, 0xEA, 0xE8,
|
||||||
|
0xE8, 0xE2, 0xE5, 0xE8, 0xEB, 0xEF, 0xF2, 0xFD
|
||||||
|
};
|
||||||
|
int i;
|
||||||
|
for (i=0; i < h && i < (int)WXSIZEOF(grayValues); i++)
|
||||||
|
{
|
||||||
|
dc.SetPen( wxPen( wxColour( grayValues[i] , grayValues[i] , grayValues[i] ),
|
||||||
|
1 , wxSOLID ) );
|
||||||
|
dc.DrawRectangle( x+CORNER, y+CORNER+i, w+CORNER, 1 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dc.SetPen( wxPen( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNSHADOW ) , 1 , wxSOLID ) );
|
||||||
|
dc.DrawLine( x+w-CORNER+1, y, x+w, y+h ); // right (outer)
|
||||||
|
dc.DrawRectangle( x, y+h, w+1, 1 ); // bottom (outer)
|
||||||
|
|
||||||
|
wxPen pen( wxColour( 0x88 , 0x88 , 0x88 ), 1, wxSOLID );
|
||||||
|
|
||||||
|
dc.SetPen( pen );
|
||||||
|
dc.DrawLine( x+w-CORNER, y, x+w-1, y+h ); // right (inner)
|
||||||
|
dc.DrawRectangle( x+1, y+h-1, w-2, 1 ); // bottom (inner)
|
||||||
|
|
||||||
|
dc.SetPen( *wxWHITE_PEN );
|
||||||
|
dc.DrawRectangle( x, y, w-CORNER+1, 1 ); // top (outer)
|
||||||
|
dc.DrawRectangle( x, y, 1, h ); // left (outer)
|
||||||
|
dc.DrawLine( x, y+h-1, x+1, y+h-1 );
|
||||||
|
dc.DrawLine( x+w-1, y, x+w-1, y+1 );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -57,7 +57,10 @@ wxColour wxSystemSettingsNative::GetColour(wxSystemColour index)
|
|||||||
break ;
|
break ;
|
||||||
}
|
}
|
||||||
case wxSYS_COLOUR_BTNSHADOW:
|
case wxSYS_COLOUR_BTNSHADOW:
|
||||||
return wxColor( 0x44 , 0x44 , 0x44 ) ;
|
if (major >= 10)
|
||||||
|
return wxColor( 0xBE , 0xBE , 0xBE ) ;
|
||||||
|
else
|
||||||
|
return wxColor( 0x44 , 0x44 , 0x44 ) ;
|
||||||
break ;
|
break ;
|
||||||
|
|
||||||
case wxSYS_COLOUR_BTNTEXT:
|
case wxSYS_COLOUR_BTNTEXT:
|
||||||
|
@ -102,35 +102,50 @@ void wxStatusBarMac::SetStatusText(const wxString& text, int number)
|
|||||||
|
|
||||||
void wxStatusBarMac::OnPaint(wxPaintEvent& WXUNUSED(event) )
|
void wxStatusBarMac::OnPaint(wxPaintEvent& WXUNUSED(event) )
|
||||||
{
|
{
|
||||||
wxPaintDC dc(this);
|
wxPaintDC dc(this);
|
||||||
dc.Clear() ;
|
dc.Clear() ;
|
||||||
|
|
||||||
if ( IsWindowHilited( MAC_WXHWND( MacGetRootWindow() ) ) )
|
int major,minor;
|
||||||
{
|
wxGetOsVersion( &major, &minor );
|
||||||
wxPen black( wxBLACK , 1 , wxSOLID ) ;
|
|
||||||
wxPen white( wxWHITE , 1 , wxSOLID ) ;
|
if ( IsWindowHilited( MAC_WXHWND( MacGetRootWindow() ) ) )
|
||||||
|
{
|
||||||
dc.SetPen(black);
|
wxPen white( wxWHITE , 1 , wxSOLID ) ;
|
||||||
dc.DrawLine(0, 0 ,
|
if (major >= 10)
|
||||||
m_width , 0);
|
{
|
||||||
dc.SetPen(white);
|
//Finder statusbar border color: (Project builder similar is 9B9B9B)
|
||||||
dc.DrawLine(0, 1 ,
|
dc.SetPen(wxPen(wxColour(0xB1,0xB1,0xB1),1,wxSOLID));
|
||||||
m_width , 1);
|
}
|
||||||
}
|
else
|
||||||
else
|
{
|
||||||
{
|
wxPen black( wxBLACK , 1 , wxSOLID ) ;
|
||||||
dc.SetPen(wxPen(wxColour(0x80,0x80,0x80),1,wxSOLID));
|
dc.SetPen(black);
|
||||||
dc.DrawLine(0, 0 ,
|
}
|
||||||
m_width , 0);
|
dc.DrawLine(0, 0 ,
|
||||||
}
|
m_width , 0);
|
||||||
|
dc.SetPen(white);
|
||||||
int i;
|
dc.DrawLine(0, 1 ,
|
||||||
if ( GetFont().Ok() )
|
m_width , 1);
|
||||||
dc.SetFont(GetFont());
|
}
|
||||||
dc.SetBackgroundMode(wxTRANSPARENT);
|
else
|
||||||
|
{
|
||||||
for ( i = 0; i < m_nFields; i ++ )
|
if (major >= 10)
|
||||||
DrawField(dc, i);
|
//Finder statusbar border color: (Project builder similar is 9B9B9B)
|
||||||
|
dc.SetPen(wxPen(wxColour(0xB1,0xB1,0xB1),1,wxSOLID));
|
||||||
|
else
|
||||||
|
dc.SetPen(wxPen(wxColour(0x80,0x80,0x80),1,wxSOLID));
|
||||||
|
|
||||||
|
dc.DrawLine(0, 0 ,
|
||||||
|
m_width , 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
int i;
|
||||||
|
if ( GetFont().Ok() )
|
||||||
|
dc.SetFont(GetFont());
|
||||||
|
dc.SetBackgroundMode(wxTRANSPARENT);
|
||||||
|
|
||||||
|
for ( i = 0; i < m_nFields; i ++ )
|
||||||
|
DrawField(dc, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxStatusBarMac::MacSuperEnabled( bool enabled )
|
void wxStatusBarMac::MacSuperEnabled( bool enabled )
|
||||||
|
@ -1067,23 +1067,38 @@ void wxWindowMac::MacPaintBorders( int left , int top )
|
|||||||
{
|
{
|
||||||
if( IsTopLevel() )
|
if( IsTopLevel() )
|
||||||
return ;
|
return ;
|
||||||
|
|
||||||
|
int major,minor;
|
||||||
|
wxGetOsVersion( &major, &minor );
|
||||||
|
|
||||||
RGBColor white = { 0xFFFF, 0xFFFF , 0xFFFF } ;
|
RGBColor white = { 0xFFFF, 0xFFFF , 0xFFFF } ;
|
||||||
RGBColor black = { 0x0000, 0x0000 , 0x0000 } ;
|
|
||||||
RGBColor face = { 0xDDDD, 0xDDDD , 0xDDDD } ;
|
RGBColor face = { 0xDDDD, 0xDDDD , 0xDDDD } ;
|
||||||
RGBColor shadow = { 0x4444, 0x4444 , 0x4444 } ;
|
|
||||||
|
RGBColor darkShadow = { 0x0000, 0x0000 , 0x0000 } ;
|
||||||
|
RGBColor lightShadow = { 0x4444, 0x4444 , 0x4444 } ;
|
||||||
|
// OS X has lighter border edges than classic:
|
||||||
|
if (major >= 10)
|
||||||
|
{
|
||||||
|
darkShadow.red = 0x8E8E;
|
||||||
|
darkShadow.green = 0x8E8E;
|
||||||
|
darkShadow.blue = 0x8E8E;
|
||||||
|
lightShadow.red = 0xBDBD;
|
||||||
|
lightShadow.green = 0xBDBD;
|
||||||
|
lightShadow.blue = 0xBDBD;
|
||||||
|
}
|
||||||
|
|
||||||
PenNormal() ;
|
PenNormal() ;
|
||||||
|
|
||||||
if (HasFlag(wxRAISED_BORDER) || HasFlag( wxSUNKEN_BORDER) || HasFlag(wxDOUBLE_BORDER) )
|
if (HasFlag(wxRAISED_BORDER) || HasFlag( wxSUNKEN_BORDER) || HasFlag(wxDOUBLE_BORDER) )
|
||||||
{
|
{
|
||||||
#if wxMAC_USE_THEME_BORDER
|
#if wxMAC_USE_THEME_BORDER
|
||||||
Rect rect = { top , left , m_height + top , m_width + left } ;
|
Rect rect = { top , left , m_height + top , m_width + left } ;
|
||||||
SInt32 border = 0 ;
|
SInt32 border = 0 ;
|
||||||
/*
|
/*
|
||||||
GetThemeMetric( kThemeMetricListBoxFrameOutset , &border ) ;
|
GetThemeMetric( kThemeMetricListBoxFrameOutset , &border ) ;
|
||||||
InsetRect( &rect , border , border );
|
InsetRect( &rect , border , border );
|
||||||
DrawThemeListBoxFrame(&rect,IsEnabled() ? kThemeStateActive : kThemeStateInactive) ;
|
DrawThemeListBoxFrame(&rect,IsEnabled() ? kThemeStateActive : kThemeStateInactive) ;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
DrawThemePrimaryGroup(&rect ,IsEnabled() ? kThemeStateActive : kThemeStateInactive) ;
|
DrawThemePrimaryGroup(&rect ,IsEnabled() ? kThemeStateActive : kThemeStateInactive) ;
|
||||||
#else
|
#else
|
||||||
@ -1097,22 +1112,22 @@ void wxWindowMac::MacPaintBorders( int left , int top )
|
|||||||
LineTo( left + m_width - 3 , top + m_height - 3 );
|
LineTo( left + m_width - 3 , top + m_height - 3 );
|
||||||
LineTo( left + m_width - 3 , top + 2 );
|
LineTo( left + m_width - 3 , top + 2 );
|
||||||
|
|
||||||
RGBForeColor( sunken ? &face : &black );
|
RGBForeColor( sunken ? &face : &darkShadow );
|
||||||
MoveTo( left + 0 , top + m_height - 1 );
|
MoveTo( left + 0 , top + m_height - 1 );
|
||||||
LineTo( left + m_width - 1 , top + m_height - 1 );
|
LineTo( left + m_width - 1 , top + m_height - 1 );
|
||||||
LineTo( left + m_width - 1 , top + 0 );
|
LineTo( left + m_width - 1 , top + 0 );
|
||||||
|
|
||||||
RGBForeColor( sunken ? &shadow : &white );
|
RGBForeColor( sunken ? &lightShadow : &white );
|
||||||
MoveTo( left + 1 , top + m_height - 3 );
|
MoveTo( left + 1 , top + m_height - 3 );
|
||||||
LineTo( left + 1, top + 1 );
|
LineTo( left + 1, top + 1 );
|
||||||
LineTo( left + m_width - 3 , top + 1 );
|
LineTo( left + m_width - 3 , top + 1 );
|
||||||
|
|
||||||
RGBForeColor( sunken ? &white : &shadow );
|
RGBForeColor( sunken ? &white : &lightShadow );
|
||||||
MoveTo( left + 1 , top + m_height - 2 );
|
MoveTo( left + 1 , top + m_height - 2 );
|
||||||
LineTo( left + m_width - 2 , top + m_height - 2 );
|
LineTo( left + m_width - 2 , top + m_height - 2 );
|
||||||
LineTo( left + m_width - 2 , top + 1 );
|
LineTo( left + m_width - 2 , top + 1 );
|
||||||
|
|
||||||
RGBForeColor( sunken ? &black : &face );
|
RGBForeColor( sunken ? &darkShadow : &face );
|
||||||
MoveTo( left + 2 , top + m_height - 4 );
|
MoveTo( left + 2 , top + m_height - 4 );
|
||||||
LineTo( left + 2 , top + 2 );
|
LineTo( left + 2 , top + 2 );
|
||||||
LineTo( left + m_width - 4 , top + 2 );
|
LineTo( left + m_width - 4 , top + 2 );
|
||||||
@ -1120,8 +1135,8 @@ void wxWindowMac::MacPaintBorders( int left , int top )
|
|||||||
}
|
}
|
||||||
else if (HasFlag(wxSIMPLE_BORDER))
|
else if (HasFlag(wxSIMPLE_BORDER))
|
||||||
{
|
{
|
||||||
Rect rect = { top , left , m_height + top , m_width + left } ;
|
Rect rect = { top , left , m_height + top , m_width + left } ;
|
||||||
RGBForeColor( &black ) ;
|
RGBForeColor( &darkShadow ) ;
|
||||||
FrameRect( &rect ) ;
|
FrameRect( &rect ) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1453,6 +1468,10 @@ bool wxWindowMac::MacSetupCursor( const wxPoint& pt)
|
|||||||
|
|
||||||
bool wxWindowMac::MacDispatchMouseEvent(wxMouseEvent& event)
|
bool wxWindowMac::MacDispatchMouseEvent(wxMouseEvent& event)
|
||||||
{
|
{
|
||||||
|
//In case a third-party component changed the port...
|
||||||
|
wxMacPortStateHelper help( (GrafPtr) GetWindowPort( (WindowRef) MacGetRootWindow()) ) ;
|
||||||
|
wxMacWindowClipper clip (this);
|
||||||
|
|
||||||
if ((event.m_x < m_x) || (event.m_y < m_y) ||
|
if ((event.m_x < m_x) || (event.m_y < m_y) ||
|
||||||
(event.m_x > (m_x + m_width)) || (event.m_y > (m_y + m_height)))
|
(event.m_x > (m_x + m_width)) || (event.m_y > (m_y + m_height)))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
Loading…
Reference in New Issue
Block a user