]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/dcmemory.cpp
Fix crash in wxDC::GetMultiLineTextExtent() after last commit.
[wxWidgets.git] / src / gtk / dcmemory.cpp
index d77d307dc5c3c76da744cbfb1ecd0bc61937dc94..1933d5000b24f5d7e27a26982c5622d2a7906d06 100644 (file)
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
-#include "wx/dcmemory.h"
 #include "wx/gtk/dcmemory.h"
 
-#include <gdk/gdk.h>
 #include <gtk/gtk.h>
 
-#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();
+}