Converted wxGTK's basic DC classes to new DC code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48910 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -19,9 +19,56 @@
|
||||
// wxMemoryDC
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxMemoryDC,wxWindowDC)
|
||||
#if wxUSE_NEW_DC
|
||||
IMPLEMENT_ABSTRACT_CLASS(wxGTKMemoryImplDC, wxGTKWindowImplDC)
|
||||
#else
|
||||
IMPLEMENT_ABSTRACT_CLASS(wxMemoryDC,wxWindowDC)
|
||||
#endif
|
||||
|
||||
void wxMemoryDC::Init()
|
||||
#if wxUSE_NEW_DC
|
||||
wxGTKMemoryImplDC::wxGTKMemoryImplDC( wxMemoryDC *owner )
|
||||
: wxGTKWindowImplDC( owner )
|
||||
{
|
||||
Init();
|
||||
}
|
||||
|
||||
wxGTKMemoryImplDC::wxGTKMemoryImplDC( wxMemoryDC *owner, wxBitmap& bitmap)
|
||||
: wxGTKWindowImplDC( owner )
|
||||
{
|
||||
Init();
|
||||
owner->SelectObject(bitmap);
|
||||
}
|
||||
|
||||
wxGTKMemoryImplDC::wxGTKMemoryImplDC( wxMemoryDC *owner, wxDC *WXUNUSED(dc) )
|
||||
: wxGTKWindowImplDC( owner )
|
||||
{
|
||||
Init();
|
||||
}
|
||||
#else
|
||||
wxMemoryDC::wxMemoryDC()
|
||||
{
|
||||
Init();
|
||||
}
|
||||
|
||||
wxMemoryDC::wxMemoryDC(wxBitmap& bitmap)
|
||||
{
|
||||
Init();
|
||||
SelectObject(bitmap);
|
||||
}
|
||||
|
||||
wxMemoryDC::wxMemoryDC( wxDC *WXUNUSED(dc) )
|
||||
: wxWindowDC()
|
||||
{
|
||||
Init();
|
||||
}
|
||||
#endif
|
||||
|
||||
wxGTKMemoryImplDC::~wxGTKMemoryImplDC()
|
||||
{
|
||||
g_object_unref(m_context);
|
||||
}
|
||||
|
||||
void wxGTKMemoryImplDC::Init()
|
||||
{
|
||||
m_ok = false;
|
||||
|
||||
@@ -35,18 +82,7 @@ void wxMemoryDC::Init()
|
||||
m_fontdesc = pango_font_description_copy( pango_context_get_font_description( m_context ) );
|
||||
}
|
||||
|
||||
wxMemoryDC::wxMemoryDC( wxDC *WXUNUSED(dc) )
|
||||
: wxWindowDC()
|
||||
{
|
||||
Init();
|
||||
}
|
||||
|
||||
wxMemoryDC::~wxMemoryDC()
|
||||
{
|
||||
g_object_unref(m_context);
|
||||
}
|
||||
|
||||
void wxMemoryDC::DoSelect( const wxBitmap& bitmap )
|
||||
void wxGTKMemoryImplDC::DoSelect( const wxBitmap& bitmap )
|
||||
{
|
||||
Destroy();
|
||||
|
||||
@@ -57,9 +93,7 @@ void wxMemoryDC::DoSelect( const wxBitmap& bitmap )
|
||||
|
||||
m_selected.PurgeOtherRepresentations(wxBitmap::Pixmap);
|
||||
|
||||
m_isMemDC = true;
|
||||
|
||||
SetUpDC();
|
||||
SetUpDC( true );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -68,7 +102,7 @@ void wxMemoryDC::DoSelect( const wxBitmap& bitmap )
|
||||
}
|
||||
}
|
||||
|
||||
void wxMemoryDC::SetPen( const wxPen& penOrig )
|
||||
void wxGTKMemoryImplDC::SetPen( const wxPen& penOrig )
|
||||
{
|
||||
wxPen pen( penOrig );
|
||||
if ( m_selected.Ok() &&
|
||||
@@ -78,10 +112,10 @@ void wxMemoryDC::SetPen( const wxPen& penOrig )
|
||||
pen.SetColour( pen.GetColour() == *wxWHITE ? *wxBLACK : *wxWHITE );
|
||||
}
|
||||
|
||||
wxWindowDC::SetPen( pen );
|
||||
wxGTKWindowImplDC::SetPen( pen );
|
||||
}
|
||||
|
||||
void wxMemoryDC::SetBrush( const wxBrush& brushOrig )
|
||||
void wxGTKMemoryImplDC::SetBrush( const wxBrush& brushOrig )
|
||||
{
|
||||
wxBrush brush( brushOrig );
|
||||
if ( m_selected.Ok() &&
|
||||
@@ -91,10 +125,10 @@ void wxMemoryDC::SetBrush( const wxBrush& brushOrig )
|
||||
brush.SetColour( brush.GetColour() == *wxWHITE ? *wxBLACK : *wxWHITE);
|
||||
}
|
||||
|
||||
wxWindowDC::SetBrush( brush );
|
||||
wxGTKWindowImplDC::SetBrush( brush );
|
||||
}
|
||||
|
||||
void wxMemoryDC::SetBackground( const wxBrush& brushOrig )
|
||||
void wxGTKMemoryImplDC::SetBackground( const wxBrush& brushOrig )
|
||||
{
|
||||
wxBrush brush(brushOrig);
|
||||
|
||||
@@ -105,34 +139,34 @@ void wxMemoryDC::SetBackground( const wxBrush& brushOrig )
|
||||
brush.SetColour( brush.GetColour() == *wxWHITE ? *wxBLACK : *wxWHITE );
|
||||
}
|
||||
|
||||
wxWindowDC::SetBackground( brush );
|
||||
wxGTKWindowImplDC::SetBackground( brush );
|
||||
}
|
||||
|
||||
void wxMemoryDC::SetTextForeground( const wxColour& col )
|
||||
void wxGTKMemoryImplDC::SetTextForeground( const wxColour& col )
|
||||
{
|
||||
if ( m_selected.Ok() && m_selected.GetDepth() == 1 )
|
||||
{
|
||||
wxWindowDC::SetTextForeground( col == *wxWHITE ? *wxBLACK : *wxWHITE);
|
||||
wxGTKWindowImplDC::SetTextForeground( col == *wxWHITE ? *wxBLACK : *wxWHITE);
|
||||
}
|
||||
else
|
||||
{
|
||||
wxWindowDC::SetTextForeground( col );
|
||||
wxGTKWindowImplDC::SetTextForeground( col );
|
||||
}
|
||||
}
|
||||
|
||||
void wxMemoryDC::SetTextBackground( const wxColour &col )
|
||||
void wxGTKMemoryImplDC::SetTextBackground( const wxColour &col )
|
||||
{
|
||||
if (m_selected.Ok() && m_selected.GetDepth() == 1)
|
||||
{
|
||||
wxWindowDC::SetTextBackground( col == *wxWHITE ? *wxBLACK : *wxWHITE );
|
||||
wxGTKWindowImplDC::SetTextBackground( col == *wxWHITE ? *wxBLACK : *wxWHITE );
|
||||
}
|
||||
else
|
||||
{
|
||||
wxWindowDC::SetTextBackground( col );
|
||||
wxGTKWindowImplDC::SetTextBackground( col );
|
||||
}
|
||||
}
|
||||
|
||||
void wxMemoryDC::DoGetSize( int *width, int *height ) const
|
||||
void wxGTKMemoryImplDC::DoGetSize( int *width, int *height ) const
|
||||
{
|
||||
if (m_selected.Ok())
|
||||
{
|
||||
@@ -145,3 +179,20 @@ void wxMemoryDC::DoGetSize( int *width, int *height ) const
|
||||
if (height) (*height) = 0;
|
||||
}
|
||||
}
|
||||
|
||||
wxBitmap wxGTKMemoryImplDC::DoGetAsBitmap(const wxRect *subrect) const
|
||||
{
|
||||
wxBitmap bmp = GetSelectedBitmap();
|
||||
return subrect ? bmp.GetSubBitmap(*subrect) : bmp;
|
||||
}
|
||||
|
||||
const wxBitmap& wxGTKMemoryImplDC::DoGetSelectedBitmap() const
|
||||
{
|
||||
return m_selected;
|
||||
}
|
||||
|
||||
wxBitmap& wxGTKMemoryImplDC::DoGetSelectedBitmap()
|
||||
{
|
||||
return m_selected;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user