Files
wxWidgets/src/osx/core/dcmemory.cpp
Dimitri Schoolwerth a1b806b982 Replaced Ok() occurrences with IsOk() throughout trunk.
Additionally renamed wxOSX' private wxNativePrinterDC::Ok() function to IsOk().

Didn't deprecate the various Ok() functions: given the amount of changes already introduced in 3.0 a trivial one like this seems more suitable for after 3.0.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-03 16:29:04 +00:00

115 lines
2.7 KiB
C++

/////////////////////////////////////////////////////////////////////////////
// Name: src/osx/core/dcmemory.cpp
// Purpose: wxMemoryDC class
// Author: Stefan Csomor
// Modified by:
// Created: 01/02/97
// RCS-ID: $Id$
// Copyright: (c) Stefan Csomor
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#include "wx/wxprec.h"
#include "wx/dcmemory.h"
#include "wx/graphics.h"
#include "wx/osx/dcmemory.h"
#include "wx/osx/private.h"
//-----------------------------------------------------------------------------
// wxMemoryDCImpl
//-----------------------------------------------------------------------------
IMPLEMENT_ABSTRACT_CLASS(wxMemoryDCImpl,wxPaintDCImpl)
wxMemoryDCImpl::wxMemoryDCImpl( wxMemoryDC *owner )
: wxPaintDCImpl( owner )
{
Init();
}
wxMemoryDCImpl::wxMemoryDCImpl( wxMemoryDC *owner, wxBitmap& bitmap )
: wxPaintDCImpl( owner )
{
Init();
DoSelect(bitmap);
}
wxMemoryDCImpl::wxMemoryDCImpl( wxMemoryDC *owner, wxDC * WXUNUSED(dc) )
: wxPaintDCImpl( owner )
{
Init();
}
void wxMemoryDCImpl::Init()
{
m_ok = true;
SetBackground(*wxWHITE_BRUSH);
SetBrush(*wxWHITE_BRUSH);
SetPen(*wxBLACK_PEN);
SetFont(*wxNORMAL_FONT);
m_ok = false;
}
wxMemoryDCImpl::~wxMemoryDCImpl()
{
if ( m_selected.IsOk() )
{
m_selected.EndRawAccess() ;
wxDELETE(m_graphicContext);
}
}
void wxMemoryDCImpl::DoSelect( const wxBitmap& bitmap )
{
if ( m_selected.IsOk() )
{
m_selected.EndRawAccess() ;
wxDELETE(m_graphicContext);
}
m_selected = bitmap;
if (m_selected.IsOk())
{
if ( m_selected.GetDepth() != 1 )
m_selected.UseAlpha() ;
m_selected.BeginRawAccess() ;
m_width = bitmap.GetWidth();
m_height = bitmap.GetHeight();
CGColorSpaceRef genericColorSpace = wxMacGetGenericRGBColorSpace();
CGContextRef bmCtx = (CGContextRef) m_selected.GetHBITMAP();
if ( bmCtx )
{
CGContextSetFillColorSpace( bmCtx, genericColorSpace );
CGContextSetStrokeColorSpace( bmCtx, genericColorSpace );
SetGraphicsContext( wxGraphicsContext::CreateFromNative( bmCtx ) );
}
m_ok = (m_graphicContext != NULL) ;
}
else
{
m_ok = false;
}
}
void wxMemoryDCImpl::DoGetSize( int *width, int *height ) const
{
if (m_selected.IsOk())
{
if (width)
(*width) = m_selected.GetWidth();
if (height)
(*height) = m_selected.GetHeight();
}
else
{
if (width)
(*width) = 0;
if (height)
(*height) = 0;
}
}