graphicsresourceservices/graphicsresourceadaptation/inc/sgimageimpl.inl
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 04 Oct 2010 02:31:51 +0300
changeset 194 18f84489a694
parent 0 5d03bc08d59c
permissions -rw-r--r--
Revision: 201039 Kit: 201039

// 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