windowing/windowserver/test/tauto/AUTODLL.H
changeset 110 7f25ef56562d
equal deleted inserted replaced
98:bf7481649c98 110:7f25ef56562d
       
     1 // Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 // Header defs for ANIMDLL
       
    15 // 
       
    16 //
       
    17 
       
    18 #ifndef __AUTODLL_H__
       
    19 #define __AUTODLL_H__
       
    20 
       
    21 
       
    22 #if !defined(__W32ADLL_H__)
       
    23 #include <w32adll.h>
       
    24 #endif
       
    25 
       
    26 #ifdef SYMBIAN_GRAPHICS_GCE
       
    27 _LIT(KAnimDLLName,"autodl_nga.dll");
       
    28 #else
       
    29 _LIT(KAnimDLLName,"autodl_nonnga.dll");
       
    30 #endif
       
    31 
       
    32 const TInt KIpcSlot=1;
       
    33 
       
    34 struct CTAParams
       
    35 	{
       
    36 	TPoint pos;
       
    37 	TInt interval;
       
    38 	TInt bit1;
       
    39 	TInt bit2;
       
    40 	};
       
    41 
       
    42 struct TAnimRawEvent
       
    43 	{
       
    44 	//inline TAnimRawEvent(TRawEvent& aRawEvent,TBool aEat) :iRawEvent(aRawEvent), iEat(aEat) {}
       
    45 	TRawEvent iRawEvent;
       
    46 	TBool iEat;
       
    47 	};
       
    48 
       
    49 enum AnimDllPanicOpcodes
       
    50 	{
       
    51 	EADllPanicCallPanic,
       
    52 	EADllPanicSetInterval,
       
    53 	EADllPanicSetNextInterval,
       
    54 	EADllPanicBadFont,
       
    55 	EADllPanicBadBitmap,
       
    56 	EADllPanicLeave,
       
    57 	EADllPanicDestroy,
       
    58 	EADllPanicOpcode,
       
    59 	EADllPanicDoubleActivateGC,
       
    60 	EADllPanicDrawRectWithNoGc,
       
    61 	EADllPanicDrawTextWithNoFont,
       
    62 	EADllPanicLeaveInAnimate,
       
    63 	EADllPanicLeaveInRedraw,
       
    64 	EADllPanicSetVisWithGcActive,
       
    65 	EADllReadRemoteDescriptor,
       
    66 	EADllSyncTests,
       
    67 	EADllTimeChangedTest,
       
    68 	EADllTestWindowSize,
       
    69 	EADllTestSetVisible,
       
    70 	EADllPanicSetVisWithGcActiveReply,
       
    71 	EADllBlankOpCode,
       
    72 	EADllPanicLeaveInActiveCallback,
       
    73 	EADllPanicSetClippingRectWithNoGc,
       
    74 	EADllPanicSetClippingRegionWithNoGc,
       
    75 	EADllPanicCancelClippingRegionWithNoGc,
       
    76 	EADllPanicCancelClippingRectWithNoGc,
       
    77 	EADllPanicSetDrawModeWithNoGc,
       
    78 	EADllPanicUseFontWithNoGc,
       
    79 	EADllPanicDiscardFontWithNoGc,
       
    80 	EADllPanicSetUnderlineStyleWithNoGc,
       
    81 	EADllPanicSetStrikeThoughStyleWithNoGc,
       
    82 	EADllPanicSetWordJustificationWithNoGc,
       
    83 	EADllPanicSetCharJustificationWithNoGc,
       
    84 	EADllPanicSetPenColorWithNoGc,
       
    85 	EADllPanicSetPenStyleWithNoGc,
       
    86 	EADllPanicSetPenSizeWithNoGc,
       
    87 	EADllPanicSetBrushColorWithNoGc,
       
    88 	EADllPanicSetBrushStyleWithNoGc,
       
    89 	EADllPanicSetBrushOriginWithNoGc,
       
    90 	EADllPanicUseBrushPatterWithNoGc,
       
    91 	EADllPanicDiscardBrushPatternWithNoGc,
       
    92 	EADllPanicSetFadedWithNoGc,
       
    93 	EADllPanicSetFadingParametersWithNoGc,
       
    94 	EADllPanicDrawArcWithNoGc,
       
    95 	EADllPanicDrawPieWithNoGc,
       
    96 	EADllPanicDrawLineWithNoGc,
       
    97 	EADllPanicDrawLineToWithNoGc,
       
    98 	EADllPanicDrawLineByWithNoGc,
       
    99 	EADllPanicDrawEllipseWithNoGc,
       
   100 	EADllPanicDrawRoundedRecWithNoGc,
       
   101 	EADllPanicClearWithRectWithNoGc,
       
   102 	EADllPanicClearWithNoGc,
       
   103 	EADllPanicBitBltWithNoGc,
       
   104 	EADllPanicBitBltWithRectWithNoGc,
       
   105 	EADllPanicBitBltMaskedWithNoGc,
       
   106 	EADllPanicDrawBitmapPointWithNoGc,
       
   107 	EADllPanicDrawBitmapWithNoGc,
       
   108 	EADllPanicDrawBitmapRectWithNoGc,
       
   109 	EADllPanicDrawBitmapMaskedFbsBitmapWithNoGc,
       
   110 	EADllPanicDrawBitmapMaskedWsBitmapWithNoGc,
       
   111 	EADllPanicDrawPolyLinePointsWithNoGc,
       
   112 	EADllPanicDrawPolyLineArrayWithNoGc,
       
   113 	EADllPanicDrawPolygonPointsWithNoGc,
       
   114 	EADllPanicDrawPolygonArrayWithNoGc,
       
   115 	EADllPanicMoveToWithNoGc,
       
   116 	EADllPanicMoveByWithNoGc,
       
   117 	EADllPanicPlotWithNoGc,
       
   118 	EADllPanicSetOriginWithNoGc,
       
   119 	EADllPanicCopyRectWithNoGc,
       
   120 	EADllPanicResetWithNoGc,
       
   121 	EADllPanicAlphaBlendingBitmapsFbsBitmapWithNoGc,
       
   122 	EADllPanicMapColorsWithNoGc,
       
   123 	EADllPanicDrawTextWithRectWithNoFont,
       
   124 	EADllPanicDrawTextVerticalWithNoFont,
       
   125 	EADllPanicDrawTextVerticalWithRectWithNoFont,
       
   126 	EADllPanicDevice,
       
   127 	EADllPanicInvalidFocusScreenTooBig,
       
   128 	EADllPanicInvalidFocusScreenNegative,
       
   129 	};
       
   130 
       
   131 enum AnimDllTestOpcodes
       
   132 	{
       
   133 	};
       
   134 
       
   135 enum AnimDllOpcodes3
       
   136 	{
       
   137 	EADllSetRect,
       
   138 	EADllStartAnimate,
       
   139 	EADllCancelAnimate,
       
   140 	EADllSetVisible,
       
   141 	EADllSetShadowDrawMode,
       
   142 	EADllShadowAnimTest,
       
   143 	EADllDrawTestScreen,
       
   144 	EADllParameterRectValueTest,
       
   145 	EADllDoSetSync,
       
   146 	EADllSetInterval,
       
   147 	EADllSetMode
       
   148 	};
       
   149 
       
   150 enum AnimDllOpcodesScrBack
       
   151 	{
       
   152 	EADllDrawOtherRect,
       
   153 	EADllIsHidden,
       
   154 	};
       
   155 
       
   156 enum AnimDllOpcodesSprite
       
   157 	{
       
   158 	EADllActivate,
       
   159 	EADllDeactivate,
       
   160 	EADllCheckMember,
       
   161 	EADllSizeChanged,
       
   162 	EADllSetPos,
       
   163 	EADllDraw1,
       
   164 	EADllDraw2,
       
   165 	EADllDraw3,
       
   166 	EADllIncDraw,
       
   167 	};
       
   168 
       
   169 enum AnimDllOpcodesFreeTimer
       
   170 	{
       
   171     EStartAnimation,
       
   172     EStopAnimation,
       
   173     ESetFrameTime
       
   174 	};
       
   175 
       
   176 enum AnimDllOpcodesTimer
       
   177 	{
       
   178 	EADllNoTimer,
       
   179 	EADllTimerStarted,
       
   180 	EADllResetCount,
       
   181 	EADllCurrentCount,
       
   182 	EADllFailed,
       
   183 	};
       
   184 
       
   185 enum AnimDllWinFunctions
       
   186 	{
       
   187 	EADllScreen,
       
   188 	EADllFocusScreen,
       
   189 	EADllWindowGroups,
       
   190 	EADllWindowGroupInfo,
       
   191 	EADllWindowGroupName,
       
   192 	EADllSetOrdinalPosition,
       
   193 	EADllSetFocusScreen,
       
   194 	};
       
   195 
       
   196 enum AnimDllOpcodesNotificationTest
       
   197 	{
       
   198 	EADllQueryDSA,
       
   199 	EADllQueryHeartbeatState,
       
   200 	EADllIsAnimating,
       
   201 	};
       
   202 
       
   203 enum AnimDllTransTest
       
   204 	{
       
   205 	EADllDrawNow,
       
   206 	EADllNextFrame,
       
   207 	EADllStartAnimText,
       
   208 	EADllEndAnimText,
       
   209 	EADllSetSync,
       
   210 	EADllSetFont,
       
   211 	};
       
   212 
       
   213 enum TAnimTypes
       
   214 	{
       
   215 	EAnimTypeTest1,
       
   216 	EAnimTypeTest2,
       
   217 	EAnimTypeTest3,
       
   218 	EAnimTypeScrBackTest,
       
   219 	EAnimTypeSprite,
       
   220 	EAnimTypeFreeTimer,
       
   221 	EAnimTypeEventTest,
       
   222 	EAnimTypeEventPostingTest,
       
   223 	EAnimTypeTimer,
       
   224 	EAnimTypeWindowFunctions,
       
   225 	EAnimTypeNotificationTest,
       
   226 	EAnimTypeTrans,
       
   227 	EAnimTypeEventHandler,
       
   228 	EAnimTypeRemovableAnim,
       
   229 	/** CWsAnimGc functional coverage */
       
   230 	EAnimTypeCoverage,
       
   231 	EAnimTypeMultiPointer,
       
   232 	};
       
   233 
       
   234 enum {ERemoteBufSize=0x10};
       
   235 enum FlashState{EStateNone,EStateFlash,EStateSecond,EStateMinute};
       
   236 
       
   237 enum AnimDllOpcodesEventTestAnimBase
       
   238 	{
       
   239 	EADllAddExpectedEvent,
       
   240 	EADllNumberOfEventsReceived,
       
   241 	EADllErrorCode,
       
   242 	EADllReset,
       
   243 	EADllEventAnimBase_EndBaseEnum,
       
   244 	};
       
   245 
       
   246 enum AnimDllOpcodesEventTestAnim
       
   247 	{
       
   248 	EADllNoEventsAndReset=EADllEventAnimBase_EndBaseEnum,
       
   249 	EADllLoadDeviceDriver,
       
   250 	EADllUnloadDeviceDriver,
       
   251 	EADllSendEvent,
       
   252 	EADllAfterEvent,
       
   253 	};
       
   254 
       
   255 enum AnimDllOpcodesRemovableAnim
       
   256 	{
       
   257 	EADllSetEventHandlerLifetime=EADllEventAnimBase_EndBaseEnum,
       
   258 	EADllEventHandlerLifetime,
       
   259 	EADllAddToEventHandlers,
       
   260 	EADllRemoveFromEventHandlers,
       
   261 	EADllTestPassed,
       
   262 	};
       
   263 
       
   264 enum AnimDllOpcodeMultiPointerAnim
       
   265 	{
       
   266 	EADllAddExpectedMultiPtrEvent,
       
   267 	EADllMultiPtrEventError,
       
   268 	EADllMultiPtrEventErrorDesc,
       
   269 	EADllMultiPtrEventReset,
       
   270 	};
       
   271 
       
   272 struct TRemoteBufAddress
       
   273 	{
       
   274 	TAny *descPtr;
       
   275 	};
       
   276 struct TSyncTests
       
   277 	{
       
   278 	TRequestStatus *status;
       
   279 	MAnimGeneralFunctions::TAnimSync syncMode;
       
   280 	};
       
   281 struct TShadowDrawTest
       
   282 	{
       
   283 	TRequestStatus *status;
       
   284 	};
       
   285 struct TTimeChangeTest
       
   286 	{
       
   287 	TRequestStatus *status;
       
   288 	TRequestStatus *status2;
       
   289 	};
       
   290 struct TDrawTestScreen
       
   291 	{
       
   292 	TInt bitmap;
       
   293 	TInt maskBitmap;
       
   294 	TInt font;
       
   295 	};
       
   296 struct TSpriteMemberInfo
       
   297 	{
       
   298 	inline TSpriteMemberInfo() {}
       
   299 	inline TSpriteMemberInfo(TPoint aSpritePos,TInt aMemberNo,const TSpriteMember& aMember);
       
   300 	TPoint iSpritePos;
       
   301 	TInt iMember;
       
   302 	TInt iBitmapHandle;
       
   303 	TInt iMaskBitmapHandle;
       
   304 	TBool iInvertMask;
       
   305 	CGraphicsContext::TDrawMode iDrawMode;
       
   306 	TPoint iOffset;
       
   307 	TTimeIntervalMicroSeconds32 iInterval;
       
   308 	};
       
   309 inline TSpriteMemberInfo::TSpriteMemberInfo(TPoint aSpritePos,TInt aMemberNo,const TSpriteMember& aMember)
       
   310 	:iSpritePos(aSpritePos), iMember(aMemberNo), iBitmapHandle(aMember.iBitmap->Handle()),
       
   311 	 iMaskBitmapHandle(aMember.iMaskBitmap ? aMember.iMaskBitmap->Handle():0), iInvertMask(aMember.iInvertMask),
       
   312 	 iDrawMode(aMember.iDrawMode), iOffset(aMember.iOffset), iInterval(aMember.iInterval)
       
   313 	{}
       
   314 struct TWindowGroupInfoParms
       
   315 	{
       
   316 	TInt iScreen;
       
   317 	TInt iOrdinalPosition;
       
   318 	};
       
   319 struct TSetOrdinalParms
       
   320 	{
       
   321 	TInt iIdentifier;
       
   322 	TInt iOrdinalPosition;
       
   323 	TInt iOrdinalPriority;
       
   324 	};
       
   325 struct TFrameData
       
   326 	{
       
   327 	TInt sync;
       
   328 	TInt font;
       
   329 	TInt bitmap;
       
   330 	TRgb color;
       
   331 	TInt draw;
       
   332 	TInt text;
       
   333 	TRect rect;
       
   334 	};
       
   335 
       
   336 class RTestAnim : public RAnim
       
   337 	{
       
   338 public:
       
   339 	RTestAnim();
       
   340 	RTestAnim(RAnimDll &aDll);
       
   341  	inline TInt Construct(const RWindowBase &aWin,TInt aType,const TDesC8 &aParams) {return(RAnim::Construct(aWin,aType,aParams));}
       
   342  	inline TInt Construct(const RWindowBase &aDevice,const TRect &aRect) {return(RAnim::Construct(aDevice, EAnimTypeScrBackTest,TPtrC8((TUint8 *)&aRect,sizeof(aRect))));}
       
   343  	inline TInt Construct(const RWsSprite &aSprite,TInt aType,const TDesC8 &aParams) {return(RAnim::Construct(aSprite,aType,aParams));}
       
   344  	inline TInt CommandReply(TInt aOpcode,const TDesC8& aArgs,const TIpcArgs& aIpcArgs)  {return(RAnim::CommandReply(aOpcode,aArgs,aIpcArgs));}
       
   345  	inline TInt CommandReply(TInt aOpcode,const TPtrC8 &aArgs) {return(RAnim::CommandReply(aOpcode,aArgs));}
       
   346  	inline TInt CommandReply(TInt aOpcode) {return(RAnim::CommandReply(aOpcode));}
       
   347  	inline void Command(TInt aOpcode,const TPtrC8 &aArgs) {RAnim::Command(aOpcode,aArgs);}
       
   348  	inline void Command(TInt aOpcode) {RAnim::Command(aOpcode);}
       
   349  	inline void ChangeRect(const TRect &aRect) {RAnim::Command(EADllDrawOtherRect,TPtrC8((TUint8 *)&aRect,sizeof(aRect)));}
       
   350 	};
       
   351 
       
   352 #endif