git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44430
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
wxCONTROL_SELECTED = 0x00000020, // selected item in e.g. listbox
wxCONTROL_CHECKED = 0x00000040, // (check/radio button) is checked
wxCONTROL_CHECKABLE = 0x00000080, // (menu) item can be checked
wxCONTROL_SELECTED = 0x00000020, // selected item in e.g. listbox
wxCONTROL_CHECKED = 0x00000040, // (check/radio button) is checked
wxCONTROL_CHECKABLE = 0x00000080, // (menu) item can be checked
- wxCONTROL_SIZE_NORMAL = 0x00000100,
- wxCONTROL_SIZE_LARGE = 0x00000200,
- wxCONTROL_SIZE_SMALL = 0x00000400,
- wxCONTROL_SIZE_MINI = 0x00000800,
wxCONTROL_UNDETERMINED = wxCONTROL_CHECKABLE // (check) undetermined state
};
\end{verbatim}
wxCONTROL_UNDETERMINED = wxCONTROL_CHECKABLE // (check) undetermined state
};
\end{verbatim}
wxCONTROL_CHECKABLE = 0x00000080, // (menu) item can be checked
wxCONTROL_UNDETERMINED = wxCONTROL_CHECKABLE, // (check) undetermined state
wxCONTROL_CHECKABLE = 0x00000080, // (menu) item can be checked
wxCONTROL_UNDETERMINED = wxCONTROL_CHECKABLE, // (check) undetermined state
- wxCONTROL_SIZE_NORMAL = 0x00000100,
- wxCONTROL_SIZE_LARGE = 0x00000200,
- wxCONTROL_SIZE_SMALL = 0x00000400,
- wxCONTROL_SIZE_MINI = 0x00000800,
-
- wxCONTROL_FLAGS_MASK = 0x00000fff,
+ wxCONTROL_FLAGS_MASK = 0x000000ff,
// this is a pseudo flag not used directly by wxRenderer but rather by some
// controls internally
// this is a pseudo flag not used directly by wxRenderer but rather by some
// controls internally
}
// Draw standard button
}
// Draw standard button
- if (GetParent()->GetWindowVariant() == wxWINDOW_VARIANT_SMALL)
- drawState |= wxCONTROL_SIZE_SMALL;
- else if (GetParent()->GetWindowVariant() == wxWINDOW_VARIANT_MINI)
- drawState |= wxCONTROL_SIZE_MINI;
-
wxRendererNative::Get().DrawComboBoxDropButton(this,
dc,
drawRect,
wxRendererNative::Get().DrawComboBoxDropButton(this,
dc,
drawRect,
dc.DrawRectangle(rect);
}
dc.DrawRectangle(rect);
}
- if (GetParent()->GetWindowVariant() == wxWINDOW_VARIANT_SMALL)
- drawState |= wxCONTROL_SIZE_SMALL;
- else if (GetParent()->GetWindowVariant() == wxWINDOW_VARIANT_MINI)
- drawState |= wxCONTROL_SIZE_MINI;
-
wxRendererNative::Get().DrawPushButton(this,
dc,
drawRect,
wxRendererNative::Get().DrawPushButton(this,
dc,
drawRect,
wxASSERT( !m_popup || m_popup == popup ); // Consistency check.
wxSize adjustedSize = m_popupInterface->GetAdjustedSize(widthPopup,
wxASSERT( !m_popup || m_popup == popup ); // Consistency check.
wxSize adjustedSize = m_popupInterface->GetAdjustedSize(widthPopup,
wxHeaderButtonParams* params = NULL );
virtual int GetHeaderButtonHeight(wxWindow *win);
wxHeaderButtonParams* params = NULL );
virtual int GetHeaderButtonHeight(wxWindow *win);
// draw the expanded/collapsed icon for a tree control item
virtual void DrawTreeItemButton( wxWindow *win,
wxDC& dc,
// draw the expanded/collapsed icon for a tree control item
virtual void DrawTreeItemButton( wxWindow *win,
wxDC& dc,
wxDC& dc,
const wxRect& rect,
int flags = 0);
wxDC& dc,
const wxRect& rect,
int flags = 0);
virtual void DrawPushButton(wxWindow *win,
wxDC& dc,
const wxRect& rect,
int flags = 0);
virtual void DrawPushButton(wxWindow *win,
wxDC& dc,
const wxRect& rect,
int flags = 0);
virtual void DrawItemSelectionRect(wxWindow *win,
wxDC& dc,
const wxRect& rect,
virtual void DrawItemSelectionRect(wxWindow *win,
wxDC& dc,
const wxRect& rect,
int flags,
int kind,
int adornment);
int flags,
int kind,
int adornment);
// the tree buttons
wxBitmap m_bmpTreeExpanded;
wxBitmap m_bmpTreeCollapsed;
// the tree buttons
wxBitmap m_bmpTreeExpanded;
wxBitmap m_bmpTreeCollapsed;
// The down arrow is drawn automatically, change it to an up arrow if needed.
if ( sortArrow == wxHDR_SORT_ICON_UP )
drawInfo.adornment = kThemeAdornmentHeaderButtonSortUp;
// The down arrow is drawn automatically, change it to an up arrow if needed.
if ( sortArrow == wxHDR_SORT_ICON_UP )
drawInfo.adornment = kThemeAdornmentHeaderButtonSortUp;
HIThemeDrawButton( &headerRect, &drawInfo, cgContext, kHIThemeOrientationNormal, &labelRect );
// If we don't want any arrows we need to draw over the one already there
HIThemeDrawButton( &headerRect, &drawInfo, cgContext, kHIThemeOrientationNormal, &labelRect );
// If we don't want any arrows we need to draw over the one already there
headerRect.size.width += 25;
HIThemeDrawButton( &headerRect, &drawInfo, cgContext, kHIThemeOrientationNormal, &labelRect );
CGContextRestoreGState( cgContext );
headerRect.size.width += 25;
HIThemeDrawButton( &headerRect, &drawInfo, cgContext, kHIThemeOrientationNormal, &labelRect );
CGContextRestoreGState( cgContext );
}
#if wxMAC_USE_CORE_GRAPHICS
}
#if wxMAC_USE_CORE_GRAPHICS
const wxCoord y = rect.y;
const wxCoord w = rect.width;
const wxCoord h = rect.height;
const wxCoord y = rect.y;
const wxCoord w = rect.width;
const wxCoord h = rect.height;
dc.SetBrush( *wxTRANSPARENT_BRUSH );
dc.SetBrush( *wxTRANSPARENT_BRUSH );
// Apple mailing list posts say to use the arrow adornment constants, but those don't work.
// We need to set the value using the 'old' DrawThemeButton constants instead.
drawInfo.value = (flags & wxCONTROL_EXPANDED) ? kThemeDisclosureDown : kThemeDisclosureRight;
// Apple mailing list posts say to use the arrow adornment constants, but those don't work.
// We need to set the value using the 'old' DrawThemeButton constants instead.
drawInfo.value = (flags & wxCONTROL_EXPANDED) ? kThemeDisclosureDown : kThemeDisclosureRight;
- drawInfo.adornment = kThemeAdornmentNone;
+ drawInfo.adornment = kThemeAdornmentNone;
HIThemeDrawButton( &headerRect, &drawInfo, cgContext, kHIThemeOrientationNormal, &labelRect );
HIThemeDrawButton( &headerRect, &drawInfo, cgContext, kHIThemeOrientationNormal, &labelRect );
}
#if wxMAC_USE_CORE_GRAPHICS
}
#if wxMAC_USE_CORE_GRAPHICS
const wxRect& rect,
int flags )
{
const wxRect& rect,
int flags )
{
if (flags & wxCONTROL_SELECTED)
{
if (flags & wxCONTROL_FOCUSED)
if (flags & wxCONTROL_SELECTED)
{
if (flags & wxCONTROL_FOCUSED)
else
GetThemeBrushAsColor(kThemeBrushSecondaryHighlightColor, 32, true, &selColor);
}
else
GetThemeBrushAsColor(kThemeBrushSecondaryHighlightColor, 32, true, &selColor);
}
wxBrush selBrush = wxBrush( wxColour( selColor.red, selColor.green, selColor.blue ), wxSOLID );
dc.SetPen( *wxTRANSPARENT_PEN );
wxBrush selBrush = wxBrush( wxColour( selColor.red, selColor.green, selColor.blue ), wxSOLID );
dc.SetPen( *wxTRANSPARENT_PEN );
- if (flags & wxCONTROL_SIZE_SMALL)
+ if (win->GetWindowVariant() == wxWINDOW_VARIANT_SMALL || (win->GetParent() && win->GetParent()->GetWindowVariant() == wxWINDOW_VARIANT_SMALL))
kind = kThemeArrowButtonSmall;
kind = kThemeArrowButtonSmall;
- else if (flags & wxCONTROL_SIZE_MINI)
+ else if (win->GetWindowVariant() == wxWINDOW_VARIANT_MINI || (win->GetParent() && win->GetParent()->GetWindowVariant() == wxWINDOW_VARIANT_MINI))
kind = kThemeArrowButtonMini;
else
kind = kThemeArrowButton;
kind = kThemeArrowButtonMini;
else
kind = kThemeArrowButton;
DrawMacThemeButton(win, dc, rect, flags,
kind, kThemeAdornmentArrowDownArrow);
}
DrawMacThemeButton(win, dc, rect, flags,
kind, kThemeAdornmentArrowDownArrow);
}
void
wxRendererMac::DrawPushButton(wxWindow *win,
wxDC& dc,
void
wxRendererMac::DrawPushButton(wxWindow *win,
wxDC& dc,
- if (flags & wxCONTROL_SIZE_SMALL)
+ if (win->GetWindowVariant() == wxWINDOW_VARIANT_SMALL || (win->GetParent() && win->GetParent()->GetWindowVariant() == wxWINDOW_VARIANT_SMALL))
+ kind = kThemeBevelButtonSmall;
+ // There is no kThemeBevelButtonMini, but in this case, use Small
+ else if (win->GetWindowVariant() == wxWINDOW_VARIANT_MINI || (win->GetParent() && win->GetParent()->GetWindowVariant() == wxWINDOW_VARIANT_MINI))
kind = kThemeBevelButtonSmall;
else
kind = kThemeBevelButton;
kind = kThemeBevelButtonSmall;
else
kind = kThemeBevelButton;
DrawMacThemeButton(win, dc, rect, flags,
kind, kThemeAdornmentNone);
}
DrawMacThemeButton(win, dc, rect, flags,
kind, kThemeAdornmentNone);
}