diff -r 000000000000 -r 1fb32624e06b textrendering/textformatting/test/src/TestPicture.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/textrendering/textformatting/test/src/TestPicture.cpp Tue Feb 02 02:02:46 2010 +0200 @@ -0,0 +1,133 @@ +/* +* Copyright (c) 2003-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: +* TestPicture.cpp test picture. +* +*/ + + +#include "TestPicture.h" + +CTestPicture::CTestPicture() + { + iLineBreaksAllowed[0] = ETrue; + iLineBreaksAllowed[1] = ETrue; + iLineBreaksAllowed[2] = ETrue; + iLineBreaksAllowed[3] = ETrue; + iSizeInTwips.iWidth = 100; + iSizeInTwips.iHeight = 100; + } + +//draw a red square +void CTestPicture::Draw(CGraphicsContext& aGc, const TPoint& aTopLeft, + const TRect& aClipRect, MGraphicsDeviceMap* aMap) const + { + aGc.Reset(); + aGc.SetClippingRect(aClipRect); + TSize size; + GetSizeInPixels(aMap,size); + TRect box; + box.iTl=aTopLeft; + box.iBr.iX=aTopLeft.iX+size.iWidth; + box.iBr.iY=aTopLeft.iY+size.iHeight; + TRgb red(255,0,0); + aGc.SetBrushColor(red); + aGc.SetBrushStyle(CGraphicsContext::ESolidBrush); + aGc.DrawRect(box); + } + +/** +Does nothing. +@param aStream No effect. +@internalComponent +*/ +void CTestPicture::ExternalizeL(RWriteStream& /*aStream*/) const + { + } + +/** +Returns size of picture. +@param aSize + Returns size of picture. +@internalComponent +*/ +void CTestPicture::GetOriginalSizeInTwips(TSize& aSize) const + { + aSize = iSizeInTwips; + } + +/** +Returns information supplied by SetLineBreaksAllowed. +@param aClass + Not used. +@param aBeforePicture As CPicture. +@param aHaveSpaces As CPicture. +@return TBool if line breaks are allowed. +@internalComponent +*/ +TBool CTestPicture::LineBreakPossible(TUint /*aClass*/, + TBool aBeforePicture, TBool aHaveSpaces) const + { + TInt index = aBeforePicture? 0 : 2; + index += aHaveSpaces? 1 : 0; + return iLineBreaksAllowed[index]; + } + +/** +Set whether LineBreakPossible should return ETrue. +@param aBeforeWithoutSpaces + Sets the result of LineBreakPossible(*, ETrue, EFalse); +@param aBeforeWithSpaces + Sets the result of LineBreakPossible(*, ETrue, ETrue); +@param aAfterWithoutSpaces + Sets the result of LineBreakPossible(*, EFalse, EFalse); +@param aAfterWithSpaces + Sets the result of LineBreakPossible(*, EFalse, ETrue); +@internalComponent +*/ +void CTestPicture::SetLineBreaksAllowed( + TBool aBeforeWithoutSpaces, + TBool aBeforeWithSpaces, + TBool aAfterWithoutSpaces, + TBool aAfterWithSpaces) + { + iLineBreaksAllowed[0] = aBeforeWithoutSpaces; + iLineBreaksAllowed[1] = aBeforeWithSpaces; + iLineBreaksAllowed[2] = aAfterWithoutSpaces; + iLineBreaksAllowed[3] = aAfterWithSpaces; + } + +/** +Sets the picture size. +@param aSize + The size to set. +@internalComponent +*/ +void CTestPicture::SetSizeInTwips(TSize aSize) + { + iSizeInTwips = aSize; + } + +/** +Sets the picture size so that the graphics device map aMap will convert to +the size specified. +@param aSize The size to set. +@param aMap The graphics device in which aSize should be the size in pixels. +@internalComponent +*/ +void CTestPicture::SetSizeInPixels(TSize aSize, const MGraphicsDeviceMap& aMap) + { + iSizeInTwips.iWidth = aMap.HorizontalTwipsToPixels(aSize.iWidth); + iSizeInTwips.iHeight = aMap.VerticalTwipsToPixels(aSize.iHeight); + }