--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/uifw/AvKon/src/aknAnimGc.cpp Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,406 @@
+/*
+* Copyright (c) 2002 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: Anim Gc
+*
+*/
+
+// AknAnimGc.CPP
+//
+// Copyright (c) 1997-1999 Symbian Ltd. All rights reserved.
+//
+
+// Animation View Redirection GC
+
+
+#include "aknAnimGc.h"
+
+
+CAknAnimatedGc* CAknAnimatedGc::NewL(CWindowGc& aOldGc, CFbsBitGc& aReGc)
+ {
+ CWsScreenDevice* screen = new(ELeave)CWsScreenDevice();
+ CleanupStack::PushL(screen);
+ CAknAnimatedGc* self = new(ELeave)CAknAnimatedGc(*screen, aReGc, aOldGc);
+ self->SetScreenDevice(screen);
+ CleanupStack::Pop();
+ return self;
+ }
+
+CAknAnimatedGc::CAknAnimatedGc(CWsScreenDevice& aScreen, CFbsBitGc& aReGc, CWindowGc& aOldGc)
+:CWindowGc(&aScreen), iReGc(aReGc), iOldGc(aOldGc)
+ {
+ }
+
+
+CAknAnimatedGc::~CAknAnimatedGc()
+ {
+ // Delete the CWsScreenDevice used by this object
+ delete iScreen;
+ }
+
+void CAknAnimatedGc::SetRootWindow(const RWindowTreeNode& aRootWin)
+ {
+ iRootWin = &aRootWin;
+ }
+
+EXPORT_C void CAknAnimatedGc::Activate(RDrawableWindow& aWindow)
+ {
+ TPoint pos = aWindow.InquireOffset(*iRootWin);
+ iOrigin = pos;
+ }
+
+EXPORT_C void CAknAnimatedGc::Deactivate()
+ {
+ }
+
+EXPORT_C void CAknAnimatedGc::Reset()
+ {
+ iReGc.Reset();
+ }
+
+EXPORT_C CGraphicsDevice* CAknAnimatedGc::Device() const
+ {
+ return iReGc.Device();
+ }
+
+
+EXPORT_C void CAknAnimatedGc::SetOrigin(const TPoint &aPos)
+ {
+ iReGc.SetOrigin(aPos);
+ }
+
+EXPORT_C void CAknAnimatedGc::SetDrawMode(TDrawMode aDrawingMode)
+ {
+ iReGc.SetDrawMode(aDrawingMode);
+ }
+
+EXPORT_C void CAknAnimatedGc::SetClippingRect(const TRect& aRect)
+ {
+ TRect rect(aRect);
+ rect.Move(iOrigin);
+ iReGc.SetClippingRect(rect);
+ }
+
+EXPORT_C void CAknAnimatedGc::CancelClippingRect()
+ {
+ iReGc.CancelClippingRect();
+ }
+
+EXPORT_C void CAknAnimatedGc::SetWordJustification(TInt aExcessWidth,TInt aNumGaps)
+ {
+ iReGc.SetWordJustification(aExcessWidth, aNumGaps);
+ }
+
+EXPORT_C void CAknAnimatedGc::SetCharJustification(TInt aExcessWidth,TInt aNumChars)
+ {
+ iReGc.SetCharJustification(aExcessWidth, aNumChars);
+ }
+
+
+EXPORT_C void CAknAnimatedGc::DrawText(const TDesC &aString,const TPoint &aPosition)
+ {
+ iReGc.DrawText(aString, aPosition+iOrigin);
+ }
+
+EXPORT_C void CAknAnimatedGc::DrawText(const TDesC &aString,const TRect &aBox,TInt aBaselineOffset,TTextAlign aHoriz,TInt aLeftMrg)
+ {
+ TRect box(aBox);
+ box.Move(iOrigin);
+ iReGc.DrawText(aString, box, aBaselineOffset, aHoriz, aLeftMrg);
+ }
+
+
+EXPORT_C void CAknAnimatedGc::Clear()
+ {
+ iReGc.Clear();
+ }
+
+EXPORT_C void CAknAnimatedGc::Clear(const TRect &aRect)
+ {
+ TRect rect(aRect);
+ rect.Move(iOrigin);
+ iReGc.Clear(rect);
+ }
+
+EXPORT_C void CAknAnimatedGc::SetBrushColor(const TRgb &aColor)
+ {
+ iReGc.SetBrushColor(aColor);
+ }
+
+EXPORT_C void CAknAnimatedGc::SetBrushStyle(TBrushStyle aBrushStyle)
+ {
+ iReGc.SetBrushStyle(aBrushStyle);
+ }
+
+
+EXPORT_C void CAknAnimatedGc::SetBrushOrigin(const TPoint &aOrigin)
+ {
+ iReGc.SetBrushOrigin(aOrigin);
+ }
+
+EXPORT_C void CAknAnimatedGc::UseBrushPattern(const CFbsBitmap *aBitmap)
+ {
+ iReGc.UseBrushPattern(aBitmap);
+ }
+
+EXPORT_C void CAknAnimatedGc::DiscardBrushPattern()
+ {
+ iReGc.DiscardBrushPattern();
+ }
+
+
+EXPORT_C void CAknAnimatedGc::SetPenColor(const TRgb &aColor)
+ {
+ iReGc.SetPenColor(aColor);
+ }
+
+EXPORT_C void CAknAnimatedGc::SetPenStyle(TPenStyle aPenStyle)
+ {
+ iReGc.SetPenStyle(aPenStyle);
+ }
+
+EXPORT_C void CAknAnimatedGc::SetPenSize(const TSize& aSize)
+ {
+ iReGc.SetPenSize(aSize);
+ }
+
+
+EXPORT_C void CAknAnimatedGc::SetStrikethroughStyle(TFontStrikethrough aStrikethroughStyle)
+ {
+ iReGc.SetStrikethroughStyle(aStrikethroughStyle);
+ }
+
+EXPORT_C void CAknAnimatedGc::SetUnderlineStyle(TFontUnderline aUnderlineStyle)
+ {
+ iReGc.SetUnderlineStyle(aUnderlineStyle);
+ }
+
+EXPORT_C void CAknAnimatedGc::UseFont(const CFont *aFont)
+ {
+ iReGc.UseFont(aFont);
+ }
+
+EXPORT_C void CAknAnimatedGc::DiscardFont()
+ {
+ iReGc.DiscardFont();
+ }
+
+
+
+EXPORT_C void CAknAnimatedGc::MoveTo(const TPoint &aPoint)
+ {
+ TPoint point = iOrigin + aPoint;
+ iReGc.MoveTo(point);
+ }
+
+EXPORT_C void CAknAnimatedGc::MoveBy(const TPoint &aVector)
+ {
+ iReGc.MoveBy(aVector);
+ }
+
+EXPORT_C void CAknAnimatedGc::Plot(const TPoint &aPoint)
+ {
+ TPoint point = iOrigin + aPoint;
+ iReGc.Plot(point);
+ }
+
+EXPORT_C void CAknAnimatedGc::DrawArc(const TRect &aRect,const TPoint &aStart,const TPoint &aEnd)
+ {
+ TRect rect = aRect;
+ rect.Move(iOrigin);
+ iReGc.DrawArc(rect, aStart+iOrigin, aEnd+iOrigin);
+ }
+
+EXPORT_C void CAknAnimatedGc::DrawLine(const TPoint &aPoint1,const TPoint &aPoint2)
+ {
+ iReGc.DrawLine(aPoint1+iOrigin, aPoint2+iOrigin);
+ }
+
+
+EXPORT_C void CAknAnimatedGc::DrawLineTo(const TPoint &aPoint)
+ {
+ iReGc.DrawLineTo(aPoint+iOrigin);
+ }
+
+EXPORT_C void CAknAnimatedGc::DrawLineBy(const TPoint &aVector)
+ {
+ iReGc.DrawLineBy(aVector);
+ }
+
+EXPORT_C void CAknAnimatedGc::DrawPolyLine(const CArrayFix<TPoint> *aPointList)
+ {
+ iReGc.DrawPolyLine(aPointList);
+ }
+
+EXPORT_C void CAknAnimatedGc::DrawPolyLine(const TPoint* aPointList,TInt aNumPoints)
+ {
+ iReGc.DrawPolyLine(aPointList, aNumPoints);
+ }
+
+
+EXPORT_C void CAknAnimatedGc::DrawPie(const TRect &aRect,const TPoint &aStart,const TPoint &aEnd)
+ {
+ TRect rect = aRect;
+ rect.Move(iOrigin);
+ iReGc.DrawPie(rect, aStart+iOrigin, aEnd+iOrigin);
+ }
+
+EXPORT_C void CAknAnimatedGc::DrawEllipse(const TRect &aRect)
+ {
+ TRect rect = aRect;
+ rect.Move(iOrigin);
+ iReGc.DrawEllipse(rect);
+ }
+
+EXPORT_C void CAknAnimatedGc::DrawRect(const TRect &aRect)
+ {
+ TRect rect(aRect);
+ rect.Move(iOrigin);
+ iReGc.DrawRect(rect);
+ }
+
+EXPORT_C void CAknAnimatedGc::DrawRoundRect(const TRect &aRect,const TSize &aEllipse)
+ {
+ TRect rect(aRect);
+ rect.Move(iOrigin);
+ iReGc.DrawRoundRect(rect, aEllipse);
+ }
+
+EXPORT_C TInt CAknAnimatedGc::DrawPolygon(const CArrayFix<TPoint> *aPointList,TFillRule aFillRule)
+ {
+ return iReGc.DrawPolygon(aPointList,aFillRule);
+ }
+
+EXPORT_C TInt CAknAnimatedGc::DrawPolygon(const TPoint* aPointList,TInt aNumPoints,TFillRule aFillRule)
+ {
+ return iReGc.DrawPolygon(aPointList, aNumPoints, aFillRule);
+ }
+
+
+
+EXPORT_C void CAknAnimatedGc::DrawBitmap(const TPoint &aTopLeft, const CFbsBitmap *aSource)
+ {
+ iReGc.DrawBitmap(iOrigin + aTopLeft, aSource);
+ }
+
+EXPORT_C void CAknAnimatedGc::DrawBitmap(const TRect &aDestRect, const CFbsBitmap *aSource)
+ {
+ TRect rect(aDestRect);
+ rect.Move(iOrigin);
+ iReGc.DrawBitmap(rect, aSource);
+ }
+
+EXPORT_C void CAknAnimatedGc::DrawBitmap(const TRect &aDestRect, const CFbsBitmap *aSource, const TRect &aSourceRect)
+ {
+ TRect rect(aDestRect);
+ rect.Move(iOrigin);
+ iReGc.DrawBitmap(rect, aSource, aSourceRect);
+ }
+
+
+
+EXPORT_C void CAknAnimatedGc::CopyRect(const TPoint &aOffset,const TRect &aRect)
+ {
+ TRect rect(aRect);
+ rect.Move(iOrigin);
+ iReGc.CopyRect(aOffset + iOrigin, rect);
+ }
+
+EXPORT_C void CAknAnimatedGc::MapColors(const TRect& aRect,const TRgb* aColors,TInt aNumPairs,TBool aMapForwards)
+ {
+ TRect rect(aRect);
+ rect.Move(iOrigin);
+ iReGc.MapColors(rect, aColors, aNumPairs, aMapForwards);
+ }
+
+
+
+
+
+EXPORT_C void CAknAnimatedGc::BitBlt(const TPoint &aPos, const CFbsBitmap *aDevice)
+ {
+ iReGc.BitBlt(aPos+iOrigin, aDevice);
+ }
+
+EXPORT_C void CAknAnimatedGc::BitBlt(const TPoint &aPos, const CFbsBitmap *aDevice, const TRect &aRect)
+ {
+ iReGc.BitBlt(aPos+iOrigin, aDevice, aRect);
+ }
+
+EXPORT_C void CAknAnimatedGc::BitBltMasked(const TPoint& aPoint,const CFbsBitmap* aBitmap,const TRect& aSourceRect,const CFbsBitmap* aMaskBitmap,TBool aInvertMask)
+ {
+ iReGc.BitBltMasked(aPoint+iOrigin, aBitmap, aSourceRect, aMaskBitmap, aInvertMask);
+ }
+
+EXPORT_C void CAknAnimatedGc::BitBlt(const TPoint &aPos, const CWsBitmap *aDevice)
+ {
+ iReGc.BitBlt(aPos+iOrigin, aDevice);
+ }
+
+EXPORT_C void CAknAnimatedGc::BitBlt(const TPoint &aPos, const CWsBitmap *aDevice, const TRect &aRect)
+ {
+ iReGc.BitBlt(aPos+iOrigin, aDevice, aRect);
+ }
+
+EXPORT_C void CAknAnimatedGc::BitBltMasked(const TPoint& aPoint,const CWsBitmap *aBitmap,const TRect& aSourceRect,const CWsBitmap *aMaskBitmap,TBool aInvertMask)
+ {
+ iReGc.BitBltMasked(aPoint+iOrigin, aBitmap, aSourceRect, aMaskBitmap, aInvertMask);
+ }
+
+
+EXPORT_C void CAknAnimatedGc::DrawTextVertical(const TDesC& aText,const TPoint& aPosition,TBool aUp)
+ {
+ iReGc.DrawTextVertical(aText, aPosition + iOrigin, aUp);
+ }
+
+EXPORT_C void CAknAnimatedGc::DrawTextVertical(const TDesC& aText,const TRect& aBox,TInt aBaselineOffset,TBool aUp,TTextAlign aVert,TInt aMargin)
+ {
+ TRect box(aBox);
+ box.Move(iOrigin);
+ iReGc.DrawTextVertical(aText, box, aBaselineOffset, aUp, aVert, aMargin);
+ }
+
+EXPORT_C void CAknAnimatedGc::SetDitherOrigin(const TPoint& aPoint)
+ {
+ iReGc.SetDitherOrigin(aPoint + iOrigin);
+ }
+
+EXPORT_C TInt CAknAnimatedGc::SetClippingRegion(const TRegion &aClippingRegion)
+ {
+ RRegion region;
+ region.Copy(aClippingRegion);
+ region.Offset(iOrigin);
+ iReGc.SetClippingRegion(®ion);
+ return KErrNone;
+ }
+
+EXPORT_C void CAknAnimatedGc::CancelClippingRegion()
+ {
+ iReGc.CancelClippingRegion();
+ }
+
+EXPORT_C void CAknAnimatedGc::SetFaded(TBool /*aFaded*/)
+ {
+ }
+
+EXPORT_C void CAknAnimatedGc::SetFadingParameters(TUint8 aBlackMap,TUint8 aWhiteMap)
+ {
+ iReGc.SetFadingParameters(aBlackMap, aWhiteMap);
+ }
+
+void CAknAnimatedGc::SetScreenDevice(const CWsScreenDevice* aScreen)
+ {
+ iScreen = aScreen;
+ }
+
+// End of File