--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/windowing/windowserver/test/t_eventchecker/inc/graphicscontextchecker.h Tue Feb 02 01:47:50 2010 +0200
@@ -0,0 +1,144 @@
+// 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:
+//
+
+#ifndef __GRAPHICSCONTEXTCHECKER_H__
+#define __GRAPHICSCONTEXTCHECKER_H__
+
+#include <graphics/wsgraphicscontext.h>
+#include <graphics/wscursor.h>
+#include <graphics/wsgraphicdrawer.h>
+
+class CGraphicsContextChecker : public CBase,
+ public MWsGraphicsContext,
+ public MWsTextCursor,
+ public MWsFader,
+ public MWsDrawAnnotationObserver
+ {
+public:
+ static CGraphicsContextChecker* NewL(MWsGraphicDrawerEnvironment& aEnv);
+ ~CGraphicsContextChecker();
+
+ void SetGraphicsContext(MWsGraphicsContext* aGraphicsContext);
+ const MWsGraphicsContext* GraphicsContext() const;
+ void SetTextCursor(MWsTextCursor* aTextCursor);
+ const MWsTextCursor* TextCursor() const;
+ void SetFader(MWsFader* aFader);
+ const MWsFader* Fader() const;
+
+public: //MWsObjectProvider
+ TAny* ResolveObjectInterface(TUint aTypeId);
+public: //MWsGraphicsContext
+ void BitBlt(const TPoint& aDestPos, const CFbsBitmap& aSourceBitmap);
+ void BitBlt(const TPoint& aDestPos, const CFbsBitmap& aSourceBitmap, const TRect& aSourceRect);
+ void BitBltMasked(const TPoint& aDestPos, const CFbsBitmap& aSourceBitmap, const TRect& aSourceRect, const CFbsBitmap& aMaskBitmap, TBool aInvertMask);
+ void BitBltMasked(const TPoint& aDestPos, const CFbsBitmap& aSourceBitmap, const TRect& aSourceRect, const CFbsBitmap& aMaskBitmap, const TPoint& aMaskPos);
+ void ResetClippingRegion();
+ void Clear();
+ void Clear(const TRect& aRect);
+ void ResetBrushPattern();
+ void ResetFont();
+ void DrawArc(const TRect& aRect, const TPoint& aStart, const TPoint& aEnd);
+ void DrawPie(const TRect& aRect, const TPoint& aStart, const TPoint& aEnd);
+ void DrawBitmap(const TRect& aDestRect, const CFbsBitmap& aSourceBitmap);
+ void DrawBitmap(const TRect& aDestRect, const CFbsBitmap& aSourceBitmap, const TRect& aSourceRect);
+ void DrawBitmapMasked(const TRect& aDestRect, const CFbsBitmap& aSourceBitmap, const TRect& aSourceRect, const CFbsBitmap& aMaskBitmap, TBool aInvertMask);
+ void DrawRoundRect(const TRect& aRect, const TSize& aEllipse);
+ void DrawPolyLine(const TArray<TPoint>& aPointList);
+ void DrawPolyLineNoEndPoint(const TArray<TPoint>& aPointList);
+ void DrawPolygon(const TArray<TPoint>& aPointList, TFillRule aFillRule=EAlternate);
+ void DrawEllipse(const TRect& aRect);
+ void DrawLine(const TPoint& aStart, const TPoint& aEnd);
+ void DrawLineTo(const TPoint& aPoint);
+ void DrawLineBy(const TPoint& aVector);
+ void DrawRect(const TRect& aRect);
+ void DrawText(const TDesC& aText, const TTextParameters* aParam);
+ void DrawText(const TDesC& aText, const TTextParameters* aParam, const TPoint& aPosition);
+ void DrawText(const TDesC& aText, const TTextParameters* aParam, const TRect& aClipRect);
+ void DrawText(const TDesC& aText, const TTextParameters* aParam, const TRect& aClipFillRect, TInt aBaselineOffset, TTextAlign aHrz=ELeft, TInt aMargin=0);
+ void DrawTextVertical(const TDesC& aText, const TTextParameters* aParam, TBool aUp);
+ void DrawTextVertical(const TDesC& aText, const TTextParameters* aParam, const TPoint& aPosition, TBool aUp);
+ void DrawTextVertical(const TDesC& aText, const TTextParameters* aParam, const TRect& aClipRect, TBool aUp);
+ void DrawTextVertical(const TDesC& aText, const TTextParameters* aParam, const TRect& aClipRect, TInt aBaselineOffset, TBool aUp, TTextAlign aVert=ELeft, TInt aMargin=0);
+ void DrawTextVertical(const TDesC& aText,const TTextParameters* aParam, const TRect& aClipRect, TInt aBaselineOffset, TInt aTextWidth, TBool aUp, TTextAlign aVert=ELeft, TInt aMargin=0);
+ void MoveTo(const TPoint& aPoint);
+ void MoveBy(const TPoint& aVector);
+ void Plot(const TPoint& aPoint);
+ void Reset();
+ void SetBrushColor(const TRgb& aColor);
+ void SetBrushOrigin(const TPoint& aOrigin);
+ void SetBrushStyle(TBrushStyle aBrushStyle);
+ void SetClippingRegion(const TRegion& aRegion);
+ void SetDrawMode(TDrawMode aDrawMode);
+ void SetOrigin(const TPoint& aPoint = TPoint(0, 0));
+ void SetPenColor(const TRgb& aColor);
+ void SetPenStyle(TPenStyle aPenStyle);
+ void SetPenSize(const TSize& aSize);
+ void SetTextShadowColor(const TRgb& aColor);
+ void SetCharJustification(TInt aExcessWidth, TInt aNumChars);
+ void SetWordJustification(TInt aExcessWidth, TInt aNumGaps);
+ void SetUnderlineStyle(TFontUnderline aUnderlineStyle);
+ void SetStrikethroughStyle(TFontStrikethrough aStrikethroughStyle);
+ void SetBrushPattern(const CFbsBitmap& aBitmap);
+ void SetBrushPattern(TInt aFbsBitmapHandle);
+ void SetFont(const CFont* aFont);
+ void CopyRect(const TPoint& aOffset, const TRect& aRect);
+ void UpdateJustification(const TDesC& aText, const TTextParameters* aParam);
+ void UpdateJustificationVertical(const TDesC& aText, const TTextParameters* aParam, TBool aUp);
+ void SetFontNoDuplicate(const CFont* aFont);
+ TBool HasBrushPattern() const;
+ TBool HasFont() const;
+ TRgb BrushColor() const;
+ TRgb PenColor() const;
+ TRgb TextShadowColor() const;
+ TInt GetError();
+ TPoint Origin() const;
+ const TRegion& ClippingRegion();
+ TInt Push();
+ void Pop();
+public: //MWsTextCursor
+ void DrawTextCursor(const TTextCursorInfo& aTextCursorInfo);
+public: //MWsFader
+ void SetFadingParameters(const TDesC8& aData);
+ void FadeArea(const TRegion& aRegion);
+public: //MWsDrawAnnotationObserver
+ void WindowRedrawStart(const MWsWindowTreeNode& aWindowTreeNode, const TRegion& aRegion);
+ void WindowRedrawEnd(const MWsWindowTreeNode& aWindowTreeNode);
+ void WindowAnimRedrawStart(const MWsWindowTreeNode& aWindowTreeNode, const TRegion& aRegion);
+ void WindowAnimRedrawEnd(const MWsWindowTreeNode& aWindowTreeNode);
+ void SpriteRedrawStart(const MWsWindowTreeNode& aWindowTreeNode, const TRegion& aRegion);
+ void SpriteRedrawEnd(const MWsWindowTreeNode& aWindowTreeNode);
+ void SpriteFlash(const MWsWindowTreeNode& aWindowTreeNode, TBool aFlashOn);
+ void SegmentRedrawStart(const TRegion& aRegion);
+ void SegmentRedrawEnd();
+
+private:
+ enum TDrawingTarget
+ {
+ ETargetNone,
+ ETargetWindow,
+ ETargetWindowAnim,
+ ETargetWindowSprite,
+ ETargetFloatingSprite,
+ };
+private:
+ CGraphicsContextChecker();
+private:
+ MWsGraphicsContext* iContext;
+ MWsTextCursor* iTextCursor;
+ MWsFader* iFader;
+ TDrawingTarget iTarget;
+ };
+
+#endif //__GRAPHICSCONTEXTCHECKER_H__