#ifndef WX_PRECOMP
#include "wx/dc.h"
#include "wx/dcmemory.h"
+ #include "wx/log.h"
#endif
#include "wx/fontutil.h"
#include "wx/encinfo.h"
#include "wx/fontmap.h"
#include "wx/mgl/private.h"
-#include "wx/log.h"
#include <string.h>
#include <mgraph.hpp>
{
wxCHECK_RET( Ok(), wxT("invalid dc") );
- if ( palette == wxNullPalette )
+ if ( !palette.Ok() )
{
if ( m_oldPalette.Ok() )
SetPalette(m_oldPalette);
return;
}
- if ( !palette.Ok() ) return;
- if ( m_palette == palette ) return;
+ if ( palette.IsSameAs(m_palette) )
+ return;
+
m_oldPalette = m_palette;
m_palette = palette;
{
wxCHECK_RET( Ok(), wxT("invalid dc") );
- if (!m_backgroundBrush.Ok()) return;
+ if (!brush.Ok()) return;
m_backgroundBrush = brush;
wxColour &clr = m_backgroundBrush.GetColour();
/* scale/translate size and position */
wxCoord xx = XLOG2DEV(xdest);
wxCoord yy = YLOG2DEV(ydest);
- wxCoord ww = XLOG2DEVREL(width);
- wxCoord hh = YLOG2DEVREL(height);
if ( source->m_isMemDC )
{
wxMemoryDC *memDC = (wxMemoryDC*) source;
- DoDrawSubBitmap(memDC->GetSelectedObject(), xsrc, ysrc, ww, hh,
+ DoDrawSubBitmap(memDC->GetSelectedObject(),
+ xsrc, ysrc, width, height,
xdest, ydest, rop, useMask);
}
else
{
+ wxCoord ww = XLOG2DEVREL(width);
+ wxCoord hh = YLOG2DEVREL(height);
+
m_MGLDC->makeCurrent(); // will go away with MGL6.0
m_MGLDC->bitBlt(*source->GetMGLDC(),
xsrc, ysrc, xsrc + ww, ysrc + hh,
// This sequence of operations ensures that the source's transparent
// area need not be black, and logical functions are supported.
- wxBitmap *mask = bmp.GetMask()->GetBitmap();
+ wxBitmap mask = bmp.GetMask()->GetBitmap();
MGLMemoryDC *temp;
DoBitBlt(bmp, temp, x, y, w, h, 0, 0, dw, dh, mglRop,
useStretching, putSection);
- mask->SetMonoPalette(wxColour(0,0,0), wxColour(255,255,255));
- DoBitBlt(*mask, temp, x, y, w, h, 0, 0, dw, dh, MGL_R2_MASKSRC,
+ mask.SetMonoPalette(wxColour(0,0,0), wxColour(255,255,255));
+ DoBitBlt(mask, temp, x, y, w, h, 0, 0, dw, dh, MGL_R2_MASKSRC,
useStretching, putSection);
- DoBitBlt(*mask, m_MGLDC, x, y, w, h, dx, dy, dw, dh, MGL_R2_MASKNOTSRC,
+ DoBitBlt(mask, m_MGLDC, x, y, w, h, dx, dy, dw, dh, MGL_R2_MASKNOTSRC,
useStretching, putSection);
m_MGLDC->bitBlt(*temp, 0, 0, dw, dh, dx, dy, MGL_OR_MODE);