fixed internal border drawing for listbox in GTK theme
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/wxUNIVERSAL@8302 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -118,6 +118,12 @@ public:
|
|||||||
// operations
|
// operations
|
||||||
virtual void SetCurrent(bool doit = TRUE);
|
virtual void SetCurrent(bool doit = TRUE);
|
||||||
|
|
||||||
|
// get the scrollbar (may be NULL) for the given orientation
|
||||||
|
wxScrollBar *GetScrollbar(int orient) const
|
||||||
|
{
|
||||||
|
return orient & wxVERTICAL ? m_scrollbarVert : m_scrollbarHorz;
|
||||||
|
}
|
||||||
|
|
||||||
// methods used by wxColourScheme to choose the colours for this window
|
// methods used by wxColourScheme to choose the colours for this window
|
||||||
// --------------------------------------------------------------------
|
// --------------------------------------------------------------------
|
||||||
|
|
||||||
@@ -185,12 +191,6 @@ protected:
|
|||||||
// adjust the size of the window to take into account its borders
|
// adjust the size of the window to take into account its borders
|
||||||
wxSize AdjustSize(const wxSize& size) const;
|
wxSize AdjustSize(const wxSize& size) const;
|
||||||
|
|
||||||
// get the scrollbar (may be NULL) for the given orientation
|
|
||||||
wxScrollBar *GetScrollbar(int orient) const
|
|
||||||
{
|
|
||||||
return orient & wxVERTICAL ? m_scrollbarVert : m_scrollbarHorz;
|
|
||||||
}
|
|
||||||
|
|
||||||
// put the scrollbars along the edges of the window
|
// put the scrollbars along the edges of the window
|
||||||
void PositionScrollbars();
|
void PositionScrollbars();
|
||||||
|
|
||||||
|
@@ -324,6 +324,19 @@ void wxControlRenderer::DrawBorder()
|
|||||||
{
|
{
|
||||||
int flags = m_window->GetStateFlags();
|
int flags = m_window->GetStateFlags();
|
||||||
|
|
||||||
|
// if the scrollbars are outside the border, we must adjust the rect to
|
||||||
|
// exclude them
|
||||||
|
if ( !m_renderer->AreScrollbarsInsideBorder() )
|
||||||
|
{
|
||||||
|
wxScrollBar *scrollbar = m_window->GetScrollbar(wxVERTICAL);
|
||||||
|
if ( scrollbar )
|
||||||
|
m_rect.width -= scrollbar->GetSize().x;
|
||||||
|
|
||||||
|
scrollbar = m_window->GetScrollbar(wxHORIZONTAL);
|
||||||
|
if ( scrollbar )
|
||||||
|
m_rect.height -= scrollbar->GetSize().y;
|
||||||
|
}
|
||||||
|
|
||||||
// draw outline
|
// draw outline
|
||||||
m_renderer->DrawBorder(m_dc, m_window->GetBorder(),
|
m_renderer->DrawBorder(m_dc, m_window->GetBorder(),
|
||||||
m_rect, flags, &m_rect);
|
m_rect, flags, &m_rect);
|
||||||
|
@@ -621,7 +621,7 @@ void wxGTKRenderer::DrawBorder(wxDC& dc,
|
|||||||
{
|
{
|
||||||
case wxBORDER_SUNKEN:
|
case wxBORDER_SUNKEN:
|
||||||
DrawAntiShadedRect(dc, &rect, m_penDarkGrey, m_penHighlight);
|
DrawAntiShadedRect(dc, &rect, m_penDarkGrey, m_penHighlight);
|
||||||
DrawAntiShadedRect(dc, &rect, m_penBlack, m_penLightGrey);
|
DrawShadedRect(dc, &rect, m_penBlack, m_penLightGrey);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case wxBORDER_STATIC:
|
case wxBORDER_STATIC:
|
||||||
|
Reference in New Issue
Block a user