diff -r ea65f74e6de4 -r 8e5f6eea9c9f inc/glxthumbnailattributeinfo.inl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/inc/glxthumbnailattributeinfo.inl Tue Aug 31 15:14:51 2010 +0300 @@ -0,0 +1,107 @@ +/* +* 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: Thumbnail Info +* +*/ + + + +#include + +// --------------------------------------------------------------------------- +// GlxFullThumbnailAttributeId +// --------------------------------------------------------------------------- +// +inline TUint GlxFullThumbnailAttributeId(TBool aHighQuality, + TInt aWidth, TInt aHeight) + { + return ((aHighQuality ? 0xA0000000u : 0x80000000u) + | ((aWidth & 0x7FFFu) << 15) | (aHeight & 0x7FFFu)); + } + +// --------------------------------------------------------------------------- +// GlxZoomedThumbnailAttributeId +// --------------------------------------------------------------------------- +// +inline TUint GlxZoomedThumbnailAttributeId(TInt aZoomLevel, + TInt aXIndex, TInt aYIndex) + { + return (((aZoomLevel & 0x7u) << 28) + | ((aXIndex & 0xFFFu) << 12) | (aYIndex & 0xFFFu)); + } + +// --------------------------------------------------------------------------- +// GlxIsFullThumbnailAttribute +// --------------------------------------------------------------------------- +// +inline TBool GlxIsFullThumbnailAttribute(TUint aAttributeId) + { + return (aAttributeId & 0x80000000u); + } + +// --------------------------------------------------------------------------- +// GlxZoomedThumbnailZoomLevel +// --------------------------------------------------------------------------- +// +inline TInt GlxZoomedThumbnailZoomLevel(TUint aAttributeId) + { + return (aAttributeId >> 28) & 0x7u; + } + +// --------------------------------------------------------------------------- +// C++ default constructor can NOT contain any code that might leave. +// --------------------------------------------------------------------------- +// +inline CGlxThumbnailAttribute::CGlxThumbnailAttribute() + { + } + +// --------------------------------------------------------------------------- +// Destructor +// --------------------------------------------------------------------------- +// +inline CGlxThumbnailAttribute::~CGlxThumbnailAttribute() + { + delete iBitmap; + } + +// --------------------------------------------------------------------------- +// ExternalizeL +// --------------------------------------------------------------------------- +// +inline void CGlxThumbnailAttribute::ExternalizeL(RWriteStream& aStream) const + { + aStream.WriteInt32L(iThumbnailQuality); + aStream.WriteInt32L(iCroppingRect.iTl.iX); + aStream.WriteInt32L(iCroppingRect.iTl.iY); + aStream.WriteInt32L(iCroppingRect.iBr.iX); + aStream.WriteInt32L(iCroppingRect.iBr.iY); + aStream.WriteInt32L(iDimensions.iWidth); + aStream.WriteInt32L(iDimensions.iHeight); + } + +// --------------------------------------------------------------------------- +// InternalizeL +// --------------------------------------------------------------------------- +// +void CGlxThumbnailAttribute::InternalizeL(RReadStream& aStream) + { + iThumbnailQuality=aStream.ReadInt32L(); + iCroppingRect.iTl.iX=aStream.ReadInt32L(); + iCroppingRect.iTl.iY=aStream.ReadInt32L(); + iCroppingRect.iBr.iX=aStream.ReadInt32L(); + iCroppingRect.iBr.iY=aStream.ReadInt32L(); + iDimensions.iWidth=aStream.ReadInt32L(); + iDimensions.iHeight=aStream.ReadInt32L(); + }