graphicsdeviceinterface/bitgdi/sbit/FONTBMP.CPP
author Faisal Memon <faisal.memon@nokia.com>
Thu, 06 May 2010 15:31:43 +0100
branchNewGraphicsArchitecture
changeset 49 0ee978e37eb7
parent 0 5d03bc08d59c
child 116 171fae344dd4
permissions -rw-r--r--
Apply patch 3. Many of the fixes in patch 3 are obseleted by updates made to the FCL. So the FCL head is taken in preference. This leaves only the hack in the display channel implementation to do not do a screen rotation on syborg. That solution is a bit hacky, but actually revised in a later patch.

// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
// All rights reserved.
// This component and the accompanying materials are made available
// under the terms of "Eclipse Public License v1.0"
// which accompanies this distribution, and is available
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
//
// Initial Contributors:
// Nokia Corporation - initial contribution.
//
// Contributors:
//
// Description:
//

#include <bitdev.h>
#include "BITPANIC.H"

/**
Construct calls the constructor for the base class CFbsFont and sets default
value of iCopy as EFalse.
*/
EXPORT_C CFbsBitGcFont::CFbsBitGcFont():
	CFbsFont(),
	iCopy(EFalse)
	{}

/**
Default destructor. 
*/
EXPORT_C CFbsBitGcFont::~CFbsBitGcFont()
	{}

/**
On return contains iAddress pointer for the CBitmapFont.
@return CBitmapFont* A pointer to the font
@see CFbsFont::Address();
*/
EXPORT_C CBitmapFont* CFbsBitGcFont::Address() const
	{
	return CFbsFont::Address();
	}

/**
Calls reset on the object (sets iHandle to zero and carries out related 
messenger housekeeping and then duplicates it using the base class method.
@param TInt aHandle Is the integer handler for the font.
@return TInt KErrNone If successful else a system wide error code.
@see CFbsFont::Duplicate(TInt)
*/
EXPORT_C TInt CFbsBitGcFont::Duplicate(TInt aHandle)
	{
	Reset();

	return CFbsFont::Duplicate(aHandle);
	}

/**
Resets the graphics context to its default settings.

The function provides a concrete implementation of the pure virtual
function <code>CGraphicsContext::Reset()</code>. The function
behaviour is the same as documented in that class.
*/
EXPORT_C void CFbsBitGcFont::Reset()
	{
	if (!iCopy)
		CFbsFont::Reset();
	else
		{
		iAddressPointer = NULL;
		iHandle = 0;
		iServerHandle = 0;
		iCopy = EFalse;
		}
	}

/**
Defines the meaning of the equals operator when acting on a CFbsBitGcFont
object. i.e. allows these objects to be set as being equal to one another.
@param CFbsBitGcFont& aFont the font to be copied
*/
EXPORT_C void CFbsBitGcFont::operator=(const CFbsBitGcFont& aFont)
	{
	Reset();
	iAddressPointer = aFont.iAddressPointer;
	iHandle = aFont.iHandle;
	iServerHandle = aFont.iServerHandle;
	iCopy = ETrue;
	}

/**
Gets the bitmap address.
@return The bitmap address.
*/
EXPORT_C CBitwiseBitmap* CFbsBitGcBitmap::Address() const
	{
	return CFbsBitmap::CleanAddress();
	}

/**
Locks the global bitmap heap 
*/
EXPORT_C void CFbsBitGcBitmap::LockHeap() const
	{
	CFbsBitmap::LockHeap();
	}

/**
Unlock the global bitmap heap 
*/
EXPORT_C void CFbsBitGcBitmap::UnlockHeap() const
	{
	CFbsBitmap::UnlockHeap();
	}