graphicsresourceservices/graphicsresourceadaptation/inc/sgimageimpl.inl
author jakl.martin@cell-telecom.com
Mon, 06 Dec 2010 18:07:30 +0100
branchNewGraphicsArchitecture
changeset 218 99b3451c560e
parent 0 5d03bc08d59c
permissions -rw-r--r--
Fix for Bug 3890

// Copyright (c) 2008-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
 @internalComponent
*/

#ifndef SGIMAGEIMPL_INL
#define SGIMAGEIMPL_INL


// XSgImageImplBase

inline XSgImageImplBase::XSgImageImplBase(XSgDriverImpl& aDriverImpl)
	: XSgBase(aDriverImpl)
	{}


inline XSgImageImplBase::XSgImageImplBase(XSgDriverImpl& aDriverImpl, const TSgDrawableId& aId)
	: XSgBase(aDriverImpl), iId(aId)
	{}


inline const TSgImageMetaData& XSgImageImplBase::MetaData() const
	{
	return iState->MetaData();
	}


// XSgImageStateBase

inline XSgImageStateBase::XSgImageStateBase(XSgDriverImpl& aDriverImpl)
	: XSgBase(aDriverImpl)
	{}


inline XSgImageStateBase::XSgImageStateBase(XSgDriverImpl& aDriverImpl, TInt aDataStride)
	: XSgBase(aDriverImpl), iDataStride(aDataStride)
	{}


inline TInt XSgImageStateBase::DataStride() const
	{
	return iDataStride;
	}


#ifndef SYMBIAN_GRAPHICS_USE_GPU

// TSgImageId_SwLocal

inline TBool TSgImageId_SwLocal::IsMatch(const TSgDrawableId& aId)
	{
	return reinterpret_cast<const TSgImageId_SwLocal&>(aId).iMinusOne == KErrNotFound;
	}


// XSgImageImpl_SwLocal

inline XSgImageImpl_SwLocal::XSgImageImpl_SwLocal(XSgDriverImpl& aDriverImpl, const TSgDrawableId& aId)
	: XSgImageImplBase(aDriverImpl, aId)
	{}


inline XSgImageImpl_SwLocal::XSgImageImpl_SwLocal(const XSgImageImpl_SwLocal& aImage, TUint32 aFlags)
	: XSgImageImplBase(aImage, aFlags)
	{}

#endif


// TSgImageId_SurfaceManager

inline TBool TSgImageId_SurfaceManager::IsMatch(const TSgDrawableId& aId)
	{
	return reinterpret_cast<const TSgImageId_SurfaceManager&>(aId).iBufferIndex >= 0
	       && reinterpret_cast<const TSgImageId_SurfaceManager&>(aId).iMetaDataIndex >= 0;
	}


// XSgImageImpl_SurfaceManager

inline XSgImageImpl_SurfaceManager::XSgImageImpl_SurfaceManager(XSgDriverImpl& aDriverImpl)
	: XSgImageImplBase(aDriverImpl)
	{}


inline XSgImageImpl_SurfaceManager::XSgImageImpl_SurfaceManager(XSgDriverImpl& aDriverImpl, const TSgDrawableId& aId)
	: XSgImageImplBase(aDriverImpl, aId)
	{}


inline XSgImageImpl_SurfaceManager::XSgImageImpl_SurfaceManager(const XSgImageImpl_SurfaceManager& aImage, TUint32 aFlags)
	: XSgImageImplBase(aImage, aFlags)
	{}


// XSgImageState_SurfaceManager

inline XSgImageState_SurfaceManager::XSgImageState_SurfaceManager(XSgDriverImpl& aDriverImpl)
	: XSgImageStateBase(aDriverImpl)
	{}


inline const TSurfaceId& XSgImageState_SurfaceManager::SurfaceId() const
	{
	return iSurfaceId;
	}


inline const RChunk& XSgImageState_SurfaceManager::DataChunk() const
	{
	return iDataChunk;
	}


inline TInt XSgImageState_SurfaceManager::DataOffset() const
	{
	return iDataOffset;
	}


#endif // SGIMAGEIMPL_INL