X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/96be256b3e1802de10f45953c41ed33bce399b54..2f36b4d22beeb7f4f0cedf922c0c26d037f54477:/src/motif/dcmemory.cpp diff --git a/src/motif/dcmemory.cpp b/src/motif/dcmemory.cpp index 98cd0efd3e..5c27de3022 100644 --- a/src/motif/dcmemory.cpp +++ b/src/motif/dcmemory.cpp @@ -1,24 +1,22 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: dcmemory.cpp -// Purpose: wxMemoryDC class +// Name: src/motif/dcmemory.cpp +// Purpose: wxMemoryDCImpl class // Author: Julian Smart // Modified by: // Created: 01/02/97 -// RCS-ID: $Id$ // Copyright: (c) Julian Smart // 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 +27,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 +52,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 +80,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; @@ -106,7 +98,7 @@ void wxMemoryDC::SelectObject( const wxBitmap& bitmap ) XFreeGC((Display*) m_display, (GC) m_gc); m_gc = (WXGC) NULL; - if (m_bitmap.Ok() && (bitmap.GetDisplay() == m_display)) + if (m_bitmap.IsOk() && (bitmap.GetDisplay() == m_display)) { m_pixmap = m_bitmap.GetDrawable(); Display* display = (Display*) m_display; @@ -121,14 +113,9 @@ 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); } @@ -137,11 +124,11 @@ void wxMemoryDC::SelectObject( const wxBitmap& bitmap ) 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()) + if (m_bitmap.IsOk()) { if (width) (*width) = m_bitmap.GetWidth(); if (height) (*height) = m_bitmap.GetHeight(); @@ -151,6 +138,4 @@ void wxMemoryDC::DoGetSize( int *width, int *height ) const if (width) (*width) = 0; if (height) (*height) = 0; }; -}; - - +}