graphicsresourceservices/graphicsresource/inc/sgresource.inl
author andy simpson <andrews@symbian.org>
Fri, 08 Oct 2010 17:18:41 +0100
changeset 198 9f2f0d4d53f3
parent 0 5d03bc08d59c
permissions -rw-r--r--
Bug 3802 : Remove reference to tfxrenderstage as we do not have the source

// Copyright (c) 2007-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:
//

/**
 @file
 @publishedPartner
 @prototype
*/

#ifndef SGRESOURCE_INL
#define SGRESOURCE_INL

/**
@publishedPartner
@prototype
@deprecated

Compares this identifier with another one to check if they are the same.

@param aId The other identifier to compare against.
@pre None.
@post None.
@return ETrue if the two identifiers are the same, EFalse otherwise.
*/
inline TBool TSgDrawableId::operator ==(const TSgDrawableId& aId) const
	{
	return iId[0] == aId.iId[0]
		&& iId[1] == aId.iId[1]
		&& iId[2] == aId.iId[2]
		&& iId[3] == aId.iId[3]
		&& iId[4] == aId.iId[4]
		&& iId[5] == aId.iId[5];
	}


/**
@publishedPartner
@prototype
@deprecated

Compares this identifier with another one to check if they are different.

@param aId The other identifier to compare against.
@pre None.
@post None.
@return ETrue if the two identifiers are different, EFalse otherwise.
*/
inline TBool TSgDrawableId::operator !=(const TSgDrawableId& aId) const
	{
	return !operator ==(aId);
	}


/**
@publishedPartner
@prototype
@deprecated

Retrieves the type of a handle derived from RSgDrawable as a globally unique identifier.
The type is set by the constructor of the handle and does not depend on the run-time
type of the referenced drawable resource.

@pre None.
@post None.
@return The type of the handle as a globally unique identifier.
@see RSgDrawable::DrawableType()
*/
inline TUid RSgDrawable::HandleType() const
	{
	return iHandleType;
	}

/**
@publishedPartner
@prototype
@deprecated

Makes an extension interface available on a drawable resource. The extension interface
is specified by type. The following example demonstrates how to use this function
to get access to an extension interface.

@code
	MExampleExtensionInterface* interface;
	if (drawable.GetInterface(interface) == KErrNone)
		{
@endcode

@param aInterfacePtr On return, a pointer to the specified interface.
@pre The Graphics Resource driver is initialised for use in the context of the
     calling process.
@pre This RSgDrawable handle is valid and not null.
@pre The specified interface is supported on the drawable resource.
@post The specified interface is available until this RSgDrawable handle is closed.
@return KErrNone if successful.
@return KErrBadHandle if this RSgDrawable handle is null.
@return KErrExtensionNotSupported if the specified interface is not supported on
        the drawable resource.
@return KErrNoMemory if there is not enough system memory.
@panic SGRES 2 in debug builds if this RSgDrawable handle is invalid.
@panic SGRES 5 in debug builds if the Graphics Resource driver is not initialised
       for use in the context of the calling process.
@see RSgDrawable::GetInterface<M>(const M*&) const

WARNING: Function for internal use ONLY.  Compatibility is not guaranteed in future releases. 
*/
template<class M>
inline TInt RSgDrawable::GetInterface(M*& aInterfacePtr)
	{
	return GetInterface(TUid::Uid(M::EInterfaceUid), (TAny*&)aInterfacePtr);
	}

/**
@publishedPartner
@prototype
@deprecated

Makes an extension interface available on a drawable resource. The extension interface
is specified by type and returned const-qualified. The following example demonstrates
how to use this function to get access to an extension interface.

@code
	const MExampleExtensionInterface* interface;
	if (drawable.GetInterface(interface) == KErrNone)
		{
@endcode

@param aInterfacePtr On return, a pointer to the specified interface.
@pre The Graphics Resource driver is initialised for use in the context of the
     calling process.
@pre This RSgDrawable handle is valid and not null.
@pre The specified interface is supported on the drawable resource.
@post The specified interface is available until this RSgDrawable handle is closed.
@return KErrNone if successful.
@return KErrBadHandle if this RSgDrawable handle is null.
@return KErrExtensionNotSupported if the specified interface is not supported on
        the drawable resource.
@return KErrNoMemory if there is not enough system memory.
@panic SGRES 2 in debug builds if this RSgDrawable handle is invalid.
@panic SGRES 5 in debug builds if the Graphics Resource driver is not initialised
       for use in the context of the calling process.
@see RSgDrawable::GetInterface<M>(M*&)

WARNING: Function for internal use ONLY.  Compatibility is not guaranteed in future releases. 
*/
template<class M>
inline TInt RSgDrawable::GetInterface(const M*& aInterfacePtr) const
	{
	return GetInterface(TUid::Uid(M::EInterfaceUid), (TAny*&)aInterfacePtr);
	}

#endif // SGRESOURCE_INL