windowing/windowserver/tauto/AUTODLL.H
author Faisal Memon <faisal.memon@nokia.com>
Thu, 06 May 2010 11:31:11 +0100
branchNewGraphicsArchitecture
changeset 47 48b924ae7197
parent 0 5d03bc08d59c
permissions -rw-r--r--
Applied patch 1, to provide a syborg specific minigui oby file. Need to compare this with the "stripped" version currently in the tree. This supplied version applies for Nokia builds, but need to repeat the test for SF builds to see if pruning is needed, or if the file needs to be device-specific.

// Copyright (c) 1995-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:
// Header defs for ANIMDLL
// 
//

#ifndef __AUTODLL_H__
#define __AUTODLL_H__


#if !defined(__W32ADLL_H__)
#include <w32adll.h>
#endif

#ifdef SYMBIAN_GRAPHICS_GCE
_LIT(KAnimDLLName,"autodl_nga.dll");
#else
_LIT(KAnimDLLName,"autodl_nonnga.dll");
#endif

const TInt KIpcSlot=1;

struct CTAParams
	{
	TPoint pos;
	TInt interval;
	TInt bit1;
	TInt bit2;
	};

struct TAnimRawEvent
	{
	//inline TAnimRawEvent(TRawEvent& aRawEvent,TBool aEat) :iRawEvent(aRawEvent), iEat(aEat) {}
	TRawEvent iRawEvent;
	TBool iEat;
	};

enum AnimDllPanicOpcodes
	{
	EADllPanicCallPanic,
	EADllPanicSetInterval,
	EADllPanicSetNextInterval,
	EADllPanicBadFont,
	EADllPanicBadBitmap,
	EADllPanicLeave,
	EADllPanicDestroy,
	EADllPanicOpcode,
	EADllPanicDoubleActivateGC,
	EADllPanicDrawRectWithNoGc,
	EADllPanicDrawTextWithNoFont,
	EADllPanicLeaveInAnimate,
	EADllPanicLeaveInRedraw,
	EADllPanicSetVisWithGcActive,
	EADllReadRemoteDescriptor,
	EADllSyncTests,
	EADllTimeChangedTest,
	EADllTestWindowSize,
	EADllTestSetVisible,
	EADllPanicSetVisWithGcActiveReply,
	EADllBlankOpCode,
	EADllPanicLeaveInActiveCallback,
	EADllPanicSetClippingRectWithNoGc,
	EADllPanicSetClippingRegionWithNoGc,
	EADllPanicCancelClippingRegionWithNoGc,
	EADllPanicCancelClippingRectWithNoGc,
	EADllPanicSetDrawModeWithNoGc,
	EADllPanicUseFontWithNoGc,
	EADllPanicDiscardFontWithNoGc,
	EADllPanicSetUnderlineStyleWithNoGc,
	EADllPanicSetStrikeThoughStyleWithNoGc,
	EADllPanicSetWordJustificationWithNoGc,
	EADllPanicSetCharJustificationWithNoGc,
	EADllPanicSetPenColorWithNoGc,
	EADllPanicSetPenStyleWithNoGc,
	EADllPanicSetPenSizeWithNoGc,
	EADllPanicSetBrushColorWithNoGc,
	EADllPanicSetBrushStyleWithNoGc,
	EADllPanicSetBrushOriginWithNoGc,
	EADllPanicUseBrushPatterWithNoGc,
	EADllPanicDiscardBrushPatternWithNoGc,
	EADllPanicSetFadedWithNoGc,
	EADllPanicSetFadingParametersWithNoGc,
	EADllPanicDrawArcWithNoGc,
	EADllPanicDrawPieWithNoGc,
	EADllPanicDrawLineWithNoGc,
	EADllPanicDrawLineToWithNoGc,
	EADllPanicDrawLineByWithNoGc,
	EADllPanicDrawEllipseWithNoGc,
	EADllPanicDrawRoundedRecWithNoGc,
	EADllPanicClearWithRectWithNoGc,
	EADllPanicClearWithNoGc,
	EADllPanicBitBltWithNoGc,
	EADllPanicBitBltWithRectWithNoGc,
	EADllPanicBitBltMaskedWithNoGc,
	EADllPanicDrawBitmapPointWithNoGc,
	EADllPanicDrawBitmapWithNoGc,
	EADllPanicDrawBitmapRectWithNoGc,
	EADllPanicDrawBitmapMaskedFbsBitmapWithNoGc,
	EADllPanicDrawBitmapMaskedWsBitmapWithNoGc,
	EADllPanicDrawPolyLinePointsWithNoGc,
	EADllPanicDrawPolyLineArrayWithNoGc,
	EADllPanicDrawPolygonPointsWithNoGc,
	EADllPanicDrawPolygonArrayWithNoGc,
	EADllPanicMoveToWithNoGc,
	EADllPanicMoveByWithNoGc,
	EADllPanicPlotWithNoGc,
	EADllPanicSetOriginWithNoGc,
	EADllPanicCopyRectWithNoGc,
	EADllPanicResetWithNoGc,
	EADllPanicAlphaBlendingBitmapsFbsBitmapWithNoGc,
	EADllPanicMapColorsWithNoGc,
	EADllPanicDrawTextWithRectWithNoFont,
	EADllPanicDrawTextVerticalWithNoFont,
	EADllPanicDrawTextVerticalWithRectWithNoFont,
	EADllPanicDevice,
	EADllPanicInvalidFocusScreenTooBig,
	EADllPanicInvalidFocusScreenNegative,
	};

