X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ea76a6a5ca75f8e623982de97f7f7b2746b5ee50..9d5cfd0e64a2c09d957517405758de680806e674:/src/motif/dcmemory.cpp diff --git a/src/motif/dcmemory.cpp b/src/motif/dcmemory.cpp index 8bf23e219b..79b11e38e6 100644 --- a/src/motif/dcmemory.cpp +++ b/src/motif/dcmemory.cpp @@ -1,6 +1,6 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: dcmemory.cpp -// Purpose: wxMemoryDC class +// Name: src/motif/dcmemory.cpp +// Purpose: wxMemoryDCImpl class // Author: Julian Smart // Modified by: // Created: 01/02/97 @@ -9,16 +9,15 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma implementation "dcmemory.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" -#include "wx/dcmemory.h" -#include "wx/settings.h" -#include "wx/utils.h" +#ifndef WX_PRECOMP + #include "wx/utils.h" + #include "wx/settings.h" + #include "wx/dcmemory.h" + #include "wx/dcclient.h" +#endif #ifdef __VMS__ #pragma message disable nosimpint @@ -29,14 +28,15 @@ #endif #include "wx/motif/private.h" +#include "wx/motif/dcmemory.h" //----------------------------------------------------------------------------- -// wxMemoryDC +// wxMemoryDCImpl //----------------------------------------------------------------------------- -IMPLEMENT_DYNAMIC_CLASS(wxMemoryDC, wxWindowDC) +IMPLEMENT_ABSTRACT_CLASS(wxMemoryDCImpl, wxWindowDCImpl) -wxMemoryDC::wxMemoryDC(void) +void wxMemoryDCImpl::Init() { m_ok = true; m_display = wxGetDisplay(); @@ -53,22 +53,19 @@ wxMemoryDC::wxMemoryDC(void) GCForeground | GCBackground | GCGraphicsExposures | GCLineWidth | GCSubwindowMode, &gcvalues); - m_backgroundPixel = (int) gcvalues.background; + m_backgroundPixel = gcvalues.background; - // Get the current Font so we can set it back later - XGCValues valReturn; - XGetGCValues((Display*) m_display, (GC) m_gc, GCFont, &valReturn); - m_oldFont = (WXFont) valReturn.font; SetBrush (* wxWHITE_BRUSH); SetPen (* wxBLACK_PEN); SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT)); -}; +} -wxMemoryDC::wxMemoryDC( wxDC* dc ) +wxMemoryDCImpl::wxMemoryDCImpl(wxMemoryDC *owner, wxDC* dc) + : wxWindowDCImpl(owner) { m_ok = true; if (dc && dc->IsKindOf(CLASSINFO(wxWindowDC))) - m_display = ((wxWindowDC*)dc)->GetDisplay(); + m_display = ((wxWindowDCImpl *)dc->GetImpl())->GetDisplay(); else m_display = wxGetDisplay(); @@ -84,21 +81,17 @@ wxMemoryDC::wxMemoryDC( wxDC* dc ) GCForeground | GCBackground | GCGraphicsExposures | GCLineWidth | GCSubwindowMode, &gcvalues); - m_backgroundPixel = (int) gcvalues.background; + m_backgroundPixel = gcvalues.background; - // Get the current Font so we can set it back later - XGCValues valReturn; - XGetGCValues((Display*) m_display, (GC) m_gc, GCFont, &valReturn); - m_oldFont = (WXFont) valReturn.font; SetBrush (* wxWHITE_BRUSH); SetPen (* wxBLACK_PEN); -}; +} -wxMemoryDC::~wxMemoryDC(void) +wxMemoryDCImpl::~wxMemoryDCImpl(void) { -}; +} -void wxMemoryDC::SelectObject( const wxBitmap& bitmap ) +void wxMemoryDCImpl::DoSelect( const wxBitmap& bitmap ) { m_bitmap = bitmap; @@ -121,25 +114,20 @@ void wxMemoryDC::SelectObject( const wxBitmap& bitmap ) GCForeground | GCBackground | GCGraphicsExposures | GCLineWidth | GCSubwindowMode, &gcvalues); - m_backgroundPixel = (int) gcvalues.background; + m_backgroundPixel = gcvalues.background; m_ok = true; - // Get the current Font so we can set it back later - XGCValues valReturn; - XGetGCValues((Display*) m_display, (GC) m_gc, GCFont, &valReturn); - m_oldFont = (WXFont) valReturn.font; - SetBrush (* wxWHITE_BRUSH); SetPen (* wxBLACK_PEN); } else { - m_ok = FALSE; + m_ok = false; m_pixmap = (WXPixmap) 0; }; -}; +} -void wxMemoryDC::DoGetSize( int *width, int *height ) const +void wxMemoryDCImpl::DoGetSize( int *width, int *height ) const { if (m_bitmap.Ok()) { @@ -151,6 +139,4 @@ void wxMemoryDC::DoGetSize( int *width, int *height ) const if (width) (*width) = 0; if (height) (*height) = 0; }; -}; - - +}