os/graphics/windowing/windowserver/test/tauto/AUTODLL.H
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
     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