]>
git.saurik.com Git - wxWidgets.git/blob - src/mgl/dcmemory.cpp
   1 ///////////////////////////////////////////////////////////////////////////// 
   2 // Name:        src/mgl/dcmemory.cpp 
   4 // Author:      Robert Roebling, Vaclav Slavik 
   6 // Copyright:   (c) 1998 Robert Roebling, 
   7 //                  2001 SciTech Software, Inc. (www.scitechsoft.com) 
   8 // Licence:     wxWindows licence 
   9 ///////////////////////////////////////////////////////////////////////////// 
  11 // For compilers that support precompilation, includes "wx.h". 
  12 #include "wx/wxprec.h" 
  18 #include "wx/dcmemory.h" 
  21 //----------------------------------------------------------------------------- 
  23 //----------------------------------------------------------------------------- 
  25 IMPLEMENT_DYNAMIC_CLASS(wxMemoryDC
,wxWindowDC
) 
  27 wxMemoryDC::wxMemoryDC() : wxDC() 
  32 wxMemoryDC::wxMemoryDC(wxDC 
*WXUNUSED(dc
)) : wxDC() 
  37 wxMemoryDC::~wxMemoryDC() 
  41 void wxMemoryDC::SelectObject(const wxBitmap
& bitmap
) 
  46         SetMGLDC(m_selected
.CreateTmpDC(), TRUE
); 
  50 void wxMemoryDC::SetPen(const wxPen 
&pen
) 
  52     wxCHECK_RET( Ok(), wxT("invalid dc") ); 
  54     if ( GetDepth() == 1 && *wxTRANSPARENT_PEN 
!= pen 
) 
  56         if ( *wxWHITE_PEN 
== pen 
) 
  57             wxDC::SetPen(*wxBLACK_PEN
); 
  59             wxDC::SetPen(*wxWHITE_PEN
); 
  67 void wxMemoryDC::SetBrush(const wxBrush 
&brush
) 
  69     wxCHECK_RET( Ok(), wxT("invalid dc") ); 
  71     if ( GetDepth() == 1 && *wxTRANSPARENT_BRUSH 
!= brush 
) 
  73         if ( *wxWHITE_BRUSH 
== brush 
) 
  74             wxDC::SetBrush(*wxBLACK_BRUSH
); 
  76             wxDC::SetBrush(*wxWHITE_BRUSH
); 
  80         wxDC::SetBrush(brush
); 
  84 void wxMemoryDC::SetTextForeground(const wxColour 
&col
) 
  86     wxCHECK_RET( Ok(), wxT("invalid dc") ); 
  88     if ( GetDepth() == 1 ) 
  90         if ( col 
== *wxWHITE 
) 
  91             wxDC::SetTextForeground(*wxBLACK
); 
  93             wxDC::SetTextForeground(*wxWHITE
); 
  97         wxDC::SetTextForeground(col
); 
 101 void wxMemoryDC::SetTextBackground(const wxColour 
&col
) 
 103     wxCHECK_RET( Ok(), wxT("invalid dc") ); 
 105     if ( GetDepth() == 1 ) 
 107         if ( col 
== *wxWHITE 
) 
 108             wxDC::SetTextBackground(*wxBLACK
); 
 110             wxDC::SetTextBackground(*wxWHITE
); 
 114         wxDC::SetTextBackground(col
);