// Created: 2003/03/16
// RCS-ID: $Id$
// Copyright: (c) 2002 David Elliott
-// Licence: wxWidgets licence
+// Licence: wxWidgets licence
/////////////////////////////////////////////////////////////////////////////
#include "wx/wxprec.h"
+
#ifndef WX_PRECOMP
#include "wx/log.h"
#include "wx/dcmemory.h"
IMPLEMENT_DYNAMIC_CLASS(wxMemoryDC,wxDC)
-wxMemoryDC::wxMemoryDC(void)
+void wxMemoryDC::Init()
{
m_cocoaNSImage = NULL;
m_ok = false;
wxMemoryDC::wxMemoryDC( wxDC *WXUNUSED(dc) )
{
- m_cocoaNSImage = NULL;
- m_ok = false;
+ Init();
}
wxMemoryDC::~wxMemoryDC(void)
{
[m_cocoaNSImage lockFocus];
sm_cocoaDCStack.Insert(this);
- m_cocoaWxToBoundsTransform = CocoaGetWxToBoundsTransform([m_cocoaNSImage isFlipped], [m_cocoaNSImage size].height);
+ NSAffineTransform *newTransform = CocoaGetWxToBoundsTransform([m_cocoaNSImage isFlipped], [m_cocoaNSImage size].height);
+ [newTransform retain];
+ [m_cocoaWxToBoundsTransform release];
+ m_cocoaWxToBoundsTransform = newTransform;
CocoaApplyTransformations();
return true;
}
// NOTE: The AppKit is unable to draw onto an NSBitmapImageRep so we must
// instead copy the data to an offscreen window, then copy it back
-void wxMemoryDC::SelectObject( const wxBitmap& bitmap )
+void wxMemoryDC::DoSelect( const wxBitmap& bitmap )
{
wxAutoNSAutoreleasePool pool;
if(m_selectedBitmap.Ok())
operation: NSCompositeCopy
fraction: 1.0];
[m_cocoaNSImage unlockFocus];
-
+
[nsimage release];
}
}
width, height)
operation: NSCompositeCopy // FIXME: raster ops
fraction: 1.0];
-
+
[context restoreGraphicsState];
return false;
}