sl@0: // Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // Header defs for ANIMDLL sl@0: // sl@0: // sl@0: sl@0: #ifndef __AUTODLL_H__ sl@0: #define __AUTODLL_H__ sl@0: sl@0: sl@0: #if !defined(__W32ADLL_H__) sl@0: #include sl@0: #endif sl@0: sl@0: #ifdef SYMBIAN_GRAPHICS_GCE sl@0: _LIT(KAnimDLLName,"autodl_nga.dll"); sl@0: #else sl@0: _LIT(KAnimDLLName,"autodl_nonnga.dll"); sl@0: #endif sl@0: sl@0: const TInt KIpcSlot=1; sl@0: sl@0: struct CTAParams sl@0: { sl@0: TPoint pos; sl@0: TInt interval; sl@0: TInt bit1; sl@0: TInt bit2; sl@0: }; sl@0: sl@0: struct TAnimRawEvent sl@0: { sl@0: //inline TAnimRawEvent(TRawEvent& aRawEvent,TBool aEat) :iRawEvent(aRawEvent), iEat(aEat) {} sl@0: TRawEvent iRawEvent; sl@0: TBool iEat; sl@0: }; sl@0: sl@0: enum AnimDllPanicOpcodes sl@0: { sl@0: EADllPanicCallPanic, sl@0: EADllPanicSetInterval, sl@0: EADllPanicSetNextInterval, sl@0: EADllPanicBadFont, sl@0: EADllPanicBadBitmap, sl@0: EADllPanicLeave, sl@0: EADllPanicDestroy, sl@0: EADllPanicOpcode, sl@0: EADllPanicDoubleActivateGC, sl@0: EADllPanicDrawRectWithNoGc, sl@0: EADllPanicDrawTextWithNoFont, sl@0: EADllPanicLeaveInAnimate, sl@0: EADllPanicLeaveInRedraw, sl@0: EADllPanicSetVisWithGcActive, sl@0: EADllReadRemoteDescriptor, sl@0: EADllSyncTests, sl@0: EADllTimeChangedTest, sl@0: EADllTestWindowSize, sl@0: EADllTestSetVisible, sl@0: EADllPanicSetVisWithGcActiveReply, sl@0: EADllBlankOpCode, sl@0: EADllPanicLeaveInActiveCallback, sl@0: EADllPanicSetClippingRectWithNoGc, sl@0: EADllPanicSetClippingRegionWithNoGc, sl@0: EADllPanicCancelClippingRegionWithNoGc, sl@0: EADllPanicCancelClippingRectWithNoGc, sl@0: EADllPanicSetDrawModeWithNoGc, sl@0: EADllPanicUseFontWithNoGc, sl@0: EADllPanicDiscardFontWithNoGc, sl@0: EADllPanicSetUnderlineStyleWithNoGc, sl@0: EADllPanicSetStrikeThoughStyleWithNoGc, sl@0: EADllPanicSetWordJustificationWithNoGc, sl@0: EADllPanicSetCharJustificationWithNoGc, sl@0: EADllPanicSetPenColorWithNoGc, sl@0: EADllPanicSetPenStyleWithNoGc, sl@0: EADllPanicSetPenSizeWithNoGc, sl@0: EADllPanicSetBrushColorWithNoGc, sl@0: EADllPanicSetBrushStyleWithNoGc, sl@0: EADllPanicSetBrushOriginWithNoGc, sl@0: EADllPanicUseBrushPatterWithNoGc, sl@0: EADllPanicDiscardBrushPatternWithNoGc, sl@0: EADllPanicSetFadedWithNoGc, sl@0: EADllPanicSetFadingParametersWithNoGc, sl@0: EADllPanicDrawArcWithNoGc, sl@0: EADllPanicDrawPieWithNoGc, sl@0: EADllPanicDrawLineWithNoGc, sl@0: EADllPanicDrawLineToWithNoGc, sl@0: EADllPanicDrawLineByWithNoGc, sl@0: EADllPanicDrawEllipseWithNoGc, sl@0: EADllPanicDrawRoundedRecWithNoGc, sl@0: EADllPanicClearWithRectWithNoGc, sl@0: EADllPanicClearWithNoGc, sl@0: EADllPanicBitBltWithNoGc, sl@0: EADllPanicBitBltWithRectWithNoGc, sl@0: EADllPanicBitBltMaskedWithNoGc, sl@0: EADllPanicDrawBitmapPointWithNoGc, sl@0: EADllPanicDrawBitmapWithNoGc, sl@0: EADllPanicDrawBitmapRectWithNoGc, sl@0: EADllPanicDrawBitmapMaskedFbsBitmapWithNoGc, sl@0: EADllPanicDrawBitmapMaskedWsBitmapWithNoGc, sl@0: EADllPanicDrawPolyLinePointsWithNoGc, sl@0: EADllPanicDrawPolyLineArrayWithNoGc, sl@0: EADllPanicDrawPolygonPointsWithNoGc, sl@0: EADllPanicDrawPolygonArrayWithNoGc, sl@0: EADllPanicMoveToWithNoGc, sl@0: EADllPanicMoveByWithNoGc, sl@0: EADllPanicPlotWithNoGc, sl@0: EADllPanicSetOriginWithNoGc, sl@0: EADllPanicCopyRectWithNoGc, sl@0: EADllPanicResetWithNoGc, sl@0: EADllPanicAlphaBlendingBitmapsFbsBitmapWithNoGc, sl@0: EADllPanicMapColorsWithNoGc, sl@0: EADllPanicDrawTextWithRectWithNoFont, sl@0: EADllPanicDrawTextVerticalWithNoFont, sl@0: EADllPanicDrawTextVerticalWithRectWithNoFont, sl@0: EADllPanicDevice, sl@0: EADllPanicInvalidFocusScreenTooBig, sl@0: EADllPanicInvalidFocusScreenNegative, sl@0: }; sl@0: sl@0: enum AnimDllTestOpcodes sl@0: { sl@0: }; sl@0: sl@0: enum AnimDllOpcodes3 sl@0: { sl@0: EADllSetRect, sl@0: EADllStartAnimate, sl@0: EADllCancelAnimate, sl@0: EADllSetVisible, sl@0: EADllSetShadowDrawMode, sl@0: EADllShadowAnimTest, sl@0: EADllDrawTestScreen, sl@0: EADllParameterRectValueTest, sl@0: EADllDoSetSync, sl@0: EADllSetInterval, sl@0: EADllSetMode sl@0: }; sl@0: sl@0: enum AnimDllOpcodesScrBack sl@0: { sl@0: EADllDrawOtherRect, sl@0: EADllIsHidden, sl@0: }; sl@0: sl@0: enum AnimDllOpcodesSprite sl@0: { sl@0: EADllActivate, sl@0: EADllDeactivate, sl@0: EADllCheckMember, sl@0: EADllSizeChanged, sl@0: EADllSetPos, sl@0: EADllDraw1, sl@0: EADllDraw2, sl@0: EADllDraw3, sl@0: EADllIncDraw, sl@0: }; sl@0: sl@0: enum AnimDllOpcodesFreeTimer sl@0: { sl@0: EStartAnimation, sl@0: EStopAnimation, sl@0: ESetFrameTime sl@0: }; sl@0: sl@0: enum AnimDllOpcodesTimer sl@0: { sl@0: EADllNoTimer, sl@0: EADllTimerStarted, sl@0: EADllResetCount, sl@0: EADllCurrentCount, sl@0: EADllFailed, sl@0: }; sl@0: sl@0: enum AnimDllWinFunctions sl@0: { sl@0: EADllScreen, sl@0: EADllFocusScreen, sl@0: EADllWindowGroups, sl@0: EADllWindowGroupInfo, sl@0: EADllWindowGroupName, sl@0: EADllSetOrdinalPosition, sl@0: EADllSetFocusScreen, sl@0: }; sl@0: sl@0: enum AnimDllOpcodesNotificationTest sl@0: { sl@0: EADllQueryDSA, sl@0: EADllQueryHeartbeatState, sl@0: EADllIsAnimating, sl@0: }; sl@0: sl@0: enum AnimDllTransTest sl@0: { sl@0: EADllDrawNow, sl@0: EADllNextFrame, sl@0: EADllStartAnimText, sl@0: EADllEndAnimText, sl@0: EADllSetSync, sl@0: EADllSetFont, sl@0: }; sl@0: sl@0: enum TAnimTypes sl@0: { sl@0: EAnimTypeTest1, sl@0: EAnimTypeTest2, sl@0: EAnimTypeTest3, sl@0: EAnimTypeScrBackTest, sl@0: EAnimTypeSprite, sl@0: EAnimTypeFreeTimer, sl@0: EAnimTypeEventTest, sl@0: EAnimTypeEventPostingTest, sl@0: EAnimTypeTimer, sl@0: EAnimTypeWindowFunctions, sl@0: EAnimTypeNotificationTest, sl@0: EAnimTypeTrans, sl@0: EAnimTypeEventHandler, sl@0: EAnimTypeRemovableAnim, sl@0: /** CWsAnimGc functional coverage */ sl@0: EAnimTypeCoverage, sl@0: EAnimTypeMultiPointer, sl@0: }; sl@0: sl@0: enum {ERemoteBufSize=0x10}; sl@0: enum FlashState{EStateNone,EStateFlash,EStateSecond,EStateMinute}; sl@0: sl@0: enum AnimDllOpcodesEventTestAnimBase sl@0: { sl@0: EADllAddExpectedEvent, sl@0: EADllNumberOfEventsReceived, sl@0: EADllErrorCode, sl@0: EADllReset, sl@0: EADllEventAnimBase_EndBaseEnum, sl@0: }; sl@0: sl@0: enum AnimDllOpcodesEventTestAnim sl@0: { sl@0: EADllNoEventsAndReset=EADllEventAnimBase_EndBaseEnum, sl@0: EADllLoadDeviceDriver, sl@0: EADllUnloadDeviceDriver, sl@0: EADllSendEvent, sl@0: EADllAfterEvent, sl@0: }; sl@0: sl@0: enum AnimDllOpcodesRemovableAnim sl@0: { sl@0: EADllSetEventHandlerLifetime=EADllEventAnimBase_EndBaseEnum, sl@0: EADllEventHandlerLifetime, sl@0: EADllAddToEventHandlers, sl@0: EADllRemoveFromEventHandlers, sl@0: EADllTestPassed, sl@0: }; sl@0: sl@0: enum AnimDllOpcodeMultiPointerAnim sl@0: { sl@0: EADllAddExpectedMultiPtrEvent, sl@0: EADllMultiPtrEventError, sl@0: EADllMultiPtrEventErrorDesc, sl@0: EADllMultiPtrEventReset, sl@0: }; sl@0: sl@0: struct TRemoteBufAddress sl@0: { sl@0: TAny *descPtr; sl@0: }; sl@0: struct TSyncTests sl@0: { sl@0: TRequestStatus *status; sl@0: MAnimGeneralFunctions::TAnimSync syncMode; sl@0: }; sl@0: struct TShadowDrawTest sl@0: { sl@0: TRequestStatus *status; sl@0: }; sl@0: struct TTimeChangeTest sl@0: { sl@0: TRequestStatus *status; sl@0: TRequestStatus *status2; sl@0: }; sl@0: struct TDrawTestScreen sl@0: { sl@0: TInt bitmap; sl@0: TInt maskBitmap; sl@0: TInt font; sl@0: }; sl@0: struct TSpriteMemberInfo sl@0: { sl@0: inline TSpriteMemberInfo() {} sl@0: inline TSpriteMemberInfo(TPoint aSpritePos,TInt aMemberNo,const TSpriteMember& aMember); sl@0: TPoint iSpritePos; sl@0: TInt iMember; sl@0: TInt iBitmapHandle; sl@0: TInt iMaskBitmapHandle; sl@0: TBool iInvertMask; sl@0: CGraphicsContext::TDrawMode iDrawMode; sl@0: TPoint iOffset; sl@0: TTimeIntervalMicroSeconds32 iInterval; sl@0: }; sl@0: inline TSpriteMemberInfo::TSpriteMemberInfo(TPoint aSpritePos,TInt aMemberNo,const TSpriteMember& aMember) sl@0: :iSpritePos(aSpritePos), iMember(aMemberNo), iBitmapHandle(aMember.iBitmap->Handle()), sl@0: iMaskBitmapHandle(aMember.iMaskBitmap ? aMember.iMaskBitmap->Handle():0), iInvertMask(aMember.iInvertMask), sl@0: iDrawMode(aMember.iDrawMode), iOffset(aMember.iOffset), iInterval(aMember.iInterval) sl@0: {} sl@0: struct TWindowGroupInfoParms sl@0: { sl@0: TInt iScreen; sl@0: TInt iOrdinalPosition; sl@0: }; sl@0: struct TSetOrdinalParms sl@0: { sl@0: TInt iIdentifier; sl@0: TInt iOrdinalPosition; sl@0: TInt iOrdinalPriority; sl@0: }; sl@0: struct TFrameData sl@0: { sl@0: TInt sync; sl@0: TInt font; sl@0: TInt bitmap; sl@0: TRgb color; sl@0: TInt draw; sl@0: TInt text; sl@0: TRect rect; sl@0: }; sl@0: sl@0: class RTestAnim : public RAnim sl@0: { sl@0: public: sl@0: RTestAnim(); sl@0: RTestAnim(RAnimDll &aDll); sl@0: inline TInt Construct(const RWindowBase &aWin,TInt aType,const TDesC8 &aParams) {return(RAnim::Construct(aWin,aType,aParams));} sl@0: inline TInt Construct(const RWindowBase &aDevice,const TRect &aRect) {return(RAnim::Construct(aDevice, EAnimTypeScrBackTest,TPtrC8((TUint8 *)&aRect,sizeof(aRect))));} sl@0: inline TInt Construct(const RWsSprite &aSprite,TInt aType,const TDesC8 &aParams) {return(RAnim::Construct(aSprite,aType,aParams));} sl@0: inline TInt CommandReply(TInt aOpcode,const TDesC8& aArgs,const TIpcArgs& aIpcArgs) {return(RAnim::CommandReply(aOpcode,aArgs,aIpcArgs));} sl@0: inline TInt CommandReply(TInt aOpcode,const TPtrC8 &aArgs) {return(RAnim::CommandReply(aOpcode,aArgs));} sl@0: inline TInt CommandReply(TInt aOpcode) {return(RAnim::CommandReply(aOpcode));} sl@0: inline void Command(TInt aOpcode,const TPtrC8 &aArgs) {RAnim::Command(aOpcode,aArgs);} sl@0: inline void Command(TInt aOpcode) {RAnim::Command(aOpcode);} sl@0: inline void ChangeRect(const TRect &aRect) {RAnim::Command(EADllDrawOtherRect,TPtrC8((TUint8 *)&aRect,sizeof(aRect)));} sl@0: }; sl@0: sl@0: #endif