X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2b44ffc0e77a8db603b3aba597e4c4df2e2e518f..bb996f289574defb0ae4339ae8e46ff3cf6fa54c:/src/gtk/dcmemory.cpp diff --git a/src/gtk/dcmemory.cpp b/src/gtk/dcmemory.cpp index d77d307dc5..1933d5000b 100644 --- a/src/gtk/dcmemory.cpp +++ b/src/gtk/dcmemory.cpp @@ -10,33 +10,27 @@ // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" -#include "wx/dcmemory.h" #include "wx/gtk/dcmemory.h" -#include #include -#if wxUSE_GRAPHICS_CONTEXT -#include "wx/graphics.h" -#endif - //----------------------------------------------------------------------------- // wxMemoryDCImpl //----------------------------------------------------------------------------- IMPLEMENT_ABSTRACT_CLASS(wxMemoryDCImpl, wxWindowDCImpl) -wxMemoryDCImpl::wxMemoryDCImpl( wxMemoryDC *owner ) +wxMemoryDCImpl::wxMemoryDCImpl( wxMemoryDC *owner ) : wxWindowDCImpl( owner ) -{ - Init(); +{ + Init(); } -wxMemoryDCImpl::wxMemoryDCImpl( wxMemoryDC *owner, wxBitmap& bitmap) +wxMemoryDCImpl::wxMemoryDCImpl( wxMemoryDC *owner, wxBitmap& bitmap) : wxWindowDCImpl( owner ) -{ - Init(); - DoSelect(bitmap); +{ + Init(); + DoSelect(bitmap); } wxMemoryDCImpl::wxMemoryDCImpl( wxMemoryDC *owner, wxDC *WXUNUSED(dc) ) @@ -64,20 +58,12 @@ void wxMemoryDCImpl::Init() m_fontdesc = pango_font_description_copy( pango_context_get_font_description( m_context ) ); } -#if wxUSE_GRAPHICS_CONTEXT -wxGraphicsContext* wxMemoryDCImpl::CreateGraphicsContext() -{ - wxMemoryDC *memdc = (wxMemoryDC*) GetOwner(); - return wxGraphicsRenderer::GetDefaultRenderer()->CreateContext( *memdc ); -} -#endif - void wxMemoryDCImpl::DoSelect( const wxBitmap& bitmap ) { Destroy(); m_selected = bitmap; - if (m_selected.Ok()) + if (m_selected.IsOk()) { m_gdkwindow = m_selected.GetPixmap(); @@ -88,14 +74,14 @@ void wxMemoryDCImpl::DoSelect( const wxBitmap& bitmap ) else { m_ok = false; - m_gdkwindow = (GdkWindow *) NULL; + m_gdkwindow = NULL; } } void wxMemoryDCImpl::SetPen( const wxPen& penOrig ) { wxPen pen( penOrig ); - if ( m_selected.Ok() && + if ( m_selected.IsOk() && m_selected.GetDepth() == 1 && (pen != *wxTRANSPARENT_PEN) ) { @@ -108,7 +94,7 @@ void wxMemoryDCImpl::SetPen( const wxPen& penOrig ) void wxMemoryDCImpl::SetBrush( const wxBrush& brushOrig ) { wxBrush brush( brushOrig ); - if ( m_selected.Ok() && + if ( m_selected.IsOk() && m_selected.GetDepth() == 1 && (brush != *wxTRANSPARENT_BRUSH) ) { @@ -122,7 +108,7 @@ void wxMemoryDCImpl::SetBackground( const wxBrush& brushOrig ) { wxBrush brush(brushOrig); - if ( m_selected.Ok() && + if ( m_selected.IsOk() && m_selected.GetDepth() == 1 && (brush != *wxTRANSPARENT_BRUSH) ) { @@ -134,7 +120,7 @@ void wxMemoryDCImpl::SetBackground( const wxBrush& brushOrig ) void wxMemoryDCImpl::SetTextForeground( const wxColour& col ) { - if ( m_selected.Ok() && m_selected.GetDepth() == 1 ) + if ( m_selected.IsOk() && m_selected.GetDepth() == 1 ) wxWindowDCImpl::SetTextForeground( col == *wxWHITE ? *wxBLACK : *wxWHITE); else wxWindowDCImpl::SetTextForeground( col ); @@ -142,7 +128,7 @@ void wxMemoryDCImpl::SetTextForeground( const wxColour& col ) void wxMemoryDCImpl::SetTextBackground( const wxColour &col ) { - if (m_selected.Ok() && m_selected.GetDepth() == 1) + if (m_selected.IsOk() && m_selected.GetDepth() == 1) wxWindowDCImpl::SetTextBackground( col == *wxWHITE ? *wxBLACK : *wxWHITE ); else wxWindowDCImpl::SetTextBackground( col ); @@ -150,7 +136,7 @@ void wxMemoryDCImpl::SetTextBackground( const wxColour &col ) void wxMemoryDCImpl::DoGetSize( int *width, int *height ) const { - if (m_selected.Ok()) + if (m_selected.IsOk()) { if (width) (*width) = m_selected.GetWidth(); if (height) (*height) = m_selected.GetHeight(); @@ -178,3 +164,8 @@ wxBitmap& wxMemoryDCImpl::GetSelectedBitmap() return m_selected; } +void* wxMemoryDCImpl::GetHandle() const +{ + const wxBitmap& bmp = GetSelectedBitmap(); + return bmp.GetPixmap(); +}