projects
/
wxWidgets.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
copyright and name updates
[wxWidgets.git]
/
src
/
gtk
/
dcmemory.cpp
diff --git
a/src/gtk/dcmemory.cpp
b/src/gtk/dcmemory.cpp
index 46920d7d6dc370361a539bd38773da184e553a3a..a3ac365287797b80972362e05d9bf963a554e360 100644
(file)
--- a/
src/gtk/dcmemory.cpp
+++ b/
src/gtk/dcmemory.cpp
@@
-7,10
+7,13
@@
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#if
def __GNUG__
+#if
defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "dcmemory.h"
#endif
#pragma implementation "dcmemory.h"
#endif
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
#include "wx/dcmemory.h"
#include <gdk/gdk.h>
#include "wx/dcmemory.h"
#include <gdk/gdk.h>
@@
-68,6
+71,10
@@
void wxMemoryDC::SelectObject( const wxBitmap& bitmap )
m_window = m_selected.GetBitmap();
}
m_window = m_selected.GetBitmap();
}
+#ifdef __WXGTK20__
+ m_selected.PurgeOtherRepresentations(wxBitmap::Pixmap);
+#endif
+
m_isMemDC = TRUE;
SetUpDC();
m_isMemDC = TRUE;
SetUpDC();
@@
-79,44
+86,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))
- {
- if (*wxWHITE_PEN == pen)
- wxWindowDC::SetPen( *wxBLACK_PEN );
- else
- wxWindowDC::SetPen( *wxWHITE_PEN );
- }
- else
+ wxPen pen( penOrig );
+ if ( m_selected.Ok() &&
+ m_selected.GetBitmap() &&
+ (pen != *wxTRANSPARENT_PEN) )
{
{
-
wxWindowDC::SetPen( pen
);
+
pen.SetColour( pen.GetColour() == *wxWHITE ? *wxBLACK : *wxWHITE
);
}
}
+
+ 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)
- wxWindowDC::SetBrush( *wxBLACK_BRUSH );
- else
- wxWindowDC::SetBrush( *wxWHITE_BRUSH );
+ brush.SetColour( brush.GetColour() == *wxWHITE ? *wxBLACK : *wxWHITE);
}
}
- else
+
+ wxWindowDC::SetBrush( brush );
+}
+
+void wxMemoryDC::SetBackground( const wxBrush& brushOrig )
+{
+ wxBrush brush(brushOrig);
+
+ if ( m_selected.Ok() &&
+ m_selected.GetBitmap() &&
+ (brush != *wxTRANSPARENT_BRUSH) )
{
{
-
wxWindowDC::SetBrush( brush
);
+
brush.SetColour( brush.GetColour() == *wxWHITE ? *wxBLACK : *wxWHITE
);
}
}
+
+ wxWindowDC::SetBackground( brush );
}
}
-void wxMemoryDC::SetTextForeground( const wxColour
&
col )
+void wxMemoryDC::SetTextForeground( const wxColour
&
col )
{
{
- if (
m_selected.Ok() && m_selected.GetBitmap()
)
+ if (
m_selected.Ok() && m_selected.GetBitmap()
)
{
{
- if (col == *wxWHITE)
- wxWindowDC::SetTextForeground( *wxBLACK );
- else
- wxWindowDC::SetTextForeground( *wxWHITE );
+ wxWindowDC::SetTextForeground( col == *wxWHITE ? *wxBLACK : *wxWHITE);
}
else
{
}
else
{
@@
-128,10
+142,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( *wxBLACK );
- else
- wxWindowDC::SetTextBackground( *wxWHITE );
+ wxWindowDC::SetTextBackground( col == *wxWHITE ? *wxBLACK : *wxWHITE );
}
else
{
}
else
{