enum AnimDllTestOpcodes
	{
	};

enum AnimDllOpcodes3
	{
	EADllSetRect,
	EADllStartAnimate,
	EADllCancelAnimate,
	EADllSetVisible,
	EADllSetShadowDrawMode,
	EADllShadowAnimTest,
	EADllDrawTestScreen,
	EADllParameterRectValueTest,
	EADllDoSetSync,
	EADllSetInterval,
	EADllSetMode
	};

enum AnimDllOpcodesScrBack
	{
	EADllDrawOtherRect,
	EADllIsHidden,
	};

enum AnimDllOpcodesSprite
	{
	EADllActivate,
	EADllDeactivate,
	EADllCheckMember,
	EADllSizeChanged,
	EADllSetPos,
	EADllDraw1,
	EADllDraw2,
	EADllDraw3,
	EADllIncDraw,
	};

enum AnimDllOpcodesFreeTimer
	{
    EStartAnimation,
    EStopAnimation,
    ESetFrameTime
	};

enum AnimDllOpcodesTimer
	{
	EADllNoTimer,
	EADllTimerStarted,
	EADllResetCount,
	EADllCurrentCount,
	EADllFailed,
	};

enum AnimDllWinFunctions
	{
	EADllScreen,
	EADllFocusScreen,
	EADllWindowGroups,
	EADllWindowGroupInfo,
	EADllWindowGroupName,
	EADllSetOrdinalPosition,
	EADllSetFocusScreen,
	};

enum AnimDllOpcodesNotificationTest
	{
	EADllQueryDSA,
	EADllQueryHeartbeatState,
	EADllIsAnimating,
	};

enum AnimDllTransTest
	{
	EADllDrawNow,
	EADllNextFrame,
	EADllStartAnimText,
	EADllEndAnimText,
	EADllSetSync,
	EADllSetFont,
	};

enum TAnimTypes
	{
	EAnimTypeTest1,
	EAnimTypeTest2,
	EAnimTypeTest3,
	EAnimTypeScrBackTest,
	EAnimTypeSprite,
	EAnimTypeFreeTimer,
	EAnimTypeEventTest,
	EAnimTypeEventPostingTest,
	EAnimTypeTimer,
	EAnimTypeWindowFunctions,
	EAnimTypeNotificationTest,
	EAnimTypeTrans,
	EAnimTypeEventHandler,
	EAnimTypeRemovableAnim,
	/** CWsAnimGc functional coverage */
	EAnimTypeCoverage,
	EAnimTypeMultiPointer,
	};

enum {ERemoteBufSize=0x10};
enum FlashState{EStateNone,EStateFlash,EStateSecond,EStateMinute};

enum AnimDllOpcodesEventTestAnimBase
	{
	EADllAddExpectedEvent,
	EADllNumberOfEventsReceived,
	EADllErrorCode,
	EADllReset,
	EADllEventAnimBase_EndBaseEnum,
	};

enum AnimDllOpcodesEventTestAnim
	{
	EADllNoEventsAndReset=EADllEventAnimBase_EndBaseEnum,
	EADllLoadDeviceDriver,
	EADllUnloadDeviceDriver,
	EADllSendEvent,
	EADllAfterEvent,
	};

