Fixes for Mac (use wxClientDC not wxMemoryDC for temporary DC)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61956 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -66,7 +66,7 @@ void wxRibbonBar::AddPage(wxRibbonPage *page)
|
|||||||
info.hovered = false;
|
info.hovered = false;
|
||||||
// info.rect not set (intentional)
|
// info.rect not set (intentional)
|
||||||
|
|
||||||
wxMemoryDC dcTemp;
|
wxClientDC dcTemp(this);
|
||||||
wxString label = wxEmptyString;
|
wxString label = wxEmptyString;
|
||||||
if(m_flags & wxRIBBON_BAR_SHOW_PAGE_LABELS)
|
if(m_flags & wxRIBBON_BAR_SHOW_PAGE_LABELS)
|
||||||
label = page->GetLabel();
|
label = page->GetLabel();
|
||||||
@@ -124,7 +124,7 @@ bool wxRibbonBar::Realize()
|
|||||||
{
|
{
|
||||||
bool status = true;
|
bool status = true;
|
||||||
|
|
||||||
wxMemoryDC dcTemp;
|
wxClientDC dcTemp(this);
|
||||||
int sep = m_art->GetMetric(wxRIBBON_ART_TAB_SEPARATION_SIZE);
|
int sep = m_art->GetMetric(wxRIBBON_ART_TAB_SEPARATION_SIZE);
|
||||||
size_t numtabs = m_pages.GetCount();
|
size_t numtabs = m_pages.GetCount();
|
||||||
size_t i;
|
size_t i;
|
||||||
@@ -377,7 +377,7 @@ void wxRibbonBar::RecalculateTabSizes()
|
|||||||
m_tab_scroll_buttons_shown = true;
|
m_tab_scroll_buttons_shown = true;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
wxMemoryDC temp_dc;
|
wxClientDC temp_dc(this);
|
||||||
m_tab_scroll_left_button_rect.SetWidth(m_art->GetScrollButtonMinimumSize(temp_dc, this, wxRIBBON_SCROLL_BTN_LEFT | wxRIBBON_SCROLL_BTN_NORMAL | wxRIBBON_SCROLL_BTN_FOR_TABS).GetWidth());
|
m_tab_scroll_left_button_rect.SetWidth(m_art->GetScrollButtonMinimumSize(temp_dc, this, wxRIBBON_SCROLL_BTN_LEFT | wxRIBBON_SCROLL_BTN_NORMAL | wxRIBBON_SCROLL_BTN_FOR_TABS).GetWidth());
|
||||||
m_tab_scroll_left_button_rect.SetHeight(m_tab_height);
|
m_tab_scroll_left_button_rect.SetHeight(m_tab_height);
|
||||||
m_tab_scroll_left_button_rect.SetX(m_tab_margin_left);
|
m_tab_scroll_left_button_rect.SetX(m_tab_margin_left);
|
||||||
@@ -846,7 +846,7 @@ void wxRibbonBar::ScrollTabBar(int amount)
|
|||||||
if(show_right != (m_tab_scroll_right_button_rect.GetWidth() != 0) ||
|
if(show_right != (m_tab_scroll_right_button_rect.GetWidth() != 0) ||
|
||||||
show_left != (m_tab_scroll_left_button_rect.GetWidth() != 0))
|
show_left != (m_tab_scroll_left_button_rect.GetWidth() != 0))
|
||||||
{
|
{
|
||||||
wxMemoryDC temp_dc;
|
wxClientDC temp_dc(this);
|
||||||
if(show_left)
|
if(show_left)
|
||||||
{
|
{
|
||||||
m_tab_scroll_left_button_rect.SetWidth(m_art->GetScrollButtonMinimumSize(temp_dc, this, wxRIBBON_SCROLL_BTN_LEFT | wxRIBBON_SCROLL_BTN_NORMAL | wxRIBBON_SCROLL_BTN_FOR_TABS).GetWidth());
|
m_tab_scroll_left_button_rect.SetWidth(m_art->GetScrollButtonMinimumSize(temp_dc, this, wxRIBBON_SCROLL_BTN_LEFT | wxRIBBON_SCROLL_BTN_NORMAL | wxRIBBON_SCROLL_BTN_FOR_TABS).GetWidth());
|
||||||
|
@@ -333,7 +333,7 @@ wxRibbonButtonBarButtonBase* wxRibbonButtonBar::AddButton(
|
|||||||
base->client_data = client_data;
|
base->client_data = client_data;
|
||||||
base->state = 0;
|
base->state = 0;
|
||||||
|
|
||||||
wxMemoryDC temp_dc;
|
wxClientDC temp_dc(this);
|
||||||
FetchButtonSizeInfo(base, wxRIBBON_BUTTONBAR_BUTTON_SMALL, temp_dc);
|
FetchButtonSizeInfo(base, wxRIBBON_BUTTONBAR_BUTTON_SMALL, temp_dc);
|
||||||
FetchButtonSizeInfo(base, wxRIBBON_BUTTONBAR_BUTTON_MEDIUM, temp_dc);
|
FetchButtonSizeInfo(base, wxRIBBON_BUTTONBAR_BUTTON_MEDIUM, temp_dc);
|
||||||
FetchButtonSizeInfo(base, wxRIBBON_BUTTONBAR_BUTTON_LARGE, temp_dc);
|
FetchButtonSizeInfo(base, wxRIBBON_BUTTONBAR_BUTTON_LARGE, temp_dc);
|
||||||
@@ -454,7 +454,7 @@ void wxRibbonButtonBar::SetArtProvider(wxRibbonArtProvider* art)
|
|||||||
|
|
||||||
wxRibbonControl::SetArtProvider(art);
|
wxRibbonControl::SetArtProvider(art);
|
||||||
|
|
||||||
wxMemoryDC temp_dc;
|
wxClientDC temp_dc(this);
|
||||||
size_t btn_count = m_buttons.Count();
|
size_t btn_count = m_buttons.Count();
|
||||||
size_t btn_i;
|
size_t btn_i;
|
||||||
for(btn_i = 0; btn_i < btn_count; ++btn_i)
|
for(btn_i = 0; btn_i < btn_count; ++btn_i)
|
||||||
|
@@ -309,7 +309,7 @@ wxSize wxRibbonPanel::DoGetNextSmallerSize(wxOrientation direction,
|
|||||||
wxRibbonControl* ribbon_child = wxDynamicCast(child, wxRibbonControl);
|
wxRibbonControl* ribbon_child = wxDynamicCast(child, wxRibbonControl);
|
||||||
if(m_art != NULL && ribbon_child != NULL)
|
if(m_art != NULL && ribbon_child != NULL)
|
||||||
{
|
{
|
||||||
wxMemoryDC dc;
|
wxClientDC dc((wxRibbonPanel*) this);
|
||||||
wxSize child_relative = m_art->GetPanelClientSize(dc, this, relative_to, NULL);
|
wxSize child_relative = m_art->GetPanelClientSize(dc, this, relative_to, NULL);
|
||||||
wxSize smaller = ribbon_child->GetNextSmallerSize(direction, child_relative);
|
wxSize smaller = ribbon_child->GetNextSmallerSize(direction, child_relative);
|
||||||
if(smaller == child_relative)
|
if(smaller == child_relative)
|
||||||
@@ -406,7 +406,7 @@ wxSize wxRibbonPanel::DoGetNextLargerSize(wxOrientation direction,
|
|||||||
wxRibbonControl* ribbon_child = wxDynamicCast(child, wxRibbonControl);
|
wxRibbonControl* ribbon_child = wxDynamicCast(child, wxRibbonControl);
|
||||||
if(ribbon_child != NULL)
|
if(ribbon_child != NULL)
|
||||||
{
|
{
|
||||||
wxMemoryDC dc;
|
wxClientDC dc((wxRibbonPanel*) this);
|
||||||
wxSize child_relative = m_art->GetPanelClientSize(dc, this, relative_to, NULL);
|
wxSize child_relative = m_art->GetPanelClientSize(dc, this, relative_to, NULL);
|
||||||
wxSize larger = ribbon_child->GetNextLargerSize(direction, child_relative);
|
wxSize larger = ribbon_child->GetNextLargerSize(direction, child_relative);
|
||||||
if(larger == child_relative)
|
if(larger == child_relative)
|
||||||
@@ -415,7 +415,7 @@ wxSize wxRibbonPanel::DoGetNextLargerSize(wxOrientation direction,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
wxMemoryDC dc;
|
wxClientDC dc((wxRibbonPanel*) this);
|
||||||
return m_art->GetPanelSize(dc, this, larger, NULL);
|
return m_art->GetPanelSize(dc, this, larger, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -472,7 +472,7 @@ wxSize wxRibbonPanel::GetMinNotMinimisedSize() const
|
|||||||
if(GetChildren().GetCount() == 1)
|
if(GetChildren().GetCount() == 1)
|
||||||
{
|
{
|
||||||
wxWindow* child = GetChildren().Item(0)->GetData();
|
wxWindow* child = GetChildren().Item(0)->GetData();
|
||||||
wxMemoryDC dc;
|
wxClientDC dc((wxRibbonPanel*) this);
|
||||||
return m_art->GetPanelSize(dc, this, child->GetMinSize(), NULL);
|
return m_art->GetPanelSize(dc, this, child->GetMinSize(), NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -487,7 +487,7 @@ wxSize wxRibbonPanel::DoGetBestSize() const
|
|||||||
if(GetChildren().GetCount() == 1)
|
if(GetChildren().GetCount() == 1)
|
||||||
{
|
{
|
||||||
wxWindow* child = GetChildren().Item(0)->GetData();
|
wxWindow* child = GetChildren().Item(0)->GetData();
|
||||||
wxMemoryDC dc;
|
wxClientDC dc((wxRibbonPanel*) this);
|
||||||
return m_art->GetPanelSize(dc, this, child->GetBestSize(), NULL);
|
return m_art->GetPanelSize(dc, this, child->GetBestSize(), NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -522,7 +522,7 @@ bool wxRibbonPanel::Realize()
|
|||||||
|
|
||||||
if(m_art != NULL)
|
if(m_art != NULL)
|
||||||
{
|
{
|
||||||
wxMemoryDC temp_dc;
|
wxClientDC temp_dc(this);
|
||||||
|
|
||||||
m_smallest_unminimised_size =
|
m_smallest_unminimised_size =
|
||||||
m_art->GetPanelSize(temp_dc, this, minimum_children_size, NULL);
|
m_art->GetPanelSize(temp_dc, this, minimum_children_size, NULL);
|
||||||
@@ -583,7 +583,7 @@ bool wxRibbonPanel::Layout()
|
|||||||
{
|
{
|
||||||
wxWindow* child = GetChildren().Item(0)->GetData();
|
wxWindow* child = GetChildren().Item(0)->GetData();
|
||||||
wxPoint position;
|
wxPoint position;
|
||||||
wxMemoryDC dc;
|
wxClientDC dc(this);
|
||||||
wxSize size = m_art->GetPanelClientSize(dc, this, GetSize(), &position);
|
wxSize size = m_art->GetPanelClientSize(dc, this, GetSize(), &position);
|
||||||
child->SetSize(position.x, position.y, size.GetWidth(), size.GetHeight());
|
child->SetSize(position.x, position.y, size.GetWidth(), size.GetHeight());
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user