fixes for working with mono bitmaps (patch 728768)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20416 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -43,6 +43,7 @@ public:
|
|||||||
// and everything else as drawing 1.
|
// and everything else as drawing 1.
|
||||||
virtual void SetPen( const wxPen &pen );
|
virtual void SetPen( const wxPen &pen );
|
||||||
virtual void SetBrush( const wxBrush &brush );
|
virtual void SetBrush( const wxBrush &brush );
|
||||||
|
virtual void SetBackground( const wxBrush &brush );
|
||||||
virtual void SetTextForeground( const wxColour &col );
|
virtual void SetTextForeground( const wxColour &col );
|
||||||
virtual void SetTextBackground( const wxColour &col );
|
virtual void SetTextBackground( const wxColour &col );
|
||||||
|
|
||||||
|
@@ -43,6 +43,7 @@ public:
|
|||||||
// and everything else as drawing 1.
|
// and everything else as drawing 1.
|
||||||
virtual void SetPen( const wxPen &pen );
|
virtual void SetPen( const wxPen &pen );
|
||||||
virtual void SetBrush( const wxBrush &brush );
|
virtual void SetBrush( const wxBrush &brush );
|
||||||
|
virtual void SetBackground( const wxBrush &brush );
|
||||||
virtual void SetTextForeground( const wxColour &col );
|
virtual void SetTextForeground( const wxColour &col );
|
||||||
virtual void SetTextBackground( const wxColour &col );
|
virtual void SetTextBackground( const wxColour &col );
|
||||||
|
|
||||||
|
@@ -79,44 +79,51 @@ void wxMemoryDC::SelectObject( const wxBitmap& bitmap )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxMemoryDC::SetPen( const wxPen &pen )
|
void wxMemoryDC::SetPen( const wxPen& penOrig )
|
||||||
{
|
{
|
||||||
if (m_selected.Ok() && m_selected.GetBitmap() && (*wxTRANSPARENT_PEN != pen))
|
wxPen pen( penOrig );
|
||||||
|
if ( m_selected.Ok() &&
|
||||||
|
m_selected.GetBitmap() &&
|
||||||
|
(pen != *wxTRANSPARENT_PEN) )
|
||||||
{
|
{
|
||||||
if (*wxWHITE_PEN == pen)
|
pen.SetColour( pen.GetColour() == *wxWHITE ? *wxBLACK : *wxWHITE );
|
||||||
wxWindowDC::SetPen( *wxBLACK_PEN );
|
|
||||||
else
|
|
||||||
wxWindowDC::SetPen( *wxWHITE_PEN );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
wxWindowDC::SetPen( pen );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxWindowDC::SetPen( pen );
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxMemoryDC::SetBrush( const wxBrush &brush )
|
void wxMemoryDC::SetBrush( const wxBrush& brushOrig )
|
||||||
{
|
{
|
||||||
if (m_selected.Ok() && m_selected.GetBitmap() && (*wxTRANSPARENT_BRUSH != brush))
|
wxBrush brush( brushOrig );
|
||||||
|
if ( m_selected.Ok() &&
|
||||||
|
m_selected.GetBitmap() &&
|
||||||
|
(brush != *wxTRANSPARENT_BRUSH) )
|
||||||
{
|
{
|
||||||
if (*wxWHITE_BRUSH == brush)
|
brush.SetColour( brush.GetColour() == *wxWHITE ? *wxBLACK : *wxWHITE);
|
||||||
wxWindowDC::SetBrush( *wxBLACK_BRUSH );
|
|
||||||
else
|
|
||||||
wxWindowDC::SetBrush( *wxWHITE_BRUSH );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
wxWindowDC::SetBrush( brush );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxWindowDC::SetBrush( brush );
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxMemoryDC::SetTextForeground( const wxColour &col )
|
void wxMemoryDC::SetBackground( const wxBrush& brushOrig )
|
||||||
{
|
{
|
||||||
if (m_selected.Ok() && m_selected.GetBitmap())
|
wxBrush brush(brushOrig);
|
||||||
|
|
||||||
|
if ( m_selected.Ok() &&
|
||||||
|
m_selected.GetBitmap() &&
|
||||||
|
(brush != *wxTRANSPARENT_BRUSH) )
|
||||||
{
|
{
|
||||||
if (col == *wxWHITE)
|
brush.SetColour( brush.GetColour() == *wxWHITE ? *wxBLACK : *wxWHITE );
|
||||||
wxWindowDC::SetTextForeground( *wxBLACK );
|
}
|
||||||
else
|
|
||||||
wxWindowDC::SetTextForeground( *wxWHITE );
|
wxWindowDC::SetBackground( brush );
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxMemoryDC::SetTextForeground( const wxColour& col )
|
||||||
|
{
|
||||||
|
if ( m_selected.Ok() && m_selected.GetBitmap() )
|
||||||
|
{
|
||||||
|
wxWindowDC::SetTextForeground( col == *wxWHITE ? *wxBLACK : *wxWHITE);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -128,10 +135,7 @@ void wxMemoryDC::SetTextBackground( const wxColour &col )
|
|||||||
{
|
{
|
||||||
if (m_selected.Ok() && m_selected.GetBitmap())
|
if (m_selected.Ok() && m_selected.GetBitmap())
|
||||||
{
|
{
|
||||||
if (col == *wxWHITE)
|
wxWindowDC::SetTextBackground( col == *wxWHITE ? *wxBLACK : *wxWHITE );
|
||||||
wxWindowDC::SetTextBackground( *wxBLACK );
|
|
||||||
else
|
|
||||||
wxWindowDC::SetTextBackground( *wxWHITE );
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@@ -79,44 +79,51 @@ void wxMemoryDC::SelectObject( const wxBitmap& bitmap )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxMemoryDC::SetPen( const wxPen &pen )
|
void wxMemoryDC::SetPen( const wxPen& penOrig )
|
||||||
{
|
{
|
||||||
if (m_selected.Ok() && m_selected.GetBitmap() && (*wxTRANSPARENT_PEN != pen))
|
wxPen pen( penOrig );
|
||||||
|
if ( m_selected.Ok() &&
|
||||||
|
m_selected.GetBitmap() &&
|
||||||
|
(pen != *wxTRANSPARENT_PEN) )
|
||||||
{
|
{
|
||||||
if (*wxWHITE_PEN == pen)
|
pen.SetColour( pen.GetColour() == *wxWHITE ? *wxBLACK : *wxWHITE );
|
||||||
wxWindowDC::SetPen( *wxBLACK_PEN );
|
|
||||||
else
|
|
||||||
wxWindowDC::SetPen( *wxWHITE_PEN );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
wxWindowDC::SetPen( pen );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxWindowDC::SetPen( pen );
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxMemoryDC::SetBrush( const wxBrush &brush )
|
void wxMemoryDC::SetBrush( const wxBrush& brushOrig )
|
||||||
{
|
{
|
||||||
if (m_selected.Ok() && m_selected.GetBitmap() && (*wxTRANSPARENT_BRUSH != brush))
|
wxBrush brush( brushOrig );
|
||||||
|
if ( m_selected.Ok() &&
|
||||||
|
m_selected.GetBitmap() &&
|
||||||
|
(brush != *wxTRANSPARENT_BRUSH) )
|
||||||
{
|
{
|
||||||
if (*wxWHITE_BRUSH == brush)
|
brush.SetColour( brush.GetColour() == *wxWHITE ? *wxBLACK : *wxWHITE);
|
||||||
wxWindowDC::SetBrush( *wxBLACK_BRUSH );
|
|
||||||
else
|
|
||||||
wxWindowDC::SetBrush( *wxWHITE_BRUSH );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
wxWindowDC::SetBrush( brush );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxWindowDC::SetBrush( brush );
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxMemoryDC::SetTextForeground( const wxColour &col )
|
void wxMemoryDC::SetBackground( const wxBrush& brushOrig )
|
||||||
{
|
{
|
||||||
if (m_selected.Ok() && m_selected.GetBitmap())
|
wxBrush brush(brushOrig);
|
||||||
|
|
||||||
|
if ( m_selected.Ok() &&
|
||||||
|
m_selected.GetBitmap() &&
|
||||||
|
(brush != *wxTRANSPARENT_BRUSH) )
|
||||||
{
|
{
|
||||||
if (col == *wxWHITE)
|
brush.SetColour( brush.GetColour() == *wxWHITE ? *wxBLACK : *wxWHITE );
|
||||||
wxWindowDC::SetTextForeground( *wxBLACK );
|
}
|
||||||
else
|
|
||||||
wxWindowDC::SetTextForeground( *wxWHITE );
|
wxWindowDC::SetBackground( brush );
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxMemoryDC::SetTextForeground( const wxColour& col )
|
||||||
|
{
|
||||||
|
if ( m_selected.Ok() && m_selected.GetBitmap() )
|
||||||
|
{
|
||||||
|
wxWindowDC::SetTextForeground( col == *wxWHITE ? *wxBLACK : *wxWHITE);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -128,10 +135,7 @@ void wxMemoryDC::SetTextBackground( const wxColour &col )
|
|||||||
{
|
{
|
||||||
if (m_selected.Ok() && m_selected.GetBitmap())
|
if (m_selected.Ok() && m_selected.GetBitmap())
|
||||||
{
|
{
|
||||||
if (col == *wxWHITE)
|
wxWindowDC::SetTextBackground( col == *wxWHITE ? *wxBLACK : *wxWHITE );
|
||||||
wxWindowDC::SetTextBackground( *wxBLACK );
|
|
||||||
else
|
|
||||||
wxWindowDC::SetTextBackground( *wxWHITE );
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user