enum AnimDllOpcodesRemovableAnim
	{
	EADllSetEventHandlerLifetime=EADllEventAnimBase_EndBaseEnum,
	EADllEventHandlerLifetime,
	EADllAddToEventHandlers,
	EADllRemoveFromEventHandlers,
	EADllTestPassed,
	};

enum AnimDllOpcodeMultiPointerAnim
	{
	EADllAddExpectedMultiPtrEvent,
	EADllMultiPtrEventError,
	EADllMultiPtrEventErrorDesc,
	EADllMultiPtrEventReset,
	};

struct TRemoteBufAddress
	{
	TAny *descPtr;
	};
struct TSyncTests
	{
	TRequestStatus *status;
	MAnimGeneralFunctions::TAnimSync syncMode;
	};
struct TShadowDrawTest
	{
	TRequestStatus *status;
	};
struct TTimeChangeTest
	{
	TRequestStatus *status;
	TRequestStatus *status2;
	};
struct TDrawTestScreen
	{
	TInt bitmap;
	TInt maskBitmap;
	TInt font;
	};
struct TSpriteMemberInfo
	{
	inline TSpriteMemberInfo() {}
	inline TSpriteMemberInfo(TPoint aSpritePos,TInt aMemberNo,const TSpriteMember& aMember);
	TPoint iSpritePos;
	TInt iMember;
	TInt iBitmapHandle;
	TInt iMaskBitmapHandle;
	TBool iInvertMask;
	CGraphicsContext::TDrawMode iDrawMode;
	TPoint iOffset;
	TTimeIntervalMicroSeconds32 iInterval;
	};
inline TSpriteMemberInfo::TSpriteMemberInfo(TPoint aSpritePos,TInt aMemberNo,const TSpriteMember& aMember)
	:iSpritePos(aSpritePos), iMember(aMemberNo), iBitmapHandle(aMember.iBitmap->Handle()),
	 iMaskBitmapHandle(aMember.iMaskBitmap ? aMember.iMaskBitmap->Handle():0), iInvertMask(aMember.iInvertMask),
	 iDrawMode(aMember.iDrawMode), iOffset(aMember.iOffset), iInterval(aMember.iInterval)
	{}
struct TWindowGroupInfoParms
	{
	TInt iScreen;
	TInt iOrdinalPosition;
	};
struct TSetOrdinalParms
	{
	TInt iIdentifier;
	TInt iOrdinalPosition;
	TInt iOrdinalPriority;
	};
struct TFrameData
	{
	TInt sync;
	TInt font;
	TInt bitmap;
	TRgb color;
	TInt draw;
	TInt text;
	TRect rect;
	};

class RTestAnim : public RAnim
	{
public:
	RTestAnim();
	RTestAnim(RAnimDll &aDll);
 	inline TInt Construct(const RWindowBase &aWin,TInt aType,const TDesC8 &aParams) {return(RAnim::Construct(aWin,aType,aParams));}
 	inline TInt Construct(const RWindowBase &aDevice,const TRect &aRect) {return(RAnim::Construct(aDevice, EAnimTypeScrBackTest,TPtrC8((TUint8 *)&aRect,sizeof(aRect))));}
 	inline TInt Construct(const RWsSprite &aSprite,TInt aType,const TDesC8 &aParams) {return(RAnim::Construct(aSprite,aType,aParams));}
 	inline TInt CommandReply(TInt aOpcode,const TDesC8& aArgs,const TIpcArgs& aIpcArgs)  {return(RAnim::CommandReply(aOpcode,aArgs,aIpcArgs));}
 	inline TInt CommandReply(TInt aOpcode,const TPtrC8 &aArgs) {return(RAnim::CommandReply(aOpcode,aArgs));}
 	inline TInt CommandReply(TInt aOpcode) {return(RAnim::CommandReply(aOpcode));}
 	inline void Command(TInt aOpcode,const TPtrC8 &aArgs) {RAnim::Command(aOpcode,aArgs);}
 	inline void Command(TInt aOpcode) {RAnim::Command(aOpcode);}
 	inline void ChangeRect(const TRect &aRect) {RAnim::Command(EADllDrawOtherRect,TPtrC8((TUint8 *)&aRect,sizeof(aRect)));}
	};

#endif