S60UIExampledocument.inc
上传用户:laixiong
上传日期:2007-03-11
资源大小:2994k
文件大小:1147k
源码类别:

Symbian

开发平台:

C/C++

  1. void DoBitBlt(const TPoint& aDest,CFbsDevice* aDevice,const TRect& aSourceRect);
  2. void DoBitBlt(const TPoint& aDest,CBitwiseBitmap* aBitmap,TUint32* aBase,const TRect& aSourceRect);
  3. void DoBitBltMasked(const TPoint& aDest,CBitwiseBitmap* aSourceBitmap,TUint32* aSourceBase,const TRect& aSourceRect,CBitwiseBitmap* aMaskBitmap,TUint32* aMaskBase,TBool aInvertMask,const TPoint& aDitherOrigin,TInt aShadowMode);
  4. void DoBitBltMaskedFlicker(const TPoint& aDest,CBitwiseBitmap* aSourceBitmap,TUint32* aSourceBase,const TRect& aSourceRect,CBitwiseBitmap* aMaskBitmap,TUint32* aMaskBase,TBool aInvertMask,const TPoint& aDitherOrigin,TInt aShadowMode);
  5. void DoBitBltMaskedNonFlicker(const TPoint& aDest,CBitwiseBitmap* aSourceBitmap,TUint32* aSourceBase,const TRect& aSourceRect,CBitwiseBitmap* aMaskBitmap,TUint32* aMaskBase,TBool aInvertMask,const TPoint& aDitherOrigin,TInt aShadowMode);
  6. void DoBitBltMaskedNonFlickerSolid(const TPoint& aDest,CBitwiseBitmap* aSourceBitmap,TUint32* aSourceBase,const TRect& aSourceRect,CBitwiseBitmap* aMaskBitmap,TUint32* aMaskBase,TBool aInvertMask,const TPoint& aDitherOrigin,TInt aShadowMode);
  7. void DoBitBltMaskedNonFlickerPatterned(const TPoint& aDest,CBitwiseBitmap* aSourceBitmap,TUint32* aSourceBase,const TRect& aSourceRect,CBitwiseBitmap* aMaskBitmap,TUint32* aMaskBase,TBool aInvertMask,const TPoint& aDitherOrigin,TInt aShadowMode);
  8. void DoBitBltAlpha(const TPoint& aDest,CBitwiseBitmap* aSourceBitmap,TUint32* aSourceBase,const TRect& aSourceRect,CBitwiseBitmap* aMaskBitmap,TUint32* aMaskBase,const TPoint& aDitherOrigin,TInt aShadowMode);
  9. void DoBitBltAlpha(const TPoint& aDestPt,
  10.    const CBitwiseBitmap* aSrcBmp1,
  11.    TUint32* aSrcBmpDataAddr1,
  12.    const CBitwiseBitmap* aSrcBmp2,
  13.    TUint32* aSrcBmpDataAddr2,
  14.    const CBitwiseBitmap* aAlphaBmp,
  15.    TUint32* aAlphaBmpDataAddr,
  16.    const TRect& aSrcRect1,
  17.    const TPoint& aSrcPt2,
  18.    const TPoint& aAlphaPt,
  19.    TInt aShadowMode);
  20. void DoCopyRect(const TPoint&,const TRect&);
  21. void DoDrawBitmap(const TRect&,CBitwiseBitmap*,TUint32* aBase,const TRect&,const TPoint& aDitherOrigin);
  22. void DoDrawBitmapMasked(const TRect& aDestRect,CBitwiseBitmap* aSourceBitmap,TUint32* aSourceBase,const TRect& aSourceRect,CBitwiseBitmap* aMaskBitmap,TUint32* aMaskBase,TBool aInvertMask,const TPoint& aDitherOrigin);
  23. void DoDrawLine(TPoint aStart,TPoint aEnd,TBool aDrawStartPoint);
  24. void DoDrawDottedWideLine(const TPoint& pt1,const TPoint& pt2,TBool drawstart,const TRect& screenrect);
  25. void DoDrawSolidWideLine(const TPoint& pt1,const TPoint& pt2,TBool drawstart,const TRect& screenrect);
  26. void DoDrawText(CFont::TPositionParam& aParam);
  27. void DoDrawCharacter(const TPoint& aTopLeft,const TSize& aDataSize,const TUint8* aData);
  28. void DoDrawTextEx(CFont::TPositionParam& aParam,const CBitmapFont* font);
  29. void DoDrawCharacterEx(const TPoint& aTopLeft,const TSize& aDataSize,const TUint8* aData,
  30. TBool aBold,TBool aItalic,TInt aSemiAscent);
  31. void DoDrawCharacterAntiAliased(const TPoint& aTopLeft,const TSize& aDataSize,const TUint8* aData);
  32. void DoDrawTextLarge(CFont::TPositionParam& aParam,const CBitmapFont* font);
  33. void DoDrawCharacterLarge(const TPoint& aTopLeft,const TSize& aDataSize,const TUint8* aData,
  34. TBool aBold,TBool aItalic,TInt aSemiAscent,TInt aWidthFactor,TInt aHeightFactor);
  35. void DoDrawCharacterExLarge(const TPoint& aTopLeft,const TSize& aDataSize,const TUint8* aData,
  36. TBool aBold,TBool aItalic,TInt aSemiAscent,TInt aWidthFactor,TInt aHeightFactor);
  37. void DoDrawCharacterMultiplied(const TPoint& aTopLeft,const TSize& aDataSize,const TUint8* aData,
  38. TBool aBold,TBool aItalic,TInt aSemiAscent,TInt aWidthMultiplier,TInt aHeightMultiplier);
  39. void DoDrawTextVertical(CFont::TPositionParam& aParam,const CBitmapFont* font,TBool aUp);
  40. void DoDrawCharacterVertical(const TPoint& aTopLeft,const TSize& aDataSize,const TUint8* aData,
  41. TBool aBold,TBool aItalic,TInt aSemiAscent,TInt aWidthFactor,TInt aHeightFactor,TBool aUp);
  42. void DoDrawCharacterVerticalAntiAliased(const TPoint& aTopLeft,const TSize& aDataSize,const TUint8* aData,TBool aUp);
  43. void DoPlot(const TPoint& pt);
  44. void EllipseFill(const TRect& aRect);
  45. void EllipseOutline(const TRect& aRect);
  46. void EllipseOutlineWide(const TRect& aRect);
  47. void GetUnderlineMetrics(TInt& aTop,TInt& aBottom);
  48. void GetStrikethroughMetrics(TInt& aTop,TInt& aBottom);
  49. void OutputCharLine(TPoint aPrintPos,TUint32* aBuffer,TInt aDataLength,TInt aNum,TBool aBold,TInt aWidthFactor,TInt aHeightFactor);
  50. void OutputCharLineMultiplied(TPoint aPrintPos,TUint32* aBuffer,TInt aDataLength,TInt aNum,TBool aBold,TInt aWidthMultiplier,TInt aHeightMultiplier);
  51. void OutputCharLineVertical(TPoint aPrintPos,TUint32* aBuffer,TInt aDataLength,TInt aNum,TBool aBold,TInt aWidthFactor,TInt aHeightFactor,TBool aUp);
  52. void PenAllocate();
  53. void PenDrawClipped(TPoint aPoint);
  54. void PenDrawDeferred(TPoint aPoint,TInt* aArray,TInt aFirstElement);
  55. void PieArcOutline(const TRect& aRect,const TPoint& aStartRadius,const TPoint& aEndRadius,TBool aDoPie);
  56. void PieFill(const TRect& aRect,const TPoint& aStartRadius,const TPoint& aEndRadius);
  57. void PieShell(const TRect& ellrect,const TPoint& startradius,const TPoint& endradius,TBool quads[5],TInt startquad,TInt endquad);
  58. void PieTriangles(TBool aInside,const TPoint& aStart,const TPoint& aEnd);
  59. void PieSliver(const TRect& ellrect,const TPoint& startradius,const TPoint& endradius,TInt quad);
  60. void PolyFill(const CArrayFix<TPoint> * aPointList,TFillRule aFillRule);
  61. void PolyFillLarge(const CArrayFix<TPoint> * aPointList,TFillRule aFillRule);
  62. void PolyFill(const TPoint* aPointList,TInt aNumPoints,TFillRule aFillRule);
  63. void PolyFillLarge(const TPoint* aPointList,TInt aNumPoints,TFillRule aFillRule);
  64. void PolyOutline(const CArrayFix<TPoint> * aPointList);
  65. void PolyOutline(const TPoint* aPointList,TInt aNumPoints);
  66. void RectFill(const TRect& aRect);
  67. void RoundRectFill(const TRect& aRect,TSize aSize);
  68. void RoundRectOutline(const TRect& aRect,TSize aSize);
  69. void SetupDevice() const;
  70. void ShadowFadeArea(const TRegion* aRegion,TInt8 aShadowMode);
  71. TBool UserClipRect(TRect& aRect);
  72. CGraphicsAccelerator* GraphicsAccelerator();
  73. private:
  74. __declspec(dllexport) void Reserved_CGraphicsContext_1();
  75. __declspec(dllexport) void Reserved_CGraphicsContext_2();
  76. __declspec(dllexport) void Reserved_CBitmapContext_1();
  77. __declspec(dllexport) void Reserved_CBitmapContext_2();
  78. __declspec(dllexport) void Reserved_CBitmapContext_3();
  79. __declspec(dllexport) virtual void Reserved_CFbsBitGc_1();
  80. __declspec(dllexport) virtual void Reserved_CFbsBitGc_2();
  81. __declspec(dllexport) virtual void Reserved_CFbsBitGc_3();
  82. __declspec(dllexport) virtual void Reserved_CFbsBitGc_4();
  83. __declspec(dllexport) virtual void Reserved_CFbsBitGc_5();
  84. private:
  85. CFbsBitGcBitmap iBrushBitmap;
  86. TBool iBrushUsed;
  87. TRgb iBrushColor;
  88. TPoint iBrushOrigin;
  89. TBrushStyle iBrushStyle;
  90. TRect iClipRect;
  91. TRegionFix<1> iDefaultRegion;
  92. const TRegion* iDefaultRegionPtr;
  93. TRect iUserClipRect;
  94. CFbsDevice* iDevice;
  95. TPoint iDitherOrigin;
  96. TInt iDotLength;
  97. TInt iDotMask;
  98. TInt iDotParam;
  99. TInt iDotDirection;
  100. TDrawMode iDrawMode;
  101. TRect iDrawnTo;
  102. CFbsBitGcFont iFont;
  103. TInt iCharJustExcess;
  104. TInt iCharJustNum;
  105. TInt iWordJustExcess;
  106. TInt iWordJustNum;
  107. TPoint iLastPrintPosition;
  108. TPoint iLinePosition;
  109. TPoint iOrigin;
  110. TInt* iPenArray;
  111. TRgb iPenColor;
  112. TPenStyle iPenStyle;
  113. TSize iPenSize;
  114. TInt8 iShadowMode;
  115. TInt8 iAutoUpdateJustification;
  116. TUint8 iFadeBlackMap;
  117. TUint8 iFadeWhiteMap;
  118. TFontStrikethrough iStrikethrough;
  119. TFontUnderline iUnderline;
  120. TDisplayMode iUserDisplayMode;
  121. RRegion iClippingRegion;
  122. };
  123. inline void CFbsBitGc::SetFadeMode(TBool aFadeMode )
  124. {SetFaded(aFadeMode);}
  125. inline void CFbsBitGc::SetFadingParameters(TUint8 aBlackMap )
  126. {SetFadingParameters(aBlackMap,255);}
  127. #line 22 "C:\Symbian\9.1\S60_3rd\epoc32\include\bitdev.h" /* stack depth 7 */
  128. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\graphicsaccelerator.h" /* stack depth 8 */
  129. #line 17
  130. class CFbsBitmap;
  131. class TAcceleratedBitmapSpec;
  132. #line 32
  133. class TAcceleratedBitmapInfo
  134. {
  135. public:
  136. TDisplayMode iDisplayMode;
  137. TUint8* iAddress;
  138. TSize iSize;
  139. TInt iLinePitch;
  140. TInt iPixelShift;
  141. TUint8* iPhysicalAddress;
  142. };
  143. #line 69
  144. class RHardwareBitmap
  145. {
  146. friend class CBitwiseBitmap;
  147. friend class CFbsScreenDevice;
  148. public:
  149. inline RHardwareBitmap();
  150. inline RHardwareBitmap(TInt aHandle);
  151. __declspec(dllexport) TInt GetInfo(TAcceleratedBitmapInfo& aInfo) const;
  152. private:
  153. __declspec(dllexport) TInt SetAsScreenReference(TInt aScreen=-1);
  154. __declspec(dllexport) TInt Create(TDisplayMode aDisplayMode, TSize aSize, TUid aCreatorUid);
  155. __declspec(dllexport) void Destroy();
  156. public:
  157. TInt iHandle;
  158. };
  159. inline RHardwareBitmap::RHardwareBitmap()
  160. : iHandle(0)
  161. {}
  162. inline RHardwareBitmap::RHardwareBitmap(TInt aHandle)
  163. : iHandle(aHandle)
  164. {}
  165. #line 114
  166. class TBitmapLockCount
  167. {
  168. friend class TAcceleratedBitmapSpec;
  169. public:
  170. inline TBitmapLockCount() : iCount(0) {}
  171. private:
  172. inline TInt Inc() { return iCount++; }
  173. inline TInt Dec() { return --iCount; }
  174. private:
  175. TInt iCount;
  176. };
  177. #line 139
  178. class TAcceleratedBitmapSpec
  179. {
  180. public:
  181. inline TAcceleratedBitmapSpec();
  182. __declspec(dllexport) TAcceleratedBitmapSpec(CFbsBitmap* aBitmap);
  183. __declspec(dllexport) TAcceleratedBitmapSpec(RHardwareBitmap aBitmap);
  184. __declspec(dllexport) TInt GetInfo(TAcceleratedBitmapInfo& aInfo) const;
  185. inline void Lock(TBitmapLockCount& aCount);
  186. inline void Lock(TBitmapLockCount& aCount,TAcceleratedBitmapInfo& aInfo);
  187. inline void Unlock(TBitmapLockCount& aCount);
  188. enum TAcceleratedBitmapType
  189. {
  190. ENoBitmap,
  191. EFbsBitmap,
  192. EHardwareBitmap,
  193. };
  194. enum TAcceleratedBitmapLock
  195. {
  196. EBitmapIsStatic,
  197. EBitmapNeedsLocking,
  198. };
  199. inline TAcceleratedBitmapType Type() const;
  200. inline TInt Handle() const;
  201. private:
  202. __declspec(dllexport) void DoLock(TBitmapLockCount& aCount);
  203. __declspec(dllexport) void DoLock(TBitmapLockCount& aCount,TAcceleratedBitmapInfo& aInfo);
  204. __declspec(dllexport) void DoUnlock(TBitmapLockCount& aCount);
  205. private:
  206. TUint8 iType;
  207. TUint8 iLockStatus;
  208. TUint8 iSpare1;
  209. TUint8 iSpare2;
  210. TInt iHandle;
  211. };
  212. inline TAcceleratedBitmapSpec::TAcceleratedBitmapSpec()
  213. : iType(ENoBitmap), iLockStatus(EBitmapIsStatic)
  214. {}
  215. #line 210
  216. inline void TAcceleratedBitmapSpec::Lock(TBitmapLockCount& aCount)
  217. { if(iLockStatus==EBitmapNeedsLocking) DoLock(aCount); }
  218. #line 226
  219. inline void TAcceleratedBitmapSpec::Lock(TBitmapLockCount& aCount,TAcceleratedBitmapInfo& aInfo)
  220. { if(iLockStatus==EBitmapNeedsLocking) DoLock(aCount,aInfo); }
  221. #line 237
  222. inline void TAcceleratedBitmapSpec::Unlock(TBitmapLockCount& aCount)
  223. { if(iLockStatus==EBitmapNeedsLocking) DoUnlock(aCount); }
  224. inline TAcceleratedBitmapSpec::TAcceleratedBitmapType TAcceleratedBitmapSpec::Type() const
  225. { return (TAcceleratedBitmapSpec::TAcceleratedBitmapType)iType; }
  226. inline TInt TAcceleratedBitmapSpec::Handle() const
  227. { return iHandle; }
  228. #line 268
  229. enum TTransparencyType
  230. {
  231. ETransparentPixelZero,
  232. ETransparentPixel,
  233. ETransparentColor,
  234. ETransparent1555,
  235. };
  236. #line 303
  237. class TGraphicsAcceleratorCaps
  238. {
  239. public:
  240. enum TClipCaps
  241. {
  242. EClipToBitmap = 1,
  243. EClipping = 2
  244. };
  245. enum TMaskBitmapCaps
  246. {
  247. EMaskBitmapNone = 0,
  248. EMaskBitmapAnyDisplayMode,
  249. EMaskBitmapMatchingDisplayMode,
  250. EMaskBitmapGray2,
  251. };
  252. enum TAlphaChannelCaps
  253.      {
  254. EAlpha4444 = 1,
  255. EAlpha8888 = 2,
  256. EAlpha1555 = 4,
  257. };
  258. enum TAlphaBitmapCaps
  259.      {
  260. EAlphaBitmapGray256 = 1,
  261. EAlphaBitmapColor16M = 2,
  262. EAlphaBitmapMatchingMode = 4,
  263. };
  264. enum TPatternSizeCaps
  265. {
  266. EPatternSizeAny = 0xFFFFFFFF,
  267. };
  268. enum TPatternCaps
  269. {
  270. EPatternAnyDisplayMode = 1,
  271. EPatternMatchingDisplayMode = 2,
  272. EPatternMustBeSquare = 4,
  273. };
  274. enum TPolygonCaps
  275. {
  276. EPolygonFillAlternate = 1,
  277. EPolygonFillWinding = 2,
  278. };
  279. TInt iStructureSize;
  280. TInt iVersion;
  281. TUid iVendorUid;
  282. TUint iDisplayModes;
  283. TUint iClipping;
  284. TMaskBitmapCaps iMaskType;
  285. TUint iTransparency;
  286. TUint iAlphaChannel;
  287. TUint iAlphaBitmap;
  288. #line 473
  289. TUint iPatternSizes;
  290. TUint iPattern;
  291. TUint iPolygon;
  292. TUint iReserved[4];
  293. };
  294. #line 508
  295. class TGraphicsOperation
  296. {
  297. public:
  298. enum TGopFunction
  299. {
  300. EFilledRect,
  301. EFilledRectUsingDrawMode,
  302. EFilledRectWithPattern,
  303. EInvertRect,
  304. EFadeRect,
  305. EBitBlt,
  306. EBitBltMasked,
  307. EBitBltTransparent,
  308. EBitBltAlphaChannel,
  309. EBitBltAlphaBitmap,
  310. EScaledBitBlt,
  311. EScaledBitBltMasked,
  312. EScaledBitBltTransparent,
  313. EScaledBitBltAlphaChannel,
  314. EScaledBitBltAlphaBitmap,
  315. EFilledPolygon,
  316. EFilledPolygonWithPattern,
  317. };
  318. public:
  319. inline TGopFunction Function() const { return iFunction; }
  320. inline TInt Size() const { return iSize; }
  321. inline TGraphicsOperation* Next() const;
  322. inline void Append(TInt aNumBytes,TAny* aData);
  323. protected:
  324. inline TGraphicsOperation(TGopFunction aFunction, TInt aArgSize);
  325. inline TGraphicsOperation() {}
  326. protected:
  327. TGopFunction iFunction;
  328. TInt iSize;
  329. };
  330. inline TGraphicsOperation::TGraphicsOperation(TGopFunction aFunction, TInt aSize)
  331. : iFunction(aFunction) , iSize(aSize) {}
  332. inline TGraphicsOperation* TGraphicsOperation::Next() const
  333. { return (TGraphicsOperation*)((TUint8*)this+iSize); }
  334. inline void TGraphicsOperation::Append(TInt aNumBytes,TAny* aData)
  335. {
  336. Mem::Copy(Next(),aData,aNumBytes);
  337. iSize += aNumBytes;
  338. }
  339. #line 579
  340. class CGraphicsAccelerator : public CBase
  341. {
  342. public:
  343. virtual const TGraphicsAcceleratorCaps* Capabilities() = 0;
  344. #line 598
  345. virtual TInt Operation(const TGraphicsOperation& aOperation) = 0;
  346. #line 611
  347. virtual TInt Operation(const TGraphicsOperation& aOperation,TInt aNumClipRects,TRect* aClipRects) = 0;
  348. #line 634
  349. virtual TInt Operation(TDes8& aBuffer) = 0;
  350. #line 657
  351. virtual TInt Operation(TDes8& aBuffer,TInt aNumClipRects,TRect* aClipRects) = 0;
  352. public:
  353. virtual void Reserved_1() = 0;
  354. virtual void Reserved_2() = 0;
  355. virtual void Reserved_3() = 0;
  356. virtual void Reserved_4() = 0;
  357. };
  358. #line 678
  359. class CSoftwareGraphicsAccelerator : public CGraphicsAccelerator
  360. {
  361. public:
  362. __declspec(dllexport) static CSoftwareGraphicsAccelerator* NewL(CFbsBitmap* aBitmap);
  363. __declspec(dllexport) static const TGraphicsAcceleratorCaps* GenericCapabilities();
  364. public:
  365. virtual const TGraphicsAcceleratorCaps* Capabilities() = 0;
  366. virtual TInt Operation(const TGraphicsOperation& aOperation) = 0;
  367. virtual TInt Operation(const TGraphicsOperation& aOperation,TInt aNumClipRects,TRect* aClipRects) = 0;
  368. virtual TInt Operation(TDes8& aBuffer) = 0;
  369. virtual TInt Operation(TDes8& aBuffer,TInt aNumClipRects,TRect* aClipRects) = 0;
  370. virtual void Reserved_1() = 0;
  371. virtual void Reserved_2() = 0;
  372. virtual void Reserved_3() = 0;
  373. virtual void Reserved_4() = 0;
  374. };
  375. #line 713
  376. class CHardwareGraphicsAccelerator : public CGraphicsAccelerator
  377. {
  378. public:
  379. __declspec(dllexport) static CHardwareGraphicsAccelerator* NewL(RHardwareBitmap aBitmap);
  380. __declspec(dllexport) static const TGraphicsAcceleratorCaps* GenericCapabilities();
  381. public:
  382. virtual const TGraphicsAcceleratorCaps* Capabilities() = 0;
  383. virtual TInt Operation(const TGraphicsOperation& aOperation) = 0;
  384. virtual TInt Operation(const TGraphicsOperation& aOperation,TInt aNumClipRects,TRect* aClipRects) = 0;
  385. virtual TInt Operation(TDes8& aBuffer) = 0;
  386. virtual TInt Operation(TDes8& aBuffer,TInt aNumClipRects,TRect* aClipRects) = 0;
  387. virtual void Reserved_1() = 0;
  388. virtual void Reserved_2() = 0;
  389. virtual void Reserved_3() = 0;
  390. virtual void Reserved_4() = 0;
  391. };
  392. #line 752
  393. class TGopFillPattern
  394. {
  395. public:
  396. TAcceleratedBitmapSpec iBitmap;
  397. TPoint iOrigin;
  398. };
  399. #line 789
  400. class TGopFadeParams
  401. {
  402. public:
  403. TInt iScale;
  404. TInt iOffset;
  405. };
  406. #line 814
  407. class TGopTransparency
  408. {
  409. public:
  410. inline TGopTransparency(TTransparencyType aType) : iType(aType), iParam(0) {}
  411. inline TGopTransparency(TInt aPixelValue) : iType(ETransparentPixel), iParam(aPixelValue) {}
  412. inline TGopTransparency(TRgb aRgb) : iType(ETransparentColor), iParam(aRgb.Value()) {}
  413. inline TRgb Color() const { return TRgb(iParam); }
  414. inline TInt Pixel() const { return iParam; }
  415. public:
  416. TTransparencyType iType;
  417. TUint32 iParam;
  418. };
  419. #line 865
  420. #pragma warning(disable : 4355) 
  421. #line 876
  422. class TGopFilledRect : public TGraphicsOperation
  423. {
  424. public:
  425. inline TGopFilledRect(const TRect& aRect,TRgb aColor)
  426. : TGraphicsOperation(EFilledRect,sizeof(*this)), iRect(aRect) , iColor(aColor) {}
  427. public:
  428. TRect iRect;
  429. TRgb iColor;
  430. };
  431. #line 905
  432. class TGopFilledRectUsingDrawMode : public TGraphicsOperation
  433. {
  434. public:
  435. inline TGopFilledRectUsingDrawMode(const TRect& aRect,TRgb aColor,CGraphicsContext::TDrawMode aDrawMode)
  436. : TGraphicsOperation(EFilledRectUsingDrawMode,sizeof(*this)), iRect(aRect) , iColor(aColor) , iDrawMode(aDrawMode) {}
  437. public:
  438. TRect iRect;
  439. TRgb iColor;
  440. CGraphicsContext::TDrawMode iDrawMode;
  441. };
  442. #line 935
  443. class TGopFilledRectWithPattern : public TGraphicsOperation
  444. {
  445. public:
  446. inline TGopFilledRectWithPattern(const TRect& aRect,TGopFillPattern aPattern)
  447. : TGraphicsOperation(EFilledRectWithPattern,sizeof(*this)), iRect(aRect) , iPattern(aPattern) {}
  448. public:
  449. TRect iRect;
  450. TGopFillPattern iPattern;
  451. };
  452. #line 963
  453. class TGopInvertRect : public TGraphicsOperation
  454. {
  455. public:
  456. inline TGopInvertRect(const TRect& aRect)
  457. : TGraphicsOperation(EInvertRect,sizeof(*this)), iRect(aRect) {}
  458. public:
  459. TRect iRect;
  460. };
  461. #line 984
  462. class TGopFadeRect : public TGraphicsOperation
  463. {
  464. public:
  465. inline TGopFadeRect(const TRect& aRect, const TGopFadeParams aFade)
  466. : TGraphicsOperation(EFadeRect,sizeof(*this)), iRect(aRect), iFade(aFade) {}
  467. public:
  468. TRect iRect;
  469. TGopFadeParams iFade;
  470. };
  471. #line 1011
  472. class TGopBitBlt : public TGraphicsOperation
  473. {
  474. public:
  475. inline TGopBitBlt(const TPoint& aDestination, TAcceleratedBitmapSpec aSourceBitmap, TRect& aSourceRect)
  476. : TGraphicsOperation(EBitBlt,sizeof(*this)), iDestination(aDestination), iSourceBitmap(aSourceBitmap), iSourceRect(aSourceRect) {}
  477. public:
  478. TPoint iDestination;
  479. TAcceleratedBitmapSpec iSourceBitmap;
  480. TRect iSourceRect;
  481. };
  482. #line 1050
  483. class TGopBitBltMasked : public TGraphicsOperation
  484. {
  485. public:
  486. #line 1062
  487. inline TGopBitBltMasked(const TPoint& aDestination, TAcceleratedBitmapSpec aSourceBitmap, TRect& aSourceRect, TAcceleratedBitmapSpec aMask)
  488. : TGraphicsOperation(EBitBltMasked,sizeof(*this)), iDestination(aDestination), iSourceBitmap(aSourceBitmap), iSourceRect(aSourceRect), iMask(aMask) {}
  489. public:
  490. TPoint iDestination;
  491. TAcceleratedBitmapSpec iSourceBitmap;
  492. TRect iSourceRect;
  493. TAcceleratedBitmapSpec iMask;
  494. };
  495. #line 1091
  496. class TGopBitBltTransparent : public TGraphicsOperation
  497. {
  498. public:
  499. #line 1106
  500. inline TGopBitBltTransparent(const TPoint& aDestination, TAcceleratedBitmapSpec aSourceBitmap, TRect& aSourceRect, TGopTransparency aTransparency)
  501. : TGraphicsOperation(EBitBltTransparent,sizeof(*this)), iDestination(aDestination), iSourceBitmap(aSourceBitmap), iSourceRect(aSourceRect), iTransparency(aTransparency) {}
  502. public:
  503. TPoint iDestination;
  504. TAcceleratedBitmapSpec iSourceBitmap;
  505. TRect iSourceRect;
  506. TGopTransparency iTransparency;
  507. };
  508. #line 1139
  509. class TGopBitBltAlphaChannel : public TGraphicsOperation
  510. {
  511. public:
  512. inline TGopBitBltAlphaChannel(const TPoint& aDestination, TAcceleratedBitmapSpec aSourceBitmap, TRect& aSourceRect)
  513. : TGraphicsOperation(EBitBltAlphaChannel,sizeof(*this)), iDestination(aDestination), iSourceBitmap(aSourceBitmap), iSourceRect(aSourceRect) {}
  514. public:
  515. TPoint iDestination;
  516. TAcceleratedBitmapSpec iSourceBitmap;
  517. TRect iSourceRect;
  518. };
  519. #line 1188
  520. class TGopBitBltAlphaBitmap : public TGraphicsOperation
  521. {
  522. public:
  523. #line 1200
  524. inline TGopBitBltAlphaBitmap(const TPoint& aDestination, TAcceleratedBitmapSpec aSourceBitmap, TRect& aSourceRect, TAcceleratedBitmapSpec aAlphaBitmap)
  525. : TGraphicsOperation(EBitBltAlphaBitmap,sizeof(*this)), iDestination(aDestination), iSourceBitmap(aSourceBitmap), iSourceRect(aSourceRect), iAlphaBitmap(aAlphaBitmap) {}
  526. public:
  527. TPoint iDestination;
  528. TAcceleratedBitmapSpec iSourceBitmap;
  529. TRect iSourceRect;
  530. TAcceleratedBitmapSpec iAlphaBitmap;
  531. };
  532. #line 1227
  533. class TGopScaledBitBlt : public TGraphicsOperation
  534. {
  535. public:
  536. #line 1238
  537. inline TGopScaledBitBlt(const TRect& aDestination, TAcceleratedBitmapSpec aSourceBitmap, TRect& aSourceRect)
  538. : TGraphicsOperation(EScaledBitBlt,sizeof(*this)), iDestination(aDestination), iSourceBitmap(aSourceBitmap), iSourceRect(aSourceRect) {}
  539. public:
  540. TRect iDestination;
  541. TAcceleratedBitmapSpec iSourceBitmap;
  542. TRect iSourceRect;
  543. };
  544. #line 1267
  545. class TGopScaledBitBltMasked : public TGraphicsOperation
  546. {
  547. public:
  548. #line 1280
  549. inline TGopScaledBitBltMasked(const TRect& aDestination, TAcceleratedBitmapSpec aSourceBitmap, TRect& aSourceRect, TAcceleratedBitmapSpec aMask)
  550. : TGraphicsOperation(EScaledBitBltMasked,sizeof(*this)), iDestination(aDestination), iSourceBitmap(aSourceBitmap), iSourceRect(aSourceRect), iMask(aMask) {}
  551. public:
  552. TRect iDestination;
  553. TAcceleratedBitmapSpec iSourceBitmap;
  554. TRect iSourceRect;
  555. TAcceleratedBitmapSpec iMask;
  556. };
  557. #line 1310
  558. class TGopScaledBitBltTransparent : public TGraphicsOperation
  559. {
  560. public:
  561. #line 1325
  562. inline TGopScaledBitBltTransparent(const TRect& aDestination, TAcceleratedBitmapSpec aSourceBitmap, TRect& aSourceRect, TGopTransparency aTransparency)
  563. : TGraphicsOperation(EScaledBitBltTransparent,sizeof(*this)), iDestination(aDestination), iSourceBitmap(aSourceBitmap), iSourceRect(aSourceRect), iTransparency(aTransparency) {}
  564. public:
  565. TRect iDestination;
  566. TAcceleratedBitmapSpec iSourceBitmap;
  567. TRect iSourceRect;
  568. TGopTransparency iTransparency;
  569. };
  570. #line 1355
  571. class TGopScaledBitBltAlphaChannel : public TGraphicsOperation
  572. {
  573. public:
  574. #line 1367
  575. inline TGopScaledBitBltAlphaChannel(const TRect& aDestination, TAcceleratedBitmapSpec aSourceBitmap, TRect& aSourceRect)
  576. : TGraphicsOperation(EScaledBitBltAlphaChannel,sizeof(*this)), iDestination(aDestination), iSourceBitmap(aSourceBitmap), iSourceRect(aSourceRect) {}
  577. public:
  578. TRect iDestination;
  579. TAcceleratedBitmapSpec iSourceBitmap;
  580. TRect iSourceRect;
  581. };
  582. #line 1394
  583. class TGopScaledBitBltAlphaBitmap : public TGraphicsOperation
  584. {
  585. public:
  586. #line 1406
  587. inline TGopScaledBitBltAlphaBitmap(const TRect& aDestination, TAcceleratedBitmapSpec aSourceBitmap, TRect& aSourceRect, TAcceleratedBitmapSpec aAlphaBitmap)
  588. : TGraphicsOperation(EScaledBitBltAlphaBitmap,sizeof(*this)), iDestination(aDestination), iSourceBitmap(aSourceBitmap), iSourceRect(aSourceRect), iAlphaBitmap(aAlphaBitmap) {}
  589. public:
  590. TRect iDestination;
  591. TAcceleratedBitmapSpec iSourceBitmap;
  592. TRect iSourceRect;
  593. TAcceleratedBitmapSpec iAlphaBitmap;
  594. };
  595. #line 1434
  596. class TGopFilledPolygon : public TGraphicsOperation
  597. {
  598. public:
  599. inline TGopFilledPolygon(TRgb aColor, CGraphicsContext::TFillRule aFillRule)
  600. : TGraphicsOperation(EFilledPolygon,sizeof(*this)), iColor(aColor), iFillRule(aFillRule), iNumPoints(0) {}
  601. inline void AddPoints(TInt aNumPoints, TPoint* aPoints);
  602. public:
  603. TRgb iColor;
  604. CGraphicsContext::TFillRule iFillRule;
  605. TInt iNumPoints;
  606. };
  607. inline void TGopFilledPolygon::AddPoints(TInt aNumPoints, TPoint* aPoints)
  608. { Append(aNumPoints*sizeof(TPoint),aPoints); iNumPoints += aNumPoints; }
  609. #line 1478
  610. class TGopFilledPolygonWithPattern : public TGraphicsOperation
  611. {
  612. public:
  613. inline TGopFilledPolygonWithPattern(TGopFillPattern aPattern, CGraphicsContext::TFillRule aFillRule)
  614. : TGraphicsOperation(EFilledPolygonWithPattern,sizeof(*this)), iPattern(aPattern), iFillRule(aFillRule), iNumPoints(0) {}
  615. inline void AddPoints(TInt aNumPoints, TPoint* aPoints);
  616. public:
  617. TGopFillPattern iPattern;
  618. CGraphicsContext::TFillRule iFillRule;
  619. TInt iNumPoints;
  620. };
  621. inline void TGopFilledPolygonWithPattern::AddPoints(TInt aNumPoints, TPoint* aPoints)
  622. { Append(aNumPoints*sizeof(TPoint),aPoints); iNumPoints += aNumPoints; }
  623. #line 23 "C:\Symbian\9.1\S60_3rd\epoc32\include\bitdev.h" /* stack depth 7 */
  624. enum {EScanBufSize=0x80};
  625. class CFbsDrawDevice;
  626. #line 53
  627. class CFbsDevice : public CBitmapDevice
  628. {
  629. friend class CFbsBitGc;
  630. public:
  631. __declspec(dllexport) ~CFbsDevice();
  632. __declspec(dllexport) TInt CreateContext(CFbsBitGc*& aGc);
  633. inline TInt CreateContext(CGraphicsContext*& aGc);
  634. __declspec(dllexport) TDisplayMode DisplayMode() const;
  635. __declspec(dllexport) TSize SizeInPixels() const;
  636. __declspec(dllexport) TBool RectCompare(const TRect& aSourceRect,const CFbsDevice& aDevice,const TRect& aDeviceRect) const;
  637. __declspec(dllexport) TInt AddFile(const TDesC& aName,TInt& aId);
  638. __declspec(dllexport) void RemoveFile(TInt aId=0);
  639. __declspec(dllexport) virtual TInt GetNearestFontInTwips(CFont*& aFont, const TFontSpec& aFontSpec);
  640. __declspec(dllexport) virtual TInt GetNearestFontInPixels(CFont*& aFont, const TFontSpec& aFontSpec);
  641. __declspec(dllexport) virtual TInt GetNearestFontToDesignHeightInTwips(CFont*& aFont, const TFontSpec& aFontSpec);
  642. __declspec(dllexport) virtual TInt GetNearestFontToDesignHeightInPixels(CFont*& aFont, const TFontSpec& aFontSpec);
  643. __declspec(dllexport) virtual TInt GetNearestFontToMaxHeightInTwips(CFont*& aFont, const TFontSpec& aFontSpec, TInt aMaxHeight);
  644. __declspec(dllexport) virtual TInt GetNearestFontToMaxHeightInPixels(CFont*& aFont, const TFontSpec& aFontSpec, TInt aMaxHeight);
  645. __declspec(dllexport) TInt GetFontById(CFont*& aFont,TUid aFileId,const TAlgStyle& aStyle);
  646. inline TInt GetNearestFontInTwips(CFbsFont*& aFont, const TFontSpec& aFontSpec);
  647. inline TInt GetNearestFontInPixels(CFbsFont*& aFont, const TFontSpec& aFontSpec);
  648. inline TInt GetNearestFontToDesignHeightInTwips(CFbsFont*& aFont, const TFontSpec& aFontSpec);
  649. inline TInt GetNearestFontToDesignHeightInPixels(CFbsFont*& aFont, const TFontSpec& aFontSpec);
  650. inline TInt GetNearestFontToMaxHeightInTwips(CFbsFont*& aFont, const TFontSpec& aFontSpec, TInt aMaxHeight);
  651. inline TInt GetNearestFontToMaxHeightInPixels(CFbsFont*& aFont, const TFontSpec& aFontSpec, TInt aMaxHeight);
  652. inline TInt GetFontById(CFbsFont*& aFont,TUid aFileId,const TAlgStyle& aStyle);
  653. __declspec(dllexport) void ReleaseFont(CFont* aFont);
  654. __declspec(dllexport) TInt FontHeightInTwips(TInt aTypefaceIndex,TInt aHeightIndex) const;
  655. __declspec(dllexport) TInt FontHeightInPixels(TInt aTypefaceIndex,TInt aHeightIndex) const;
  656. __declspec(dllexport) TInt NumTypefaces() const;
  657. __declspec(dllexport) void TypefaceSupport(TTypefaceSupport& aTypefaceSupport,TInt aTypefaceIndex) const;
  658. __declspec(dllexport) TInt SetCustomPalette(const CPalette* aPalette);
  659. inline CGraphicsAccelerator* GraphicsAccelerator() const;
  660. inline CFbsBitGc::TGraphicsOrientation Orientation() const;
  661. __declspec(dllexport) static TDisplayMode DisplayMode16M();
  662. __declspec(dllexport) TInt SetScalingFactor(const TPoint& aOrigin,
  663.    TInt aFactorX, TInt aFactorY,
  664.    TInt aDivisorX, TInt aDivisorY);
  665. __declspec(dllexport) void GetDrawRect(TRect& aRect) const;
  666. protected:
  667. CFbsDevice();
  668. virtual void DrawingBegin(TBool = EFalse) {}
  669. virtual void DrawingEnd(TBool = EFalse) {}
  670. virtual void SetBits() {}
  671. virtual void CancelSprite() const {}
  672. virtual TSpriteBase* HideSprite() const {return(0 );}
  673. virtual TSpriteBase* HideSprite(const TRect&,const TRegion*) const {return(0 );}
  674. virtual void ShowSprite(TSpriteBase*) const {}
  675. virtual void ShowSprite(TSpriteBase*,const TRect&,const TRegion*) const {}
  676. TInt GetNearestFbsFont(CFbsFont*& aFont,const TFontSpec& aFontSpec);
  677. void DoGetScanLine(TDes8& aBuf,const TPoint& aPixel,TInt aLength,TDisplayMode aDispMode);
  678. void ReadLineDiffMode(TInt,TInt,TInt,TAny*,TDisplayMode) const;
  679. void TruncateRect(TRect& aRect);
  680. TBool SetOrientation(CFbsBitGc::TGraphicsOrientation aOrientation);
  681. void DrawingBegin(const CFbsBitmap* aBitmap,TBool aAlways);
  682. void DrawingEnd(const CFbsBitmap* aBitmap,TBool aAlways);
  683. protected:
  684. CFbsDrawDevice* iDrawDevice;
  685. RFbsSession* iFbs;
  686. CFbsTypefaceStore* iTypefaceStore;
  687. TBool iLockHeap;
  688. TBool iScreenDevice;
  689. TUint8* iBitBltMaskedBuffer;
  690. CGraphicsAccelerator* iGraphicsAccelerator;
  691. CFbsBitGc::TGraphicsOrientation iOrientation;
  692. };
  693. #line 131
  694. class CFbsScreenDevice : public CFbsDevice
  695. {
  696. public:
  697. __declspec(dllexport) static CFbsScreenDevice* NewL(const TDesC& aLibname,TDisplayMode aDispMode);
  698. __declspec(dllexport) static CFbsScreenDevice* NewL(const TDesC& aLibname,TDisplayMode aDispMode, TRgb aWhite);
  699. __declspec(dllexport) static CFbsScreenDevice* NewL(TInt aScreenNo, TDisplayMode aDispMode);
  700. __declspec(dllexport) virtual ~CFbsScreenDevice();
  701. __declspec(dllexport) void GetScanLine(TDes8& aBuf,const TPoint& aStartPixel,TInt aLength,TDisplayMode aDispMode) const;
  702. __declspec(dllexport) void GetPixel(TRgb& aColor,const TPoint& aPixel) const;
  703. __declspec(dllexport) TInt HorizontalPixelsToTwips(TInt aPixels) const;
  704. __declspec(dllexport) TInt VerticalPixelsToTwips(TInt aPixels) const;
  705. __declspec(dllexport) TInt HorizontalTwipsToPixels(TInt aTwips) const;
  706. __declspec(dllexport) TInt VerticalTwipsToPixels(TInt aTwips) const;
  707. __declspec(dllexport) void SetAutoUpdate(TBool aValue);
  708. __declspec(dllexport) void DrawSpriteBegin();
  709. __declspec(dllexport) void DrawSpriteEnd();
  710. __declspec(dllexport) void CancelSprite() const;
  711. __declspec(dllexport) TSpriteBase* HideSprite() const;
  712. __declspec(dllexport) TSpriteBase* HideSprite(const TRect& aRect,const TRegion* aClippingRegion) const;
  713. __declspec(dllexport) void ShowSprite(TSpriteBase* aSprite) const;
  714. __declspec(dllexport) void ShowSprite(TSpriteBase* aSprite,const TRect& aRect,const TRegion* aClippingRegion) const;
  715. __declspec(dllexport) void ChangeScreenDevice(CFbsScreenDevice* aOldDevice);
  716. __declspec(dllexport) void PaletteAttributes(TBool& aModifiable,TInt& aNumEntries) const;
  717. __declspec(dllexport) void SetPalette(CPalette* aPalette);
  718. __declspec(dllexport) TInt GetPalette(CPalette*& aPalette) const;
  719. __declspec(dllexport) void Update();
  720. __declspec(dllexport) void Update(const TRegion& aRegion);
  721. __declspec(dllexport) TSize SizeInTwips() const;
  722. __declspec(dllexport) RHardwareBitmap HardwareBitmap();
  723. private:
  724. CFbsScreenDevice(TInt aScreenNo);
  725. void ConstructL(TInt aScreenNo, TDisplayMode aDispMode);
  726. private:
  727. TSpriteBase* iSprite;
  728. TBool iSpriteDraw;
  729.     TInt iScreenNo;
  730. };
  731. #line 177
  732. class CFbsBitmapDevice : public CFbsDevice
  733. {
  734. public:
  735. __declspec(dllexport) static CFbsBitmapDevice* NewL(CFbsBitmap* aFbsBitmap);
  736. __declspec(dllexport) static CFbsBitmapDevice* NewL(CFbsBitmap* aFbsBitmap,const TDesC& aLibname);
  737. __declspec(dllexport) virtual ~CFbsBitmapDevice();
  738. __declspec(dllexport) TInt Resize(const TSize& aSize);
  739. __declspec(dllexport) virtual void GetScanLine(TDes8& aBuf,const TPoint& aStartPixel,TInt aLength,TDisplayMode iDispMode) const;
  740. __declspec(dllexport) virtual void GetPixel(TRgb& aColor,const TPoint& aPixel) const;
  741. __declspec(dllexport) virtual TInt HorizontalPixelsToTwips(TInt aPixels) const;
  742. __declspec(dllexport) virtual TInt VerticalPixelsToTwips(TInt aPixels) const;
  743. __declspec(dllexport) virtual TInt HorizontalTwipsToPixels(TInt aTwips) const;
  744. __declspec(dllexport) virtual TInt VerticalTwipsToPixels(TInt aTwips) const;
  745. __declspec(dllexport) virtual TSize SizeInTwips() const;
  746. __declspec(dllexport) virtual void PaletteAttributes(TBool& aModifiable,TInt& aNumEntries) const;
  747. __declspec(dllexport) virtual void SetPalette(CPalette* aPalette);
  748. __declspec(dllexport) virtual TInt GetPalette(CPalette*& aPalette) const;
  749. __declspec(dllexport) virtual void DrawingBegin(TBool aAlways);
  750. __declspec(dllexport) virtual void DrawingEnd(TBool aAlways);
  751. __declspec(dllexport) TInt SwapWidthAndHeight();
  752. private:
  753. CFbsBitmapDevice();
  754. virtual void SetBits();
  755. void ConstructL(CFbsBitmap* aFbsBitmap);
  756. void ConstructL(CFbsBitmap* aFbsBitmap,const TDesC& aLibname);
  757. private:
  758. CFbsBitGcBitmap* iFbsBmp;
  759. };
  760. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\bitdev.inl" /* stack depth 8 */
  761. #line 16
  762. TInt CFbsDevice::CreateContext(CGraphicsContext*& aGc)
  763. {
  764. return CreateContext((CFbsBitGc*&)aGc);
  765. }
  766. #line 36
  767. TInt CFbsDevice::GetNearestFontInTwips(CFbsFont*& aFont, const TFontSpec& aFontSpec)
  768. {
  769. return GetNearestFontToDesignHeightInTwips(aFont, aFontSpec);
  770. }
  771. #line 55
  772. TInt CFbsDevice::GetNearestFontInPixels(CFbsFont*& aFont, const TFontSpec& aFontSpec)
  773. {
  774. return GetNearestFontToDesignHeightInPixels(aFont, aFontSpec);
  775. }
  776. #line 74
  777. TInt CFbsDevice::GetNearestFontToDesignHeightInTwips(CFbsFont*& aFont, const TFontSpec& aFontSpec)
  778. {
  779. return GetNearestFontToDesignHeightInTwips((CFont*&)aFont, aFontSpec);
  780. }
  781. #line 92
  782. TInt CFbsDevice::GetNearestFontToDesignHeightInPixels(CFbsFont*& aFont, const TFontSpec& aFontSpec)
  783. {
  784. return GetNearestFontToDesignHeightInPixels((CFont*&)aFont, aFontSpec);
  785. }
  786. #line 117
  787. TInt CFbsDevice::GetNearestFontToMaxHeightInTwips(CFbsFont*& aFont, const TFontSpec& aFontSpec, TInt aMaxHeight)
  788. {
  789. return GetNearestFontToMaxHeightInTwips((CFont*&)aFont, aFontSpec, aMaxHeight);
  790. }
  791. #line 142
  792. TInt CFbsDevice::GetNearestFontToMaxHeightInPixels(CFbsFont*& aFont, const TFontSpec& aFontSpec, TInt aMaxHeight)
  793. {
  794. return GetNearestFontToMaxHeightInPixels((CFont*&)aFont, aFontSpec, aMaxHeight);
  795. }
  796. #line 156
  797. TInt CFbsDevice::GetFontById(CFbsFont*& aFont,TUid aFileId,const TAlgStyle& aStyle)
  798. {
  799. return GetFontById((CFont*&)aFont,aFileId,aStyle);
  800. }
  801. CGraphicsAccelerator* CFbsDevice::GraphicsAccelerator() const
  802. {
  803. return iGraphicsAccelerator;
  804. }
  805. CFbsBitGc::TGraphicsOrientation CFbsDevice::Orientation() const
  806. {
  807. return iOrientation;
  808. }
  809. #line 206 "C:\Symbian\9.1\S60_3rd\epoc32\include\bitdev.h" /* stack depth 7 */
  810. #line 26 "C:\Symbian\9.1\S60_3rd\epoc32\include\w32std.h" /* stack depth 6 */
  811. const static TLitC<sizeof(L"Wserv")/2> KWSERVThreadName={sizeof(L"Wserv")/2-1,L"Wserv"} ;
  812. const static TLitC<sizeof(L"!Windowserver")/2> KWSERVServerName={sizeof(L"!Windowserver")/2-1,L"!Windowserver"} ;
  813. class RWindowBase;
  814. class RWindow;
  815. class RWsBuffer;
  816. class TSizeMode
  817. {
  818. public:
  819. inline TSizeMode(){}
  820. inline TSizeMode(TSize& aSize);
  821. static inline TInt ScaledCord(TInt aOrigin,TInt aScale);
  822. inline TPoint ScaledOrigin();
  823. public:
  824. CFbsBitGc::TGraphicsOrientation iRotation;
  825. TPoint iOrigin;
  826. TSize iScreenSize;
  827. TSize iScreenTwipsSize;
  828. TUint iAlternativeRotations;
  829. TRect iPointerCursorArea;
  830. TSize iScreenScale;
  831. TDisplayMode iDefaultDisplayMode;
  832. };
  833. #line 79
  834. enum TScreenModeEnforcement
  835. {
  836. ESizeEnforcementNone,
  837. ESizeEnforcementPixelsAndRotation,
  838. ESizeEnforcementPixelsTwipsAndRotation,
  839. };
  840. struct TPixelsAndRotation
  841. #line 112
  842. {
  843. TSize iPixelSize;
  844. CFbsBitGc::TGraphicsOrientation iRotation;
  845. };
  846. struct TPixelsTwipsAndRotation
  847. #line 128
  848. {
  849. TSize iPixelSize;
  850. TSize iTwipsSize;
  851. CFbsBitGc::TGraphicsOrientation iRotation;
  852. };
  853. #line 144
  854. enum {
  855. KLogMessageLength=0x80
  856. };
  857. typedef TBuf<KLogMessageLength> TLogMessageText;
  858. #line 165
  859. enum
  860. {
  861. KPasswordWindowGroupPriority=1000
  862. };
  863. #line 185
  864. enum {
  865. KOrdinalPositionSwitchToOwningWindow=0x80000000
  866. };
  867. #line 201
  868. enum TCornerType
  869. {
  870. EWindowCornerSquare,
  871. EWindowCorner1,
  872. EWindowCorner2,
  873. EWindowCorner3,
  874. EWindowCorner5,
  875. EWindowCornerRegion,
  876. ECornerTypeMask=0xFFFF
  877. };
  878. #line 240
  879. enum TCornerFlags
  880. {
  881. EWindowCornerNotTL=0x10000,
  882. EWindowCornerNotTR=0x20000,
  883. EWindowCornerNotBL=0x40000,
  884. EWindowCornerNotBR=0x80000,
  885. };
  886. enum TWindowBackupType
  887. {
  888. EWindowBackupAreaBehind=0x0001,
  889. EWindowBackupFullScreen=0x0002,
  890. };
  891. #line 281
  892. enum TEventCode
  893. {
  894. EEventNull,
  895. #line 298
  896. EEventKey,
  897. EEventKeyUp,
  898. EEventKeyDown,
  899. EEventModifiersChanged,
  900. #line 325
  901. EEventPointer,
  902. EEventPointerEnter,
  903. EEventPointerExit,
  904. EEventPointerBufferReady,
  905. EEventDragDrop,
  906. EEventFocusLost,
  907. EEventFocusGained,
  908. EEventSwitchOn,
  909. #line 370
  910. EEventPassword,
  911. EEventWindowGroupsChanged,
  912. #line 386
  913. EEventErrorMessage,
  914. EEventMessageReady,
  915. EEventMarkInvalid,
  916. #line 401
  917. EEventSwitchOff,
  918. EEventKeySwitchOff,
  919. EEventScreenDeviceChanged,
  920. EEventFocusGroupChanged,
  921. EEventCaseOpened,
  922. #line 427
  923. EEventCaseClosed,
  924. EEventWindowGroupListChanged,
  925. EEventWindowVisibilityChanged,
  926. EEventKeyRepeat=100,
  927. EEventDirectScreenAccessBegin=200,
  928. EEventDirectScreenAccessEnd,
  929. EEventHeartbeatTimerStateChange,
  930. #line 472
  931. EEventUser=1000,
  932. };
  933. enum THotKey
  934. {
  935. EHotKeyEnableLogging,
  936. EHotKeyDisableLogging,
  937. EHotKeyStateDump,
  938. EHotKeyOfDeath,
  939. EHotKeyShutDown,
  940. EHotKeyHeapDump,
  941. EHotKeyIncContrast,
  942. EHotKeyDecContrast,
  943. EHotKeyOff,
  944. EHotKeyBacklightOn,
  945. EHotKeyBacklightOff,
  946. EHotKeyBacklightToggle,
  947. EHotKeyScreenDimension0,
  948. EHotKeyScreenDimension1,
  949. EHotKeyScreenDimension2,
  950. EHotKeyScreenDimension3,
  951. #line 569
  952. EHotKeyCycleDisplaySize,
  953. #line 583
  954. EHotKeyCycleOrientation,
  955. EHotKeyIncBrightness,
  956. EHotKeyDecBrightness,
  957. EHotKeyCycleFocusScreen,
  958. EHotKeyFirstKeyType=EHotKeyEnableLogging,
  959. EHotKeyLastKeyType=EHotKeyCycleFocusScreen,
  960. };
  961. enum TPasswordMode
  962. {
  963. EPasswordCancel,
  964. EPasswordNone,
  965. EPasswordOnceADay,
  966. EPasswordAlways,
  967. EPasswordAlwaysTriggerNow,
  968. EPasswordOnceADayTriggerNow,
  969. };
  970. struct TTextCursor
  971. #line 662
  972.     {
  973. #line 675
  974. enum ENamedCursors
  975. {
  976. ETypeNone,
  977. ETypeRectangle,
  978. ETypeHollowRectangle,
  979. ETypeFirst=ETypeRectangle,
  980. ETypeLast=ETypeHollowRectangle,
  981. ETypeLastBasic = 1000,
  982. };
  983. typedef TInt EType;
  984. enum EFlags
  985. {
  986. EFlagNoFlash = 0x00000001,
  987. EFlagClipHorizontal = 0x00000002,
  988. EFlagClipVertical = 0x00000004,
  989. EUserFlags = 0x0000FFFF,
  990. EFlagClipped = 0x00010000,
  991. EPrivateFlags = 0xFFFF0000,
  992. };
  993. TInt iType;
  994.     TInt iHeight;
  995.     TInt iAscent;
  996.     TInt iWidth;
  997.     TUint iFlags;
  998. TRgb iColor;
  999.     };
  1000. #line 762
  1001. enum TSpriteFlags
  1002. {
  1003. ESpriteFlash=0x1,
  1004. #line 782
  1005. ESpriteNoChildClip=0x2,
  1006. ESpriteNoShadows=0x4,
  1007. ESpriteNonSystemFlags=0x0000FFFF,
  1008. ESpriteSystemFlags=   0xFFFF0000,
  1009. ESpritePointer=0x10000,
  1010. ESpriteOOM=0x20000,
  1011. ESpriteDisabled=0x40000,
  1012. ESpriteActive=0x80000,
  1013. };
  1014. struct TSpriteMember
  1015. {
  1016. CFbsBitmap *iBitmap;
  1017. #line 832
  1018. CFbsBitmap *iMaskBitmap;
  1019. TBool iInvertMask;
  1020. CGraphicsContext::TDrawMode iDrawMode;
  1021. TPoint iOffset;
  1022. TTimeIntervalMicroSeconds32 iInterval;
  1023. };
  1024. #line 860
  1025. enum TEventControl
  1026. {
  1027. EEventControlAlways,
  1028. EEventControlOnlyWithKeyboardFocus,
  1029. EEventControlOnlyWhenVisible
  1030. };
  1031. #line 882
  1032. enum TPointerFilter
  1033. {
  1034. EPointerFilterEnterExit=0x1,
  1035. EPointerFilterMove=0x2,
  1036. EPointerFilterDrag=0x4,
  1037. EPointerGenerateSimulatedMove=0x8,
  1038. #line 907
  1039. EPointerMoveEvents=EPointerFilterMove|EPointerGenerateSimulatedMove,
  1040. };
  1041. struct TPointerEvent
  1042. {
  1043. enum TType
  1044. {
  1045. EButton1Down,
  1046. EButton1Up,
  1047. EButton2Down,
  1048. EButton2Up,
  1049. EButton3Down,
  1050. EButton3Up,
  1051. EDrag,
  1052. EMove,
  1053. EButtonRepeat,
  1054. ESwitchOn,
  1055. };
  1056. TType iType;
  1057. TUint iModifiers;
  1058. TPoint iPosition;
  1059. TPoint iParentPosition;
  1060. };
  1061. struct TKeyEvent
  1062. #line 989
  1063. {
  1064. TUint iCode;
  1065. TInt iScanCode;
  1066. TUint iModifiers;
  1067. TInt iRepeats;
  1068. };
  1069. struct TModifiersChangedEvent
  1070. {
  1071. TUint iChangedModifiers;
  1072. TUint iModifiers;
  1073. };
  1074. struct TWsVisibilityChangedEvent
  1075. {
  1076. enum
  1077. {
  1078. ECanBeSeen = 0x01,
  1079. ECantBeSeen = 0x02,
  1080. };
  1081. enum
  1082. {
  1083. EPartiallyVisible = 0x01,
  1084. ENotVisible = 0x02,
  1085. EFullyVisible = 0x04,
  1086. };
  1087. TUint iFlags;
  1088. };
  1089. struct TWsErrorMessage
  1090. {
  1091. enum TErrorCategory
  1092. {
  1093. EDrawingRegion,
  1094. EBackLight,
  1095. ELogging,
  1096. EContrast,
  1097. };
  1098. TErrorCategory iErrorCategory;
  1099. TUint iError;
  1100. };
  1101. class TWsRedrawEvent
  1102. #line 1096
  1103. {
  1104. public:
  1105. inline TUint Handle() const;
  1106. inline TRect Rect() const;
  1107. public:
  1108. void SetHandle(TUint aHandle);
  1109. void SetRect(TRect aRect);
  1110. protected:
  1111. TUint iHandle;
  1112. TRect iRect;
  1113. };
  1114. class TWsPriorityKeyEvent
  1115. {
  1116. public:
  1117. inline TKeyEvent *Key() const;
  1118. inline TUint Handle() const;
  1119. inline void SetHandle(TUint aHandle);
  1120. protected:
  1121. TUint iHandle;
  1122. TUint8 iEventData[sizeof(TKeyEvent)];
  1123. };
  1124. class TWsEvent
  1125. #line 1143
  1126. {
  1127. public:
  1128. enum
  1129. {
  1130. EWsEventDataSize=sizeof(TPointerEvent)+8
  1131. };
  1132. public:
  1133. inline TPointerEvent* Pointer() const;
  1134. inline TKeyEvent* Key() const;
  1135. inline TModifiersChangedEvent* ModifiersChanged() const;
  1136. inline TWsVisibilityChangedEvent* VisibilityChanged();
  1137. inline const TWsVisibilityChangedEvent* VisibilityChanged() const;
  1138. inline TWsErrorMessage* ErrorMessage() const;
  1139. inline TUint8* EventData() const;
  1140. inline TInt Type() const;
  1141. inline TUint Handle() const;
  1142. inline TTime Time() const;
  1143. inline void SetType(TInt aType);
  1144. inline void SetHandle(TUint aHandle);
  1145. inline void SetTimeNow();
  1146. inline TInt* Int() const;
  1147. protected:
  1148. TInt iType;
  1149. TUint iHandle;
  1150. TTime iTime;
  1151. TUint8 iEventData[EWsEventDataSize];
  1152. };
  1153. class RWsPointerCursor;
  1154. #line 1192
  1155. enum TPointerCursorMode
  1156. {
  1157. EPointerCursorNone,
  1158. EPointerCursorFixed,
  1159. EPointerCursorNormal,
  1160. EPointerCursorWindow,
  1161. EPointerCursorFirstMode=EPointerCursorNone,
  1162. EPointerCursorLastMode=EPointerCursorWindow,
  1163. };
  1164. #line 1229
  1165. enum TLongCaptureFlags
  1166. {
  1167. ELongCaptureShortEventImmediately=0x01,
  1168. ELongCaptureRepeatEvents=0x02,
  1169. ELongCaptureNormal=ELongCaptureShortEventImmediately,
  1170. ELongCaptureWaitShort=0,
  1171. };
  1172. class TIpcArgs;
  1173. class TReadDescriptorType;
  1174. class TWriteDescriptorType;
  1175. class CWindowGc;
  1176. class MWsClientClass
  1177. {
  1178. friend class CWindowGc;
  1179. public:
  1180. MWsClientClass();
  1181. MWsClientClass(RWsBuffer *aBuffer);
  1182. inline TInt WsHandle() const;
  1183. protected:
  1184. void Write(const TAny *aData, TInt aLength,const TAny *aData2, TInt aLength2,TUint aOpcode) const;
  1185. void Write(const TAny *aBuf, TInt aBufLen,TUint aOpcode) const;
  1186. void Write(TUint aOpcode) const;
  1187. void WriteInt(TInt aInt, TUint aOpcode) const;
  1188. void WriteRect(const TRect &aRect, TUint aOpcode) const;
  1189. void WritePoint(const TPoint &aPoint, TUint aOpcode) const;
  1190. void WriteSize(const TSize &aSize, TUint aOpcode) const;
  1191. TInt WriteReply(TUint aOpcode,const TIpcArgs* aIpcArgs=0 ) const;
  1192. TInt WriteReplyInt(TInt aInt, TUint aOpcode,const TIpcArgs* aIpcArgs=0 ) const;
  1193. TInt WriteReply(const TAny *aBuf, TInt aBufLen,TUint aOpcode,const TIpcArgs* aIpcArgs=0 ) const;
  1194. TInt WriteReply(const TAny *aBuf, TInt aBufLen,const TAny *aBuf2, TInt aBuflen2,TUint aOpcode,const TIpcArgs* aIpcArgs=0 ) const;
  1195. TInt WriteReplyP(const TWriteDescriptorType& aReplyPackage,TUint aOpcode) const;
  1196. TInt WriteReplyIntP(TInt aInt, const TWriteDescriptorType& aReplyPackage,TUint aOpcode) const;
  1197. TInt WriteReplyP(const TAny *aBuf, TInt aBufLen, const TWriteDescriptorType& aReplyPackage,TUint aOpcode) const;
  1198. TInt WriteReplyP(const TAny *aBuf, TInt aBufLen,const TAny *aBuf2, TInt aBuflen2, const TWriteDescriptorType& aReplyPackage,TUint aOpcode) const;
  1199. TInt WriteReplyByProvidingRemoteReadAccess(const TAny* aBuf, TInt aBufLen,const TReadDescriptorType& aRemoteReadBuffer,TUint aOpcode) const;
  1200. void AddToBitmapArray(const TInt aBitmapHandle)const;
  1201. protected:
  1202. TInt32 iWsHandle;
  1203. RWsBuffer *iBuffer;
  1204. };
  1205. class RWindowTreeNode;
  1206. class CWsScreenDevice;
  1207. class CWsBitmap;
  1208. class RAnimDll;
  1209. class RWsSpriteBase;
  1210. class RDirectScreenAccess;
  1211. class RSoundPlugIn;
  1212. class RWsSession : public MWsClientClass, public RSessionBase
  1213. #line 1339
  1214. {
  1215. friend class RWsBuffer;
  1216. friend class RWindowTreeNode;
  1217. friend class CWsScreenDevice;
  1218. friend class CWsBitmap;
  1219. friend class RAnimDll;
  1220. friend class RWsSpriteBase;
  1221. friend class RDirectScreenAccess;
  1222. friend class RSoundPlugIn;
  1223. public:
  1224. #line 1357
  1225. enum TComputeMode
  1226. {
  1227. EPriorityControlDisabled,
  1228. EPriorityControlComputeOn,
  1229. EPriorityControlComputeOff
  1230. };
  1231. enum {ESystemInfoArraySize=16};
  1232. enum TLoggingCommand
  1233. {
  1234. ELoggingEnable,
  1235. ELoggingDisable,
  1236. ELoggingStatusDump,
  1237. ELoggingHeapDump,
  1238. };
  1239. struct TWindowGroupChainInfo
  1240. {
  1241. TInt iId;
  1242. TInt iParentId;
  1243. };
  1244. struct SSystemInfo
  1245. {
  1246. TInt iInfo[ESystemInfoArraySize];
  1247. };
  1248. enum TCustomTextCursorAlignment
  1249. {
  1250. ECustomTextCursorAlignTop,
  1251. ECustomTextCursorAlignBaseline,
  1252. ECustomTextCursorAlignBottom
  1253. };
  1254. public:
  1255. __declspec(dllexport) RWsSession();
  1256. __declspec(dllexport) TInt Connect();
  1257. __declspec(dllexport) TInt Connect(RFs& aFileServer);
  1258. __declspec(dllexport) void Close();
  1259. __declspec(dllexport) TVersion Version();
  1260. __declspec(dllexport) TInt SetHotKey(THotKey aType, TUint aKeyCode, TUint aModifierMask, TUint aModifier);
  1261. __declspec(dllexport) TInt ClearHotKeys(THotKey aType);
  1262. __declspec(dllexport) TInt RestoreDefaultHotKey(THotKey aType);
  1263. __declspec(dllexport) void EventReady(TRequestStatus *aStat);
  1264. __declspec(dllexport) void EventReadyCancel();
  1265. __declspec(dllexport) void GetEvent(TWsEvent &aEvent);
  1266. __declspec(dllexport) void PurgePointerEvents();
  1267. __declspec(dllexport) void RedrawReady(TRequestStatus *aStat);
  1268. __declspec(dllexport) void RedrawReadyCancel();
  1269. __declspec(dllexport) void GetRedraw(TWsRedrawEvent &aEvent);
  1270. __declspec(dllexport) void PriorityKeyReady(TRequestStatus *aStat);
  1271. __declspec(dllexport) void PriorityKeyReadyCancel();
  1272. __declspec(dllexport) void GetPriorityKey(TWsPriorityKeyEvent &aEvent);
  1273. __declspec(dllexport) void Flush();
  1274. __declspec(dllexport) TBool SetAutoFlush(TBool aState);
  1275. __declspec(dllexport) TInt SetKeyboardRepeatRate(const TTimeIntervalMicroSeconds32 &aInitialTime, const TTimeIntervalMicroSeconds32 &aTime);
  1276. __declspec(dllexport) void GetKeyboardRepeatRate(TTimeIntervalMicroSeconds32 &aInitialTime, TTimeIntervalMicroSeconds32 &aTime);
  1277. __declspec(dllexport) void GetDoubleClickSettings(TTimeIntervalMicroSeconds32 &aInterval, TInt &aDistance);
  1278. __declspec(dllexport) TInt SetDoubleClick(const TTimeIntervalMicroSeconds32 &aInterval, TInt aDistance);
  1279. __declspec(dllexport) TInt NumWindowGroups() const;
  1280. __declspec(dllexport) TInt WindowGroupList(CArrayFixFlat<TInt> *aWindowList);
  1281. __declspec(dllexport) TInt WindowGroupList(RArray<TWindowGroupChainInfo> * aWindowList);
  1282. __declspec(dllexport) TInt NumWindowGroups(TInt aPriority) const;
  1283. __declspec(dllexport) TInt WindowGroupList(TInt aPriority, CArrayFixFlat<TInt> *aWindowList);
  1284. __declspec(dllexport) TInt WindowGroupList(TInt aPriority, RArray<TWindowGroupChainInfo> * aWindowList);
  1285. __declspec(dllexport) TInt GetFocusWindowGroup();
  1286. __declspec(dllexport) TInt GetDefaultOwningWindow();
  1287. __declspec(dllexport) TInt SetWindowGroupOrdinalPosition(TInt aIdentifier, TInt aPosition);
  1288. __declspec(dllexport) TInt GetWindowGroupClientThreadId(TInt aIdentifier, TThreadId &aThreadId);
  1289. __declspec(dllexport) TInt GetWindowGroupHandle(TInt aIdentifier);
  1290. __declspec(dllexport) TInt GetWindowGroupOrdinalPriority(TInt aIdentifier);
  1291. __declspec(dllexport) TInt SendEventToWindowGroup(TInt aIdentifier, const TWsEvent &aEvent);
  1292. __declspec(dllexport) TInt SendEventToAllWindowGroups(const TWsEvent &aEvent);
  1293. __declspec(dllexport) TInt SendEventToAllWindowGroups(TInt aPriority, const TWsEvent &aEvent);
  1294. __declspec(dllexport) TInt SendEventToOneWindowGroupsPerClient(const TWsEvent &aEvent);
  1295. __declspec(dllexport) TInt GetWindowGroupNameFromIdentifier(TInt aIdentifier, TDes &aWindowName);
  1296. __declspec(dllexport) TInt FindWindowGroupIdentifier(TInt aPreviousIdentifier,const TDesC& aMatch,TInt aOffset=0);
  1297. __declspec(dllexport) TInt FindWindowGroupIdentifier(TInt aPreviousIdentifier,TThreadId aThreadId);
  1298. __declspec(dllexport) TInt SendMessageToWindowGroup(TInt aIdentifier, TUid aUid, const TDesC8 &aParams);
  1299. __declspec(dllexport) TInt SendMessageToAllWindowGroups(TUid aUid, const TDesC8& aParams);
  1300. __declspec(dllexport) TInt SendMessageToAllWindowGroups(TInt aPriority, TUid aUid, const TDesC8& aParams);
  1301. __declspec(dllexport) TInt FetchMessage(TUid &aUid, TPtr8 &aParams, const TWsEvent& aMessageEvent);
  1302. __declspec(dllexport) void SetShadowVector(const TPoint &aVector);
  1303. __declspec(dllexport) TPoint ShadowVector() const;
  1304. __declspec(dllexport) void SetBackgroundColor(TRgb aColor);
  1305. __declspec(dllexport) TRgb GetBackgroundColor() const;
  1306. __declspec(dllexport) TInt SetSystemPointerCursor(const RWsPointerCursor &aPointerCursor,TInt aCursorNumber);
  1307. __declspec(dllexport) void ClearSystemPointerCursor(TInt aCursorNumber);
  1308. __declspec(dllexport) TInt ClaimSystemPointerCursorList();
  1309. __declspec(dllexport) void FreeSystemPointerCursorList();
  1310. __declspec(dllexport) TInt SetCustomTextCursor(TInt aIdentifier, const TArray<TSpriteMember>& aSpriteMemberArray, TUint aSpriteFlags, TCustomTextCursorAlignment aAlignment);
  1311. __declspec(dllexport) TInt ResourceCount();
  1312. __declspec(dllexport) void PasswordEntered();
  1313. __declspec(dllexport) void ComputeMode(TComputeMode aMode);
  1314. __declspec(dllexport) TInt HeapCount() const;
  1315. __declspec(dllexport) void MarkStart();
  1316. __declspec(dllexport) void CheckNum(TUint aCount);
  1317. __declspec(dllexport) void MarkEnd(TUint aCount);
  1318. __declspec(dllexport) void HeapSetFail(TInt aTAllocFail,TInt aValue);
  1319. __declspec(dllexport) TInt SetModifierState(TEventModifier aModifier,TModifierState aState);
  1320. __declspec(dllexport) TInt GetModifierState() const;
  1321. __declspec(dllexport) TInt RequestOffEvents(TBool aOn,RWindowTreeNode *aWin=0 );
  1322. __declspec(dllexport) TDisplayMode GetDefModeMaxNumColors(TInt& aColor,TInt& aGray) const;
  1323. __declspec(dllexport) TInt GetColorModeList(CArrayFixFlat<TInt> *aModeList) const;
  1324. __declspec(dllexport) void SetPointerCursorArea(const TRect& aArea);
  1325. __declspec(dllexport) void SetPointerCursorArea(TInt aScreenSizeMode,const TRect& aArea);
  1326. __declspec(dllexport) TRect PointerCursorArea() const;
  1327. __declspec(dllexport) TRect PointerCursorArea(TInt aScreenSizeMode) const;
  1328. __declspec(dllexport) void SetPointerCursorMode(TPointerCursorMode aMode);
  1329. __declspec(dllexport) TInt SetClientCursorMode(TPointerCursorMode aMode);
  1330. __declspec(dllexport) TPointerCursorMode PointerCursorMode() const;
  1331. __declspec(dllexport) void SetDefaultSystemPointerCursor(TInt aCursorNumber);
  1332. __declspec(dllexport) void ClearDefaultSystemPointerCursor();
  1333. __declspec(dllexport) TInt SetPointerCursorPosition(const TPoint& aPosition);
  1334. __declspec(dllexport) TPoint PointerCursorPosition() const;
  1335. __declspec(dllexport) void SetDefaultFadingParameters(TUint8 aBlackMap,TUint8 aWhiteMap);
  1336. __declspec(dllexport) void PrepareForSwitchOff();
  1337. __declspec(dllexport) void SetBufferSizeL(TInt aBufSize);
  1338. __declspec(dllexport) TInt SetSystemFaded(TBool aFaded);
  1339. __declspec(dllexport) TInt SetSystemFaded(TBool aFaded,TUint8 aBlackMap,TUint8 aWhiteMap);
  1340. __declspec(dllexport) TInt SetFocusScreen(TInt aScreenNumber);
  1341. __declspec(dllexport) TInt GetFocusScreen();
  1342. __declspec(dllexport) void ClearAllRedrawStores();
  1343. __declspec(dllexport) void SetRemoveKeyCode(TBool aRemove);
  1344. __declspec(dllexport) void SimulateXyInputType(TXYInputType aInputType);
  1345. __declspec(dllexport) void SimulateRawEvent(TRawEvent aEvent);
  1346. __declspec(dllexport) void SimulateKeyEvent(TKeyEvent aEvent);
  1347. __declspec(dllexport) void LogCommand(TLoggingCommand aCommand);
  1348. __declspec(dllexport) void LogMessage(const TLogMessageText &aMessage);
  1349. __declspec(dllexport) void SystemInfo(TInt &aSystemInfoNumber, SSystemInfo &aSystemInfo);
  1350. __declspec(dllexport) void TestWrite(TInt aHandle,TInt aOpcode,const TAny *aData, TInt aLength);
  1351. __declspec(dllexport) void TestWriteReply(TInt aHandle,TInt aOpcode,const TAny *aData, TInt aLength);
  1352. __declspec(dllexport) void TestWriteReplyP(TInt aHandle,TInt aOpcode,const TAny *aData,TInt aLength,TDes8 *aReplyPackage);
  1353. __declspec(dllexport) TInt TestWriteReplyByProvidingRemoteReadAccess(TInt aHandle,TInt aOpcode,const TDesC8& aData,const TDesC8& aRemoteReadBuffer);
  1354. __declspec(dllexport) TInt TestWriteReplyByProvidingRemoteReadAccess(TInt aHandle,TInt aOpcode,const TDesC8& aData,const TDesC16& aRemoteReadBuffer);
  1355. private:
  1356. TInt doWindowGroupList(TInt aPriority, CArrayFixFlat<TInt> * aWindowListId, TInt aNumOpcode, TInt aListOpcode);
  1357. TInt doWindowGroupList(TInt aPriority, RArray<TWindowGroupChainInfo> * aWindowListCh, TInt aNumOpcode, TInt aListOpcode);
  1358. TInt doSetHotKey(TInt aOpcode, TInt aType, TUint aKeycode, TUint aModifierMask, TUint aModifiers);
  1359. void doReadEvent(TRequestStatus *aStat, TInt aOpcode);
  1360. private:
  1361. void connectL();
  1362. TInt DoFlush(const TIpcArgs& aIpcArgs);
  1363. void DirectAcessActivation(TBool aIsNowActive);
  1364. };
  1365. class RWindowGroup;
  1366. class RWsSprite;
  1367. typedef TInt (*AnimCommand)(TPtr8 *aBufPtr,TAny *aPackage);
  1368. class RWindowTreeNode : public MWsClientClass
  1369. #line 1581
  1370. {
  1371. friend class RWindowGroup;
  1372. friend class RWindowBase;
  1373. friend class CWindowGc;
  1374. friend class RAnimDll;
  1375. friend class RWsSprite;
  1376. public:
  1377. enum TFadeControl
  1378. {
  1379. EFadeIncludeChildren=ETrue,
  1380. EFadeWindowOnly=EFalse,
  1381. };
  1382. protected:
  1383. RWindowTreeNode();
  1384. RWindowTreeNode(RWsSession &aWs);
  1385. public:
  1386. __declspec(dllexport) void Close();
  1387. __declspec(dllexport) void Destroy();
  1388. __declspec(dllexport) TUint32 Parent() const;
  1389. __declspec(dllexport) TUint32 PrevSibling() const;
  1390. __declspec(dllexport) TUint32 NextSibling() const;
  1391. __declspec(dllexport) TUint32 Child() const;
  1392. __declspec(dllexport) TInt OrdinalPriority() const;
  1393. __declspec(dllexport) TInt OrdinalPosition() const;
  1394. __declspec(dllexport) TInt FullOrdinalPosition() const;
  1395. __declspec(dllexport) void SetOrdinalPosition(TInt aPos);
  1396. __declspec(dllexport) void SetOrdinalPosition(TInt aPos,TInt aOrdinalPriority);
  1397. __declspec(dllexport) TInt WindowGroupId();
  1398. __declspec(dllexport) TInt SetPointerCursor(TInt aCursorNumber);
  1399. __declspec(dllexport) void SetCustomPointerCursor(const RWsPointerCursor &aPointerCursor);
  1400. __declspec(dllexport) TInt EnableOnEvents(TEventControl aCircumstances=EEventControlOnlyWithKeyboardFocus);
  1401. __declspec(dllexport) void DisableOnEvents();
  1402. __declspec(dllexport) TInt EnableGroupChangeEvents();
  1403. __declspec(dllexport) void DisableGroupChangeEvents();
  1404. __declspec(dllexport) TInt EnableFocusChangeEvents();
  1405. __declspec(dllexport) void DisableFocusChangeEvents();
  1406. __declspec(dllexport) TInt EnableGroupListChangeEvents();
  1407. __declspec(dllexport) void DisableGroupListChangeEvents();
  1408. __declspec(dllexport) TInt EnableVisibilityChangeEvents();
  1409. __declspec(dllexport) void DisableVisibilityChangeEvents();
  1410. __declspec(dllexport) TInt EnableErrorMessages(TEventControl aCircumstances);
  1411. __declspec(dllexport) void DisableErrorMessages();
  1412. __declspec(dllexport) TInt EnableModifierChangedEvents(TUint aModifierMask, TEventControl aCircumstances);
  1413. __declspec(dllexport) void DisableModifierChangedEvents();
  1414. __declspec(dllexport) void SetNonFading(TBool aNonFading);
  1415. __declspec(dllexport) void SetFaded(TBool aFaded,TFadeControl aIncludeChildren);
  1416. __declspec(dllexport) void SetFaded(TBool aFaded,TFadeControl aIncludeChildren,TUint8 aBlackMap,TUint8 aWhiteMap);
  1417. __declspec(dllexport) void ClearPointerCursor();
  1418. protected:
  1419. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  1420. };
  1421. class RWindowBase : public RWindowTreeNode
  1422. #line 1654
  1423. {
  1424. public:
  1425. enum TCaptureFlags
  1426. {
  1427. TCaptureFlagEnabled=0x01,
  1428. TCaptureFlagDragDrop=0x02,
  1429. TCaptureFlagAllGroups=0x04,
  1430. TCaptureDisabled=0,
  1431. TCaptureEnabled=TCaptureFlagEnabled,
  1432. TCaptureDragDrop=TCaptureFlagEnabled|TCaptureFlagDragDrop|TCaptureFlagAllGroups,
  1433. };
  1434. protected:
  1435. RWindowBase();
  1436. RWindowBase(RWsSession &aWs);
  1437. public:
  1438. __declspec(dllexport) void Activate();
  1439. __declspec(dllexport) void SetPosition(const TPoint &point);
  1440. __declspec(dllexport) TInt SetSizeErr(const TSize &size);
  1441. __declspec(dllexport) TInt SetExtentErr(const TPoint &point,const TSize &size);
  1442. __declspec(dllexport) TSize Size() const;
  1443. __declspec(dllexport) TPoint InquireOffset(const RWindowTreeNode &aWindow) const;
  1444. __declspec(dllexport) void PointerFilter(TUint32 aFilterMask, TUint32 aFilter);
  1445. __declspec(dllexport) void SetPointerGrab(TBool aState);
  1446. __declspec(dllexport) void ClaimPointerGrab(TBool aSendUpEvent=ETrue);
  1447. __declspec(dllexport) void SetPointerCapture(TInt aFlags);
  1448. __declspec(dllexport) void SetPointerCapturePriority(TInt aPriority);
  1449. __declspec(dllexport) TInt GetPointerCapturePriority() const;
  1450. __declspec(dllexport) void SetVisible(TBool aState);
  1451. __declspec(dllexport) void SetShadowHeight(TInt aHeight);
  1452. __declspec(dllexport) void SetShadowDisabled(TBool aState);
  1453. __declspec(dllexport) TPoint Position() const;
  1454. __declspec(dllexport) TPoint AbsPosition() const;
  1455. __declspec(dllexport) TInt SetCornerType(TCornerType aCornerType, TInt aCornerFlags=0);
  1456. __declspec(dllexport) TInt SetShape(const TRegion &aRegion);
  1457. __declspec(dllexport) TInt SetRequiredDisplayMode(TDisplayMode aMode);
  1458. __declspec(dllexport) TDisplayMode DisplayMode();
  1459. __declspec(dllexport) void EnableBackup(TUint aBackupType=EWindowBackupAreaBehind);
  1460. __declspec(dllexport) void RequestPointerRepeatEvent(TTimeIntervalMicroSeconds32 aTime,const TRect &aRect);
  1461. __declspec(dllexport) void CancelPointerRepeatEventRequest();
  1462. __declspec(dllexport) TInt AllocPointerMoveBuffer(TInt aMaxPoints, TUint aFlags);
  1463. __declspec(dllexport) void FreePointerMoveBuffer();
  1464. __declspec(dllexport) void EnablePointerMoveBuffer();
  1465. __declspec(dllexport) void DisablePointerMoveBuffer();
  1466. __declspec(dllexport) TInt RetrievePointerMoveBuffer(TDes8 &aBuf);
  1467. __declspec(dllexport) void DiscardPointerMoveBuffer();
  1468. __declspec(dllexport) TInt AddKeyRect(const TRect &aRect, TInt aScanCode, TBool aActivatedByPointerSwitchOn);
  1469. __declspec(dllexport) void RemoveAllKeyRects();
  1470. __declspec(dllexport) TInt PasswordWindow(TPasswordMode aPasswordMode);
  1471. __declspec(dllexport) void FadeBehind(TBool aFade);
  1472. __declspec(dllexport) TBool IsFaded();
  1473. __declspec(dllexport) TBool IsNonFading();
  1474. __declspec(dllexport) TInt MoveToGroup(TInt aIdentifier);
  1475. protected:
  1476. TInt construct(const RWindowTreeNode &parent,TUint32 aHandle, TInt aType, TDisplayMode aDisplayMode);
  1477. };
  1478. class RBlankWindow : public RWindowBase
  1479. #line 1735
  1480. {
  1481. public:
  1482. __declspec(dllexport) RBlankWindow();
  1483. __declspec(dllexport) RBlankWindow(RWsSession &aWs);
  1484. __declspec(dllexport) TInt Construct(const RWindowTreeNode &parent, TUint32 aHandle);
  1485. __declspec(dllexport) void SetColor(TRgb aColor);
  1486. __declspec(dllexport) void SetColor();
  1487. __declspec(dllexport) void SetSize(const TSize &size);
  1488. __declspec(dllexport) void SetExtent(const TPoint &point,const TSize &size);
  1489. };
  1490. class RDrawableWindow : public RWindowBase
  1491. #line 1757
  1492. {
  1493. protected:
  1494. RDrawableWindow();
  1495. RDrawableWindow(RWsSession &aWs);
  1496. public:
  1497. __declspec(dllexport) void Scroll(const TPoint &aOffset);
  1498. __declspec(dllexport) void Scroll(const TRect &aClipRect, const TPoint &aOffset);
  1499. __declspec(dllexport) void Scroll(const TPoint &aOffset, const TRect &aRect);
  1500. __declspec(dllexport) void Scroll(const TRect &aClipRect, const TPoint &aOffset, const TRect &aRect);
  1501. __declspec(dllexport) TRect GetDrawRect();
  1502. protected:
  1503. void SetDrawRect(const TRect &aRect);
  1504. private:
  1505. void doScroll(const TRect &aClipRect, const TPoint &aOffset, const TRect &aRect, TInt aOpcode);
  1506. TRect iDrawRect;
  1507. };
  1508. class RWindow : public RDrawableWindow
  1509. {
  1510. public:
  1511. __declspec(dllexport) RWindow();
  1512. __declspec(dllexport) RWindow(RWsSession &aWs);
  1513. __declspec(dllexport) TInt Construct(const RWindowTreeNode &parent,TUint32 aHandle);
  1514. __declspec(dllexport) void BeginRedraw();
  1515. __declspec(dllexport) void BeginRedraw(const TRect &aRect);
  1516. __declspec(dllexport) void EndRedraw();
  1517. __declspec(dllexport) void Invalidate();
  1518. __declspec(dllexport) void Invalidate(const TRect &aRect);
  1519. __declspec(dllexport) void GetInvalidRegion(RRegion &aRegion);
  1520. __declspec(dllexport) void SetBackgroundColor(TRgb aColor);
  1521. __declspec(dllexport) void SetBackgroundColor();
  1522. __declspec(dllexport) void SetSize(const TSize &size);
  1523. __declspec(dllexport) void SetExtent(const TPoint &point,const TSize &size);
  1524. __declspec(dllexport) void HandleTransparencyUpdate();
  1525. __declspec(dllexport) TInt SetTransparencyFactor(const TRgb& aTransparencyFactor);
  1526. __declspec(dllexport) TInt SetTransparencyBitmap(const CFbsBitmap& aTransparencyBitmap);
  1527. __declspec(dllexport) TInt SetTransparencyWsBitmap(const CWsBitmap& aTransparencyBitmap);
  1528. __declspec(dllexport) void SetNonTransparent();
  1529. __declspec(dllexport) void EnableRedrawStore(TBool aEnabled);
  1530. __declspec(dllexport) TInt SetTransparencyAlphaChannel();
  1531. __declspec(dllexport) TInt SetTransparentRegion(const TRegion& aRegion);
  1532. };
  1533. class RBackedUpWindow : public RDrawableWindow
  1534. #line 1823
  1535. {
  1536. public:
  1537. __declspec(dllexport) RBackedUpWindow();
  1538. __declspec(dllexport) RBackedUpWindow(RWsSession &aWs);
  1539. __declspec(dllexport) TInt Construct(const RWindowTreeNode &parent,TDisplayMode aDisplayMode, TUint32 aHandle);
  1540. __declspec(dllexport) TInt BitmapHandle();
  1541. __declspec(dllexport) void UpdateScreen();
  1542. __declspec(dllexport) void UpdateScreen(const TRegion &aRegion);
  1543. __declspec(dllexport) void UpdateBackupBitmap();
  1544. __declspec(dllexport) void MaintainBackup();
  1545. };
  1546. class RWindowGroup : public RWindowTreeNode
  1547. {
  1548. public:
  1549. __declspec(dllexport) RWindowGroup();
  1550. __declspec(dllexport) RWindowGroup(RWsSession &aWs);
  1551. __declspec(dllexport) TInt Construct(TUint32 aClientHandle);
  1552. __declspec(dllexport) TInt Construct(TUint32 aClientHandle,TBool aIsFocusable);
  1553. __declspec(dllexport) TInt ConstructChildApp(TInt aIdOfParentWindowGroup,TUint32 aClientHandle);
  1554. __declspec(dllexport) TInt ConstructChildApp(TInt aIdOfParentWindowGroup,TUint32 aClientHandle,TBool aIsFocusable);
  1555. __declspec(dllexport) void AllowProcessToCreateChildWindowGroups(TUid aProcessSID);
  1556. __declspec(dllexport) void EnableReceiptOfFocus(TBool aState);
  1557. __declspec(dllexport) void AutoForeground(TBool aState);
  1558. __declspec(dllexport) void SetOrdinalPriorityAdjust(TInt aAdjust);
  1559. __declspec(dllexport) TInt32 CaptureKey(TUint aKeycode, TUint aModifierMask, TUint aModifier);
  1560. __declspec(dllexport) TInt32 CaptureKey(TUint aKeycode, TUint aModifierMask, TUint aModifier, TInt aPriority);
  1561. __declspec(dllexport) void CancelCaptureKey(TInt32 aCaptureKey);
  1562. __declspec(dllexport) TInt32 CaptureKeyUpAndDowns(TUint aScanCode, TUint aModifierMask, TUint aModifier);
  1563. __declspec(dllexport) TInt32 CaptureKeyUpAndDowns(TUint aScanCode, TUint aModifierMask, TUint aModifier, TInt aPriority);
  1564. __declspec(dllexport) void CancelCaptureKeyUpAndDowns(TInt32 aCaptureKey);
  1565. __declspec(dllexport) TInt32 CaptureLongKey(TUint aInputKeyCode,TUint aOutputKeyCode,TUint aModifierMask,TUint aModifier
  1566. ,TInt aPriority,TUint aFlags);
  1567. __declspec(dllexport) TInt32 CaptureLongKey(TTimeIntervalMicroSeconds32 aRepeatTime,TUint aInputKeyCode,TUint aOutputKeyCode
  1568. ,TUint aModifierMask,TUint aModifier,TInt aPriority,TUint aFlags);
  1569. __declspec(dllexport) void CancelCaptureLongKey(TInt32 aCaptureKey);
  1570. __declspec(dllexport) TInt AddPriorityKey(TUint aKeycode, TUint aModifierMask, TUint aModifier);
  1571. __declspec(dllexport) void RemovePriorityKey(TUint aKeycode, TUint aModifierMask, TUint aModifier);
  1572. __declspec(dllexport) void SetTextCursor(RWindowBase &aWin, const TPoint &aPos, const TTextCursor &aCursor);
  1573. __declspec(dllexport) void SetTextCursor(RWindowBase &aWin, const TPoint &aPos, const TTextCursor &aCursor, const TRect &aClipRect);
  1574. __declspec(dllexport) void CancelTextCursor();
  1575. __declspec(dllexport) void SetOwningWindowGroup(TInt aIdentifier);
  1576. __declspec(dllexport) void DefaultOwningWindow();
  1577. __declspec(dllexport) TInt SetName(const TDesC &aName);
  1578. __declspec(dllexport) TInt Name(TDes &aWindowName) const;
  1579. __declspec(dllexport) TInt Identifier() const;
  1580. __declspec(dllexport) void DisableKeyClick(TBool aState);
  1581. __declspec(dllexport) TInt EnableScreenChangeEvents();
  1582. __declspec(dllexport) void DisableScreenChangeEvents();
  1583. __declspec(dllexport) void SimulatePointerEvent(TRawEvent aEvent);
  1584. private:
  1585. TInt32 doCaptureKey(TUint aKey, TUint aModifierMask, TUint aModifiers, TInt aPriority, TInt aOpcode);
  1586. void doCancelCaptureKey(TInt32 aCaptureKeyHandle, TInt aOpcode);
  1587. };
  1588. class CWsBitmap : public CFbsBitmap, public MWsClientClass
  1589. #line 1893
  1590. {
  1591. public:
  1592. __declspec(dllexport) CWsBitmap();
  1593. __declspec(dllexport) CWsBitmap(RWsSession &aWs);
  1594. __declspec(dllexport) ~CWsBitmap();
  1595. __declspec(dllexport) TInt Create(const TSize& aSizeInPixels,TDisplayMode aDispMode);
  1596. __declspec(dllexport) TInt Duplicate(TInt aHandle);
  1597. __declspec(dllexport) TInt Load(const TDesC& aFileName,TInt32 aId,TBool aShareIfLoaded=ETrue);
  1598. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  1599. __declspec(dllexport) void Reset();
  1600. private:
  1601. TInt createWsBitmap(TInt aErr);
  1602. };
  1603. class CWindowGc : public CBitmapContext, public MWsClientClass
  1604. #line 1933
  1605. {
  1606. friend class CWsScreenDevice;
  1607. public:
  1608. __declspec(dllexport) CWindowGc(CWsScreenDevice *aDevice);
  1609. __declspec(dllexport) virtual ~CWindowGc();
  1610. __declspec(dllexport) virtual TInt Construct();
  1611. __declspec(dllexport) virtual void Activate(RDrawableWindow &aDevice);
  1612. __declspec(dllexport) virtual void Deactivate();
  1613. __declspec(dllexport) virtual CGraphicsDevice* Device() const;
  1614. __declspec(dllexport) virtual void SetOrigin(const TPoint &aPoint=TPoint(0,0));
  1615. __declspec(dllexport) virtual void SetDrawMode(TDrawMode aDrawingMode);
  1616. __declspec(dllexport) virtual void SetClippingRect(const TRect& aRect);
  1617. __declspec(dllexport) virtual void CancelClippingRect();
  1618. __declspec(dllexport) virtual void Reset();
  1619. __declspec(dllexport) virtual void UseFont(const CFont *aFont);
  1620. __declspec(dllexport) virtual void DiscardFont();
  1621. __declspec(dllexport) virtual void SetUnderlineStyle(TFontUnderline aUnderlineStyle);
  1622. __declspec(dllexport) virtual void SetStrikethroughStyle(TFontStrikethrough aStrikethroughStyle);
  1623. __declspec(dllexport) virtual void SetWordJustification(TInt aExcessWidth,TInt aNumGaps);
  1624. __declspec(dllexport) virtual void SetCharJustification(TInt aExcessWidth,TInt aNumChars);
  1625. __declspec(dllexport) virtual void SetPenColor(const TRgb &aColor);
  1626. __declspec(dllexport) virtual void SetPenStyle(TPenStyle aPenStyle);
  1627. __declspec(dllexport) virtual void SetPenSize(const TSize& aSize);
  1628. __declspec(dllexport) virtual void SetBrushColor(const TRgb &aColor);
  1629. __declspec(dllexport) virtual void SetBrushStyle(TBrushStyle aBrushStyle);
  1630. __declspec(dllexport) virtual void SetBrushOrigin(const TPoint &aOrigin);
  1631. __declspec(dllexport) virtual void UseBrushPattern(const CFbsBitmap *aDevice);
  1632. __declspec(dllexport) virtual void DiscardBrushPattern();
  1633. __declspec(dllexport) virtual void MoveTo(const TPoint &aPoint);
  1634. __declspec(dllexport) virtual void MoveBy(const TPoint &aPoint);
  1635. __declspec(dllexport) virtual void Plot(const TPoint &aPoint);
  1636. __declspec(dllexport) virtual void DrawArc(const TRect &aRect,const TPoint &aStart,const TPoint &aEnd);
  1637. __declspec(dllexport) virtual void DrawLine(const TPoint &aPoint1,const TPoint &aPoint2);
  1638. __declspec(dllexport) virtual void DrawLineTo(const TPoint &aPoint);
  1639. __declspec(dllexport) virtual void DrawLineBy(const TPoint &aPoint);
  1640. __declspec(dllexport) virtual void DrawPolyLine(const CArrayFix<TPoint> *aPointList);
  1641. __declspec(dllexport) virtual void DrawPolyLine(const TPoint* aPointList,TInt aNumPoints);
  1642. __declspec(dllexport) virtual void DrawPie(const TRect &aRect,const TPoint &aStart,const TPoint &aEnd);
  1643. __declspec(dllexport) virtual void DrawEllipse(const TRect &aRect);
  1644. __declspec(dllexport) virtual void DrawRect(const TRect &aRect);
  1645. __declspec(dllexport) virtual void DrawRoundRect(const TRect &aRect,const TSize &aEllipse);
  1646. __declspec(dllexport) virtual TInt DrawPolygon(const CArrayFix<TPoint> *aPointList,TFillRule aFillRule=EAlternate);
  1647. __declspec(dllexport) virtual TInt DrawPolygon(const TPoint* aPointList,TInt aNumPoints,TFillRule aFillRule=EAlternate);
  1648. __declspec(dllexport) virtual void DrawBitmap(const TPoint &aTopLeft, const CFbsBitmap *aDevice);
  1649. __declspec(dllexport) virtual void DrawBitmap(const TRect &aDestRect, const CFbsBitmap *aDevice);
  1650. __declspec(dllexport) virtual void DrawBitmap(const TRect &aDestRect, const CFbsBitmap *aDevice, const TRect &aSourceRect);
  1651. __declspec(dllexport) virtual void DrawBitmapMasked(const TRect& aDestRect, const CFbsBitmap* aBitmap, const TRect& aSourceRect, const CFbsBitmap* aMaskBitmap, TBool aInvertMask);
  1652. __declspec(dllexport) virtual void DrawBitmapMasked(const TRect& aDestRect, const CWsBitmap* aBitmap, const TRect& aSourceRect, const CWsBitmap* aMaskBitmap, TBool aInvertMask);
  1653. __declspec(dllexport) virtual void DrawText(const TDesC &aBuf,const TPoint &aPos);
  1654. __declspec(dllexport) virtual void DrawText(const TDesC &aBuf,const TRect &aBox,TInt aBaselineOffset,TTextAlign aHoriz=ELeft,TInt aLeftMrg=0);
  1655. __declspec(dllexport) virtual void Clear();
  1656. __declspec(dllexport) virtual void Clear(const TRect &aRect);
  1657. __declspec(dllexport) virtual void CopyRect(const TPoint &anOffset,const TRect &aRect);
  1658. __declspec(dllexport) virtual void BitBlt(const TPoint &aPos, const CFbsBitmap *aBitmap);
  1659. __declspec(dllexport) virtual void BitBlt(const TPoint &aDestination, const CFbsBitmap *aBitmap, const TRect &aSource);
  1660. __declspec(dllexport) virtual void BitBltMasked(const TPoint& aPoint,const CFbsBitmap* aBitmap,const TRect& aSourceRect,const CFbsBitmap* aMaskBitmap,TBool aInvertMask);
  1661. __declspec(dllexport) virtual void BitBlt(const TPoint &aPoint, const CWsBitmap *aBitmap);
  1662. __declspec(dllexport) virtual void BitBlt(const TPoint &aDestination, const CWsBitmap *aBitmap, const TRect &aSource);
  1663. __declspec(dllexport) virtual void BitBltMasked(const TPoint& aPoint,const CWsBitmap *aBitmap,const TRect& aSourceRect,const CWsBitmap *aMaskBitmap,TBool aInvertMask);
  1664. __declspec(dllexport) virtual void MapColors(const TRect& aRect,const TRgb* aColors,TInt aNumPairs=2,TBool aMapForwards=ETrue);
  1665. __declspec(dllexport) virtual void DrawTextVertical(const TDesC& aText,const TPoint& aPos,TBool aUp);
  1666. __declspec(dllexport) virtual void DrawTextVertical(const TDesC& aText,const TRect& aBox,TInt aBaselineOffset,TBool aUp,TTextAlign aVert=ELeft,TInt aMargin=0);
  1667. __declspec(dllexport) virtual void SetDitherOrigin(const TPoint& aPoint);
  1668. __declspec(dllexport) virtual TInt SetClippingRegion(const TRegion &aRegion);
  1669. __declspec(dllexport) virtual void CancelClippingRegion();
  1670. __declspec(dllexport) virtual void SetOpaque(TBool aDrawOpaque=ETrue);
  1671. __declspec(dllexport) virtual void SetFaded(TBool aFaded);
  1672. __declspec(dllexport) virtual void SetFadingParameters(TUint8 aBlackMap,TUint8 aWhiteMap);
  1673. __declspec(dllexport) virtual TInt AlphaBlendBitmaps(const TPoint& aDestPt, const CFbsBitmap* aSrcBmp, const TRect& aSrcRect, const CFbsBitmap* aAlphaBmp, const TPoint& aAlphaPt);
  1674. __declspec(dllexport) virtual TInt AlphaBlendBitmaps(const TPoint& aDestPt, const CWsBitmap* aSrcBmp, const TRect& aSrcRect, const CWsBitmap* aAlphaBmp, const TPoint& aAlphaPt);
  1675. private:
  1676. __declspec(dllexport) void Reserved_CGraphicsContext_1();
  1677. __declspec(dllexport) void Reserved_CGraphicsContext_2();
  1678. __declspec(dllexport) void Reserved_CBitmapContext_1();
  1679. __declspec(dllexport) void Reserved_CBitmapContext_2();
  1680. __declspec(dllexport) void Reserved_CBitmapContext_3();
  1681. __declspec(dllexport) virtual void Reserved_CWindowGc_1();
  1682. __declspec(dllexport) virtual void Reserved_CWindowGc_2();
  1683. __declspec(dllexport) virtual void Reserved_CWindowGc_3();
  1684. __declspec(dllexport) virtual void Reserved_CWindowGc_4();
  1685. __declspec(dllexport) virtual void Reserved_CWindowGc_5();
  1686. private:
  1687. TRgb Color(TInt aOpcode)const;
  1688. void SetJustification(TInt aExcessWidth,TInt aNumGaps, TInt aOpcode);
  1689. void DrawArcOrPie(const TRect &aRect,const TPoint &aStart,const TPoint &aEnd, TInt aOpcode);
  1690. void doDrawPolyLine(const CArrayFix<TPoint> *aPointArray, const TPoint* aPointList,TInt aNumPoints);
  1691. TInt doDrawPolygon(const CArrayFix<TPoint> *aPointArray,const TPoint* aPointList,TInt aNumPoints,TFillRule aFillRule);
  1692. void WriteTextPos(TInt aOpcode,TInt aOpcodePtr,const TPoint &aPos,const TDesC &aBuf) const;
  1693. void WriteTextCommand(TAny *aCmd, TInt aLen,const TDesC &aBuf,TInt aOpcode,TInt aOpcodePtr) const;
  1694. private:
  1695. CFbsFont *iFont;
  1696. CWsScreenDevice *iDevice;
  1697. };
  1698. class CWsScreenDevice : public CBitmapDevice, public MWsClientClass
  1699. #line 2077
  1700. {
  1701. public:
  1702. enum TSpriteInCompare
  1703. {
  1704. ERemoveSprite=0,
  1705. EIncludeSprite=1,
  1706. };
  1707. public:
  1708. __declspec(dllexport) CWsScreenDevice();
  1709. __declspec(dllexport) CWsScreenDevice(RWsSession &aWs);
  1710. __declspec(dllexport) ~CWsScreenDevice();
  1711. __declspec(dllexport) TInt Construct();
  1712. __declspec(dllexport) TInt Construct( TInt aDefaultScreenNumber ) ;
  1713. __declspec(dllexport) TDisplayMode DisplayMode() const;
  1714. __declspec(dllexport) TSize SizeInPixels() const;
  1715. __declspec(dllexport) TSize SizeInTwips() const;
  1716. __declspec(dllexport) TInt HorizontalTwipsToPixels(TInt aTwips) const;
  1717. __declspec(dllexport) TInt VerticalTwipsToPixels(TInt aTwips) const;
  1718. __declspec(dllexport) TInt HorizontalPixelsToTwips(TInt aPixels) const;
  1719. __declspec(dllexport) TInt VerticalPixelsToTwips(TInt aPixels) const;
  1720. __declspec(dllexport) TRect PointerRect() const;
  1721. __declspec(dllexport) TInt CreateContext(CGraphicsContext *&aGc);
  1722. inline TInt CreateContext(CWindowGc*& aGc);
  1723. __declspec(dllexport) virtual TInt GetNearestFontInTwips(CFont*& aFont,const TFontSpec& aFontSpec);
  1724. __declspec(dllexport) virtual TInt GetNearestFontToDesignHeightInTwips(CFont*& aFont,const TFontSpec& aFontSpec);
  1725. __declspec(dllexport) virtual TInt GetNearestFontToMaxHeightInTwips(CFont*& aFont,const TFontSpec& aFontSpec,TInt aMaxHeight);
  1726. __declspec(dllexport) TInt NumTypefaces() const;
  1727. __declspec(dllexport) void TypefaceSupport(TTypefaceSupport& aTypefaceSupport,TInt aTypefaceIndex) const;
  1728. __declspec(dllexport) TInt FontHeightInTwips(TInt aTypefaceIndex,TInt aHeightIndex) const;
  1729. __declspec(dllexport) void GetPixel(TRgb& aColor,const TPoint& aPixel) const;
  1730. __declspec(dllexport) void GetScanLine(TDes8& aScanLine,const TPoint& aStartPixel,TInt aPixelLength, TDisplayMode aDispMode) const;
  1731. __declspec(dllexport) TInt AddFile(const TDesC& aName,TInt& aId);
  1732. __declspec(dllexport) void RemoveFile(TInt aId=0);
  1733. __declspec(dllexport) virtual TInt GetNearestFontInPixels(CFont*& aFont,const TFontSpec& aFontSpec);
  1734. __declspec(dllexport) virtual TInt GetNearestFontToDesignHeightInPixels(CFont*& aFont,const TFontSpec& aFontSpec);
  1735. __declspec(dllexport) virtual TInt GetNearestFontToMaxHeightInPixels(CFont*& aFont,const TFontSpec& aFontSpec,TInt aMaxHeight);
  1736. __declspec(dllexport) TInt FontHeightInPixels(TInt aTypefaceIndex,TInt aHeightIndex) const;
  1737. __declspec(dllexport) void ReleaseFont(CFont* aFont);
  1738. __declspec(dllexport) void PaletteAttributes(TBool& aModifiable,TInt& aNumEntries) const;
  1739. __declspec(dllexport) void SetPalette(CPalette* aPalette);
  1740. __declspec(dllexport) TInt GetPalette(CPalette*& aPalette) const;
  1741. __declspec(dllexport) TInt SetCustomPalette(const CPalette* aPalette);
  1742. __declspec(dllexport) TInt GetFontById(CFont*& aFont,TUid aUid,const TAlgStyle& aAlgStyle);
  1743. __declspec(dllexport) TBool RectCompare(const TRect &aRect1,const TRect &aRect2);
  1744. __declspec(dllexport) TBool RectCompare(const TRect& aRect1,const TRect &aRect2,TUint aFlags) const;
  1745. __declspec(dllexport) TInt CopyScreenToBitmap(const CFbsBitmap *aBitmap) const;
  1746. __declspec(dllexport) TInt CopyScreenToBitmap(const CFbsBitmap *aBitmap, const TRect &aRect) const;
  1747. __declspec(dllexport) void SetScreenSizeAndRotation(const TPixelsTwipsAndRotation &aSizeAndRotation);
  1748. __declspec(dllexport) void GetDefaultScreenSizeAndRotation(TPixelsTwipsAndRotation &aSizeAndRotation) const;
  1749. __declspec(dllexport) void SetScreenSizeAndRotation(const TPixelsAndRotation &aSizeAndRotation);
  1750. __declspec(dllexport) void GetDefaultScreenSizeAndRotation(TPixelsAndRotation &aSizeAndRotation) const;
  1751. __declspec(dllexport) TScreenModeEnforcement ScreenModeEnforcement() const;
  1752. __declspec(dllexport) void SetScreenModeEnforcement(TScreenModeEnforcement aMode) const;
  1753. __declspec(dllexport) void GetScreenModeSizeAndRotation(TInt aMode, TPixelsTwipsAndRotation &aSizeAndRotation) const;
  1754. __declspec(dllexport) void GetScreenModeSizeAndRotation(TInt aMode, TPixelsAndRotation &aSizeAndRotation) const;
  1755. __declspec(dllexport) void SetCurrentRotations(TInt aMode, CFbsBitGc::TGraphicsOrientation aRotation) const;
  1756. __declspec(dllexport) TInt GetRotationsList(TInt aMode, CArrayFixFlat<TInt> *aRotationList) const;
  1757. __declspec(dllexport) TInt NumScreenModes() const;
  1758. __declspec(dllexport) void SetScreenMode(TInt aMode);
  1759. __declspec(dllexport) TInt CurrentScreenMode() const;
  1760. __declspec(dllexport) void SetAppScreenMode(TInt aMode);
  1761. __declspec(dllexport) TPoint GetDefaultScreenModeOrigin() const;
  1762. __declspec(dllexport) TPoint GetScreenModeOrigin(TInt aMode) const;
  1763. __declspec(dllexport) TSize GetCurrentScreenModeScale() const;
  1764. __declspec(dllexport) TSize GetScreenModeScale(TInt aMode) const;
  1765. __declspec(dllexport) TPoint GetCurrentScreenModeScaledOrigin() const;
  1766. __declspec(dllexport) TPoint GetScreenModeScaledOrigin(TInt aMode) const;
  1767. __declspec(dllexport) TInt GetScreenSizeModeList(RArray<TInt> * aModeList);
  1768. __declspec(dllexport) TDisplayMode GetScreenModeDisplayMode(const TInt &aMode) const;
  1769. __declspec(dllexport) TSizeMode GetCurrentScreenModeAttributes() const;
  1770. __declspec(dllexport) void SetCurrentScreenModeAttributes(const TSizeMode &aModeAtt);
  1771. __declspec(dllexport) TInt GetScreenNumber() const;
  1772. private:
  1773. CFbsTypefaceStore* iTypefaceStore;
  1774. TSize iPhysicalScreenSizeInTwips;
  1775. TSize iDisplaySizeInPixels;
  1776. friend class CWindowGc;
  1777. };
  1778. class RWsSpriteBase : public MWsClientClass
  1779. #line 2190
  1780. {
  1781. protected:
  1782. __declspec(dllexport) RWsSpriteBase();
  1783. __declspec(dllexport) RWsSpriteBase(RWsSession &aWs);
  1784. public:
  1785. __declspec(dllexport) TInt Activate();
  1786. __declspec(dllexport) TInt AppendMember(const TSpriteMember &aMemberData);
  1787. __declspec(dllexport) void UpdateMember(TInt aIndex);
  1788. __declspec(dllexport) TInt UpdateMember(TInt aIndex, const TSpriteMember &aMemberData);
  1789. __declspec(dllexport) void Close();
  1790. };
  1791. class RWsSprite : public RWsSpriteBase
  1792. {
  1793. public:
  1794. __declspec(dllexport) RWsSprite();
  1795. __declspec(dllexport) RWsSprite(RWsSession &aWs);
  1796. __declspec(dllexport) TInt Construct(RWindowTreeNode &aWindow, const TPoint &aPos, TInt aFlags);
  1797. __declspec(dllexport) void SetPosition(const TPoint &aPos);
  1798. };
  1799. class RWsPointerCursor : public RWsSpriteBase
  1800. #line 2242
  1801. {
  1802. friend class RWindowTreeNode;
  1803. friend class RWsSession;
  1804. public:
  1805. __declspec(dllexport) RWsPointerCursor();
  1806. __declspec(dllexport) RWsPointerCursor(RWsSession &aWs);
  1807. __declspec(dllexport) TInt Construct(TInt aFlags);
  1808. };
  1809. class RAnim;
  1810. class RAnimDll : public MWsClientClass
  1811. #line 2266
  1812. {
  1813. public:
  1814. __declspec(dllexport) RAnimDll();
  1815. __declspec(dllexport) virtual ~RAnimDll();
  1816. __declspec(dllexport) RAnimDll(RWsSession &aWs);
  1817. __declspec(dllexport) TInt Load(const TDesC &aFileName);
  1818. __declspec(dllexport) void Destroy();
  1819. __declspec(dllexport) virtual void Close();
  1820. private:
  1821. TInt CommandReply(TInt aHandle, TInt aOpcode, const TIpcArgs* aIpcArgs=0 );
  1822. TInt CommandReply(TInt aHandle, TInt aOpcode, const TDesC8& aArgs, const TIpcArgs* aIpcArgs=0 );
  1823. void Command(TInt aHandle, TInt aOpcode, const TPtrC8 &aArgs);
  1824. void Command(TInt aHandle, TInt aOpcode);
  1825. void AsyncCommandReply(TRequestStatus& aStatus, TInt aOpcode, TIpcArgs& aIpcArgs);
  1826. TInt CreateInstance(TInt32& aHandle, const MWsClientClass &aDevice, TInt aType, const TDesC8 &aArgs, TInt aOpcode, const TIpcArgs* aIpcArgs);
  1827. void DestroyInstance(TInt aHandle);
  1828. private:
  1829. friend class RAnim;
  1830. };
  1831. class RAnim
  1832. {
  1833. public:
  1834. __declspec(dllexport) virtual ~RAnim();
  1835. __declspec(dllexport) virtual void Close();
  1836. __declspec(dllexport) void Destroy();
  1837. protected:
  1838. __declspec(dllexport) RAnim();
  1839. __declspec(dllexport) RAnim(RAnimDll &aDll);
  1840. __declspec(dllexport) TInt Construct(const RWindowBase &aDevice, TInt aType, const TDesC8 &aParams);
  1841. __declspec(dllexport) TInt Construct(const RWindowBase &aDevice, TInt aType, const TDesC8 &aParams, const TIpcArgs& aIpcArgs);
  1842. __declspec(dllexport) TInt Construct(const RWsSprite &aDevice, TInt aType, const TDesC8 &aParams);
  1843. __declspec(dllexport) TInt Construct(const RWsSprite &aDevice, TInt aType, const TDesC8 &aParams, const TIpcArgs& aIpcArgs);
  1844. __declspec(dllexport) TInt CommandReply(TInt aOpcode);
  1845. __declspec(dllexport) TInt CommandReply(TInt aOpcode, const TPtrC8 &aArgs);
  1846. __declspec(dllexport) TInt CommandReply(TInt aOpcode, const TDesC8& aArgs, const TIpcArgs& aIpcArgs);
  1847. __declspec(dllexport) void Command(TInt aOpcode, const TPtrC8 &aArgs);
  1848. __declspec(dllexport) void Command(TInt aOpcode);
  1849. __declspec(dllexport) void AsyncCommandReply(TRequestStatus& aRequestStatus,TInt aOpcode, const TIpcArgs& aIpcArgs);
  1850. private:
  1851. TInt32 iHandle;
  1852. RAnimDll *iAnimDll;
  1853. };
  1854. class CDsaMsgQueue;
  1855. class RDirectScreenAccess : public MWsClientClass
  1856. #line 2330
  1857. {
  1858. public:
  1859. #line 2341
  1860. enum TTerminationReasons
  1861. {
  1862. ETerminateCancel,
  1863. ETerminateRegion,
  1864. ETerminateScreenMode,
  1865. ETerminateRotation,
  1866. };
  1867. enum TPriority
  1868. {
  1869. EPriorityVeryHigh=2000,
  1870. };
  1871. public:
  1872. __declspec(dllexport) RDirectScreenAccess();
  1873. __declspec(dllexport) RDirectScreenAccess(RWsSession& aWs);
  1874. __declspec(dllexport) TInt Construct();
  1875. __declspec(dllexport) TInt Request(RRegion*& aRegion,TRequestStatus& aStatus,const RWindowBase& aWindow);
  1876. __declspec(dllexport) void Completed();
  1877. __declspec(dllexport) void Cancel();
  1878. __declspec(dllexport) void Close();
  1879. private:
  1880. RWsSession* iWs;
  1881. CDsaMsgQueue* iMsgQueue;
  1882. RThread iWsThread;
  1883. TRequestStatus* iDummyRequest;
  1884. };
  1885. class MAbortDirectScreenAccess
  1886. {
  1887. public:
  1888. #line 2404
  1889. virtual void AbortNow(RDirectScreenAccess::TTerminationReasons aReason)=0;
  1890. };
  1891. class MDirectScreenAccess : public MAbortDirectScreenAccess
  1892. #line 2419
  1893. {
  1894. public:
  1895. #line 2433
  1896. virtual void Restart(RDirectScreenAccess::TTerminationReasons aReason)=0;
  1897. };
  1898. class CDirectScreenAccess : public CActive
  1899. #line 2454
  1900. {
  1901. public:
  1902. __declspec(dllexport) static CDirectScreenAccess* NewL(RWsSession& aWs,CWsScreenDevice& aScreenDevice,RWindowBase& aWin,MDirectScreenAccess& aAbort);
  1903. ~CDirectScreenAccess();
  1904. __declspec(dllexport) void StartL();
  1905. inline CFbsBitGc* Gc();
  1906. inline CFbsScreenDevice*& ScreenDevice();
  1907. inline RRegion* DrawingRegion();
  1908. private:
  1909. enum TFlags
  1910. {
  1911. EDirectCheckModeChange=0x1,
  1912. EDirectCheckSizeModeChange=0x2,
  1913. };
  1914. private:
  1915. inline CDirectScreenAccess(RWsSession& aWs,CWsScreenDevice* aScreenDevice,RWindowBase& aWindow,MDirectScreenAccess& aAbort);
  1916. void ConstructL(RWsSession& aWs);
  1917. void CreateScreenObjectsL(TDisplayMode aCurrentMode);
  1918. void UpdateSizeAndRotation(CFbsBitGc* aGc);
  1919. static TInt Restart(TAny* aDirect);
  1920. void Restart();
  1921. void DoCancel();
  1922. void RunL();
  1923. private:
  1924. CFbsBitGc* iGc;
  1925. CFbsScreenDevice* iScreenDevice;
  1926. RRegion* iDrawingRegion;
  1927. RWindowBase& iWindow;
  1928. CWsScreenDevice* iWsScreenDevice;
  1929. MDirectScreenAccess& iAbort;
  1930. RDirectScreenAccess iDirectAccess;
  1931. RDirectScreenAccess::TTerminationReasons iReason;
  1932. CIdle* iRestart;
  1933. TSize iScreenSize;
  1934. TBool iAborting;
  1935. TUint iFlags;
  1936. TInt iScreenNumber;
  1937. };
  1938. class RSoundPlugIn : public MWsClientClass
  1939. {
  1940. public:
  1941. enum
  1942. {
  1943. ESoundWrongPlugIn=KMinTInt
  1944. };
  1945. public:
  1946. __declspec(dllexport) RSoundPlugIn();
  1947. __declspec(dllexport) RSoundPlugIn(RWsSession &aWs);
  1948. __declspec(dllexport) TInt Construct(TUid aUid=TUid::Null() );
  1949. __declspec(dllexport) void Close();
  1950. __declspec(dllexport) void Destroy();
  1951. __declspec(dllexport) TBool IsLoaded(TBool& aIsChangeable);
  1952. __declspec(dllexport) TInt Unload();
  1953. __declspec(dllexport) TInt Load(const TDesC &aFileName);
  1954. __declspec(dllexport) void SetKeyClick(TBool aEnabled);
  1955. __declspec(dllexport) void SetPenClick(TBool aEnabled);
  1956. __declspec(dllexport) TBool KeyClickEnabled();
  1957. __declspec(dllexport) TBool PenClickEnabled();
  1958. __declspec(dllexport) TInt CommandReply(TInt aOpcode, const TPtrC8 &aArgs);
  1959. };
  1960. inline TInt MWsClientClass::WsHandle() const
  1961. {return(iWsHandle);}
  1962. inline TInt CWsScreenDevice::CreateContext(CWindowGc *&aGc)
  1963. #line 2545
  1964. {return(CreateContext((CGraphicsContext *&)aGc));}
  1965. inline TUint TWsRedrawEvent::Handle() const
  1966. {return(iHandle);}
  1967. inline TRect TWsRedrawEvent::Rect() const
  1968. {return(iRect);}
  1969. inline TPointerEvent *TWsEvent::Pointer() const
  1970. {return((TPointerEvent *)&iEventData);}
  1971. inline TKeyEvent *TWsEvent::Key() const
  1972. {return((TKeyEvent *)&iEventData);}
  1973. inline TWsVisibilityChangedEvent* TWsEvent::VisibilityChanged()
  1974. { return reinterpret_cast<TWsVisibilityChangedEvent*>(iEventData); }
  1975. inline const TWsVisibilityChangedEvent* TWsEvent::VisibilityChanged() const
  1976. { return reinterpret_cast<const TWsVisibilityChangedEvent*>(iEventData); }
  1977. inline TModifiersChangedEvent *TWsEvent::ModifiersChanged() const
  1978. {return((TModifiersChangedEvent *)&iEventData);}
  1979. inline TWsErrorMessage *TWsEvent::ErrorMessage() const
  1980. {return((TWsErrorMessage *)&iEventData);}
  1981. inline TUint8 *TWsEvent::EventData() const
  1982. #line 2627
  1983. {return((TUint8 *)&iEventData);}
  1984. inline TInt TWsEvent::Type() const
  1985. {return(iType);}
  1986. inline TUint TWsEvent::Handle() const
  1987. {return(iHandle);}
  1988. inline TTime TWsEvent::Time() const
  1989. {return(iTime);}
  1990. inline void TWsEvent::SetType(TInt aType)
  1991. {iType=aType;}
  1992. inline void TWsEvent::SetHandle(TUint aHandle)
  1993. {iHandle=aHandle;}
  1994. inline void TWsEvent::SetTimeNow()
  1995. {iTime.UniversalTime();}
  1996. inline TInt *TWsEvent::Int() const
  1997. { return (TInt*)&iEventData; }
  1998. inline TUint TWsPriorityKeyEvent::Handle() const
  1999. {return(iHandle);}
  2000. inline TKeyEvent *TWsPriorityKeyEvent::Key() const
  2001. {return((TKeyEvent *)&iEventData);}
  2002. inline void TWsPriorityKeyEvent::SetHandle(TUint aHandle)
  2003. {iHandle=aHandle;}
  2004. inline CDirectScreenAccess::CDirectScreenAccess(RWsSession& aWs,CWsScreenDevice* aScreenDevice,RWindowBase& aWindow,MDirectScreenAccess& aAbort)
  2005. :CActive(RDirectScreenAccess::EPriorityVeryHigh), iWindow(aWindow), iAbort(aAbort), iDirectAccess(aWs)
  2006. {iWsScreenDevice=aScreenDevice;}
  2007. inline CFbsBitGc* CDirectScreenAccess::Gc()
  2008. #line 2713
  2009. { return iGc; }
  2010. inline CFbsScreenDevice*& CDirectScreenAccess::ScreenDevice()
  2011. { return iScreenDevice; }
  2012. inline RRegion* CDirectScreenAccess::DrawingRegion()
  2013. #line 2737
  2014. { return iDrawingRegion; }
  2015. inline TSizeMode::TSizeMode(TSize& aSize) :
  2016. iOrigin(0, 0), iScreenSize(aSize)
  2017. {}
  2018. inline TInt TSizeMode::ScaledCord(TInt aOrigin,TInt aScale)
  2019. {return (aOrigin+aScale-1)/aScale;}
  2020. inline TPoint TSizeMode::ScaledOrigin()
  2021. {return TPoint(ScaledCord(iOrigin.iX,iScreenScale.iWidth),ScaledCord(iOrigin.iY,iScreenScale.iHeight));}
  2022. #line 18 "C:\Symbian\9.1\S60_3rd\epoc32\include\coeaui.h" /* stack depth 5 */
  2023. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\vwsdef.h" /* stack depth 6 */
  2024. #line 12
  2025. class TVwsViewId
  2026. #line 21
  2027. {
  2028. public:
  2029. inline TVwsViewId();
  2030. inline TVwsViewId(const TVwsViewId& aUid);
  2031. inline TVwsViewId(TUid aAppUid,TUid aViewUid);
  2032. inline TBool operator==(const TVwsViewId& aUid) const;
  2033. inline TBool operator!=(const TVwsViewId& aUid) const;
  2034. public:
  2035. TUid iAppUid;
  2036. TUid iViewUid;
  2037. };
  2038. const TInt KErrViewWrongMode=1;
  2039. class TVwsViewIdAndMessage
  2040. {
  2041. public:
  2042. inline TVwsViewIdAndMessage();
  2043. inline TVwsViewIdAndMessage(const TVwsViewId& aId);
  2044. inline TVwsViewIdAndMessage(const TVwsViewId& aId,TUid aCustomMessageId,const TDesC8& aCustomMessage);
  2045. inline TVwsViewIdAndMessage& operator=(const TVwsViewIdAndMessage& aVwsViewIdAndMessage);
  2046. public:
  2047. TVwsViewId iViewId;
  2048. TUid iCustomMessageId;
  2049. TInt iCustomMessageLength;
  2050. TPtrC8 iCustomMessage;
  2051. };
  2052. class TVwsViewEvent
  2053. #line 79
  2054. {
  2055. public:
  2056. enum TVwsViewEventType
  2057. {
  2058. EVwsActivateView,
  2059. EVwsDeactivateView,
  2060. EVwsScreenDeviceChanged,
  2061. EVwsDeactivationNotification,
  2062. EVwsActivationNotification
  2063. };
  2064. public:
  2065. inline TVwsViewEvent();
  2066. inline TVwsViewEvent(TVwsViewEventType aEventType);
  2067. inline TVwsViewEvent(TVwsViewEventType aEventType,const TVwsViewId& aViewOneId);
  2068. inline TVwsViewEvent(TVwsViewEventType aEventType,const TVwsViewId& aViewOneId,const TVwsViewId& aViewTwoId);
  2069. inline TVwsViewEvent(TVwsViewEventType aEventType,const TVwsViewId& aViewOneId,const TVwsViewId& aViewTwoId,TUid aCustomMessageId,TInt aCustomMessageLength);
  2070. public:
  2071. TVwsViewEventType iEventType;
  2072. TVwsViewId iViewOneId;
  2073. TVwsViewId iViewTwoId;
  2074. TUid iCustomMessageId;
  2075. TInt iCustomMessageLength;
  2076. };
  2077. typedef TPckgBuf<TVwsViewIdAndMessage> TVwsViewIdAndMessageBuf;
  2078. typedef TPckgBuf<TVwsViewEvent> TVwsViewEventBuf;
  2079. inline TVwsViewId::TVwsViewId()
  2080. : iAppUid(TUid::Null() ), iViewUid(TUid::Null() ) {}
  2081. inline TVwsViewId::TVwsViewId(const TVwsViewId& aUid)
  2082. : iAppUid(aUid.iAppUid), iViewUid(aUid.iViewUid) {}
  2083. inline TVwsViewId::TVwsViewId(TUid aAppUid,TUid aViewUid)
  2084. : iAppUid(aAppUid), iViewUid(aViewUid) {}
  2085. inline TBool TVwsViewId::operator==(const TVwsViewId& aUid) const
  2086. #line 147
  2087. {
  2088. return (aUid.iAppUid==iAppUid && aUid.iViewUid==iViewUid);
  2089. }
  2090. inline TBool TVwsViewId::operator!=(const TVwsViewId& aUid) const
  2091. #line 160
  2092. {
  2093. return (aUid.iAppUid!=iAppUid || aUid.iViewUid!=iViewUid);
  2094. }
  2095. inline TVwsViewIdAndMessage::TVwsViewIdAndMessage()
  2096. : iViewId(TVwsViewId()), iCustomMessageLength(0)
  2097. {
  2098. iCustomMessageId.iUid=0;
  2099. iCustomMessage.Set(KNullDesC8);
  2100. }
  2101. inline TVwsViewIdAndMessage::TVwsViewIdAndMessage(const TVwsViewId& aId)
  2102. : iViewId(aId), iCustomMessageLength(0)
  2103. {
  2104. iCustomMessageId.iUid=0;
  2105. iCustomMessage.Set(KNullDesC8);
  2106. }
  2107. inline TVwsViewIdAndMessage::TVwsViewIdAndMessage(const TVwsViewId& aId,TUid aCustomMessageId,const TDesC8& aCustomMessage)
  2108. : iViewId(aId), iCustomMessageId(aCustomMessageId)
  2109. {
  2110. iCustomMessageLength=aCustomMessage.Length();
  2111. iCustomMessage.Set(aCustomMessage);
  2112. }
  2113. inline TVwsViewIdAndMessage& TVwsViewIdAndMessage::operator=(const TVwsViewIdAndMessage& aVwsViewIdAndMessage)
  2114. {
  2115. iViewId=aVwsViewIdAndMessage.iViewId;
  2116. iCustomMessageId=aVwsViewIdAndMessage.iCustomMessageId;
  2117. iCustomMessageLength=aVwsViewIdAndMessage.iCustomMessage.Length();
  2118. iCustomMessage.Set(aVwsViewIdAndMessage.iCustomMessage);
  2119. return(*this);
  2120. }
  2121. inline TVwsViewEvent::TVwsViewEvent() {}
  2122. inline TVwsViewEvent::TVwsViewEvent(TVwsViewEventType aEventType)
  2123. : iEventType(aEventType),iViewOneId(),iViewTwoId(),iCustomMessageId(TUid::Null() ),iCustomMessageLength(0) {}
  2124. inline TVwsViewEvent::TVwsViewEvent(TVwsViewEventType aEventType,const TVwsViewId& aViewOneId)
  2125. : iEventType(aEventType),iViewOneId(aViewOneId),iViewTwoId(),iCustomMessageId(TUid::Null() ),iCustomMessageLength(0) {}
  2126. inline TVwsViewEvent::TVwsViewEvent(TVwsViewEventType aEventType,const TVwsViewId& aViewOneId,const TVwsViewId& aViewTwoId)
  2127. : iEventType(aEventType),iViewOneId(aViewOneId),iViewTwoId(aViewTwoId),iCustomMessageId(TUid::Null() ),iCustomMessageLength(0) {}
  2128. inline TVwsViewEvent::TVwsViewEvent(TVwsViewEventType aEventType,const TVwsViewId& aViewOneId,const TVwsViewId& aViewTwoId,TUid aCustomMessageId,TInt aCustomMessageLength)
  2129. : iEventType(aEventType),iViewOneId(aViewOneId),iViewTwoId(aViewTwoId),iCustomMessageId(aCustomMessageId),iCustomMessageLength(aCustomMessageLength) {}
  2130. #line 22 "C:\Symbian\9.1\S60_3rd\epoc32\include\coeaui.h" /* stack depth 5 */
  2131. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\coedef.h" /* stack depth 6 */
  2132. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\guldef.h" /* stack depth 7 */
  2133. #line 13
  2134. enum TGulAdjacent
  2135. {
  2136. EGulAdjNone =0x00,
  2137. EGulAdjTop =0x01,
  2138. EGulAdjBottom =0x02,
  2139. EGulAdjLeft =0x04,
  2140. EGulAdjRight =0x08
  2141. };
  2142. #line 10 "C:\Symbian\9.1\S60_3rd\epoc32\include\coedef.h" /* stack depth 6 */
  2143. #line 19
  2144. enum TKeyResponse
  2145. {
  2146. EKeyWasNotConsumed,
  2147. EKeyWasConsumed
  2148. };
  2149. #line 34
  2150. enum TDrawNow
  2151. {
  2152. ENoDrawNow,
  2153. EDrawNow
  2154. };
  2155. enum TCoeWinPriority
  2156. {
  2157. ECoeWinPriorityNeverAtFront =-1000,
  2158. ECoeWinPriorityLow =-750,
  2159. ECoeWinPriorityNormal =0,
  2160. ECoeWinPriorityMedium =500,
  2161. ECoeWinPriorityHigh =750,
  2162. ECoeWinPriorityFep =900,
  2163. ECoeWinPriorityAlwaysAtFront =1000
  2164. };
  2165. const TInt KUidValueCoeColorSchemeChangeEvent =0x100056C4;
  2166. const TInt KUidValueCoeZoomChangeEvent          =0x100057C3;
  2167. const TInt KUidValueCoeFontChangeEvent          =0x100057C4;
  2168. const TUint KUidFepFrameworkRepository=0x10272618;
  2169. enum
  2170. {
  2171. ERepositoryKeyMask_DefaultSetting =0x00001000,
  2172. ERepositoryKeyMask_DynamicSetting =0x00002000,
  2173. ERepositoryKeyMask_FepId =0x00000001,
  2174. ERepositoryKeyMask_OnState =0x00000002,
  2175. ERepositoryKeyMask_OnKeyData =0x00000004,
  2176. ERepositoryKeyMask_OffKeyData =0x00000008,
  2177. ERepositoryKey_DefaultFepId =ERepositoryKeyMask_DefaultSetting|ERepositoryKeyMask_FepId,
  2178. ERepositoryKey_DefaultOnState =ERepositoryKeyMask_DefaultSetting|ERepositoryKeyMask_OnState,
  2179. ERepositoryKey_DefaultOnKeyData =ERepositoryKeyMask_DefaultSetting|ERepositoryKeyMask_OnKeyData,
  2180. ERepositoryKey_DefaultOffKeyData =ERepositoryKeyMask_DefaultSetting|ERepositoryKeyMask_OffKeyData,
  2181. ERepositoryKey_DynamicFepId =ERepositoryKeyMask_DynamicSetting|ERepositoryKeyMask_FepId,
  2182. ERepositoryKey_DynamicOnState =ERepositoryKeyMask_DynamicSetting|ERepositoryKeyMask_OnState,
  2183. ERepositoryKey_DynamicOnKeyData =ERepositoryKeyMask_DynamicSetting|ERepositoryKeyMask_OnKeyData,
  2184. ERepositoryKey_DynamicOffKeyData =ERepositoryKeyMask_DynamicSetting|ERepositoryKeyMask_OffKeyData
  2185. };
  2186. #line 26 "C:\Symbian\9.1\S60_3rd\epoc32\include\coeaui.h" /* stack depth 5 */
  2187. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\coehelp.h" /* stack depth 6 */
  2188. #line 17
  2189. typedef TBuf<30> TCoeContextName;
  2190. class TCoeHelpContext
  2191. #line 30
  2192. {
  2193. public:
  2194. __declspec(dllexport) TCoeHelpContext();
  2195. __declspec(dllexport) TCoeHelpContext(TUid aMajor,const TDesC& aContext);
  2196. __declspec(dllexport) TBool IsNull() const;
  2197. __declspec(dllexport) TBool operator==(const TCoeHelpContext& aContext) const;
  2198. __declspec(dllexport) TBool operator!=(const TCoeHelpContext& aContext) const;
  2199. public:
  2200. TUid iMajor;
  2201. TCoeContextName iContext;
  2202. private:
  2203.     TInt iTCoeHelpContext_Reserved1;
  2204. };
  2205. #line 30 "C:\Symbian\9.1\S60_3rd\epoc32\include\coeaui.h" /* stack depth 5 */
  2206. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\coeview.h" /* stack depth 6 */
  2207. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\coemain.h" /* stack depth 7 */
  2208. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\barsc.h" /* stack depth 8 */
  2209. #line 12
  2210. class RResourceFileImpl;
  2211. #line 34
  2212. class RResourceFile
  2213. {
  2214. public:
  2215. __declspec(dllexport) RResourceFile();
  2216. __declspec(dllexport) void Close();
  2217. __declspec(dllexport) void OpenL(RFs &aFs,const TDesC &aName);
  2218. __declspec(dllexport) TUidType UidType() const;
  2219. __declspec(dllexport) void ReadL(TDes8 &aDes,TInt aResourceId) const;
  2220. __declspec(dllexport) HBufC8 *AllocReadL(TInt aResourceId) const;
  2221. __declspec(dllexport) HBufC8 *AllocReadLC(TInt aResourceId) const;
  2222. __declspec(dllexport) void ConfirmSignatureL(TInt aSignature);
  2223. __declspec(dllexport) void ConfirmSignatureL();
  2224. __declspec(dllexport) TInt SignatureL() const;
  2225. __declspec(dllexport) TBool OwnsResourceId(TInt aResourceId) const;
  2226. __declspec(dllexport) TBool OwnsResourceIdL(TInt aResourceId) const;
  2227. __declspec(dllexport) void OpenL(RFs& aFs, const TDesC& aName, TUint aFileOffset, TInt aFileSize);
  2228. inline TInt Offset() const;
  2229. private:
  2230. void DoOpenL(RFs& aFs, const TDesC& aName, TUint aFileOffset, TInt aFileSize);
  2231. __declspec(dllexport) TInt Offset2() const;
  2232. RResourceFileImpl* Impl();
  2233. const RResourceFileImpl* Impl() const;
  2234. private:
  2235. enum
  2236. {
  2237. KRscFileSize = 24
  2238. };
  2239. TUint8 iImpl[KRscFileSize];
  2240. };
  2241. #line 72
  2242. inline TInt RResourceFile::Offset() const
  2243. {
  2244. return Offset2();
  2245. }
  2246. #line 18 "C:\Symbian\9.1\S60_3rd\epoc32\include\coemain.h" /* stack depth 7 */
  2247. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\badesca.h" /* stack depth 8 */
  2248. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\bamdesca.h" /* stack depth 9 */
  2249. #line 19
  2250. class MDesC8Array
  2251. #line 28
  2252.     {
  2253. public:
  2254.     virtual ~MDesC8Array() {}
  2255.     virtual TInt MdcaCount() const =0;
  2256. #line 48
  2257.     virtual TPtrC8 MdcaPoint(TInt aIndex) const =0;
  2258.     };
  2259. class MDesC16Array
  2260. #line 61
  2261.     {
  2262. public:
  2263.     virtual ~MDesC16Array() {}
  2264.     virtual TInt MdcaCount() const =0;
  2265. #line 81
  2266.     virtual TPtrC16 MdcaPoint(TInt aIndex) const =0;
  2267.     };
  2268. #line 14 "C:\Symbian\9.1\S60_3rd\epoc32\include\badesca.h" /* stack depth 8 */
  2269. #line 22
  2270. class CDesC8Array : public CArrayFixBase, public MDesC8Array
  2271. {
  2272. protected:
  2273. __declspec(dllexport) CDesC8Array(TBufRep aRep,TInt aGranularity);
  2274. public:
  2275.     __declspec(dllexport) ~CDesC8Array();
  2276. __declspec(dllexport) void AppendL(const TDesC8& aPtr);
  2277. __declspec(dllexport) void InsertL(TInt aPos,const TDesC8& aPtr);
  2278. __declspec(dllexport) TInt InsertIsqL(const TDesC8& aPtr,TKeyCmpText aTextComparisonType=ECmpFolded);
  2279. __declspec(dllexport) TInt InsertIsqAllowDuplicatesL(const TDesC8& aPtr,TKeyCmpText aTextComparisonType=ECmpFolded);
  2280. __declspec(dllexport) void Sort(TKeyCmpText aTextComparisonType=ECmpFolded);
  2281. __declspec(dllexport) TInt Find(const TDesC8& aPtr,TInt& aPos,TKeyCmpText aTextComparisonType=ECmpFolded) const;
  2282. __declspec(dllexport) TInt FindIsq(const TDesC8& aPtr,TInt& aPos,TKeyCmpText aTextComparisonType=ECmpFolded) const;
  2283. __declspec(dllexport) void Delete(TInt aPos);
  2284. __declspec(dllexport) void Delete(TInt aIndex,TInt aCount);
  2285. __declspec(dllexport) void Reset();
  2286. inline TPtrC8 operator[](TInt aIndex) const;
  2287.     __declspec(dllexport) TInt MdcaCount() const;
  2288. __declspec(dllexport) TPtrC8 MdcaPoint(TInt aIndex) const;
  2289. };
  2290. inline TPtrC8 CDesC8Array::operator[](TInt aIndex) const
  2291. { return(MdcaPoint(aIndex)); }
  2292. class CDesC8ArrayFlat : public CDesC8Array
  2293. {
  2294. public:
  2295. __declspec(dllexport) CDesC8ArrayFlat(TInt aGranularity);
  2296.     __declspec(dllexport) ~CDesC8ArrayFlat();
  2297. };
  2298. class CDesC8ArraySeg : public CDesC8Array
  2299. {
  2300. public:
  2301. __declspec(dllexport) CDesC8ArraySeg(TInt aGranularity);
  2302.     __declspec(dllexport) ~CDesC8ArraySeg();
  2303. };
  2304. class CDesC16Array : public CArrayFixBase, public MDesC16Array
  2305. #line 93
  2306. {
  2307. protected:
  2308. __declspec(dllexport) CDesC16Array(TBufRep aRep,TInt aGranularity);
  2309. public:
  2310.     __declspec(dllexport) ~CDesC16Array();
  2311. __declspec(dllexport) void AppendL(const TDesC16& aPtr);
  2312. __declspec(dllexport) void InsertL(TInt aPos,const TDesC16& aPtr);
  2313. __declspec(dllexport) TInt InsertIsqL(const TDesC16& aPtr,TKeyCmpText aTextComparisonType=ECmpFolded);
  2314. __declspec(dllexport) TInt InsertIsqAllowDuplicatesL(const TDesC16& aPtr,TKeyCmpText aTextComparisonType=ECmpFolded);
  2315. __declspec(dllexport) void Sort(TKeyCmpText aTextComparisonType=ECmpFolded);
  2316. __declspec(dllexport) TInt Find(const TDesC16& aPtr,TInt& aPos,TKeyCmpText aTextComparisonType=ECmpFolded) const;
  2317. __declspec(dllexport) TInt FindIsq(const TDesC16& aPtr,TInt& aPos,TKeyCmpText aTextComparisonType=ECmpFolded) const;
  2318. __declspec(dllexport) void Delete(TInt aPos);
  2319. __declspec(dllexport) void Delete(TInt aIndex,TInt aCount);
  2320. __declspec(dllexport) void Reset();
  2321. inline TPtrC16 operator[](TInt aIndex) const;
  2322.     __declspec(dllexport) TInt MdcaCount() const;
  2323. __declspec(dllexport) TPtrC16 MdcaPoint(TInt aIndex) const;
  2324. };
  2325. inline TPtrC16 CDesC16Array::operator[](TInt aIndex) const
  2326. #line 129
  2327.  { return(MdcaPoint(aIndex)); }
  2328. class CDesC16ArrayFlat : public CDesC16Array
  2329. {
  2330. public:
  2331. __declspec(dllexport) CDesC16ArrayFlat(TInt aGranularity);
  2332.     __declspec(dllexport) ~CDesC16ArrayFlat();
  2333. };
  2334. class CDesC16ArraySeg : public CDesC16Array
  2335. {
  2336. public:
  2337. __declspec(dllexport) CDesC16ArraySeg(TInt aGranularity);
  2338.     __declspec(dllexport) ~CDesC16ArraySeg();
  2339. };
  2340. class CPtrC8Array : public CArrayFixFlat<TPtrC8>, public MDesC8Array
  2341. {
  2342. public:
  2343. __declspec(dllexport) CPtrC8Array(TInt aGranularity);
  2344. __declspec(dllexport) ~CPtrC8Array();
  2345. __declspec(dllexport) void CopyL(const MDesC8Array& aArray);
  2346.     inline void operator=(const MDesC8Array& aArray);
  2347.     __declspec(dllexport) TInt MdcaCount() const;
  2348.     __declspec(dllexport) TPtrC8 MdcaPoint(TInt aIndex) const;
  2349. };
  2350. class CPtrC16Array : public CArrayFixFlat<TPtrC16>, public MDesC16Array
  2351. {
  2352. public:
  2353. __declspec(dllexport) CPtrC16Array(TInt aGranularity);
  2354. __declspec(dllexport) ~CPtrC16Array();
  2355. __declspec(dllexport) void CopyL(const MDesC16Array& aArray);
  2356.     inline void operator=(const MDesC16Array& aArray);
  2357.     __declspec(dllexport) TInt MdcaCount() const;
  2358.     __declspec(dllexport) TPtrC16 MdcaPoint(TInt aIndex) const;
  2359. };
  2360. inline void CPtrC8Array::operator=(const MDesC8Array& aArray)
  2361. #line 212
  2362. {CopyL(aArray);}
  2363. inline void CPtrC16Array::operator=(const MDesC16Array& aArray)
  2364. #line 225
  2365. {CopyL(aArray);}
  2366. #line 237
  2367. typedef CDesC16Array     CDesCArray;
  2368. #line 246
  2369. typedef CDesC16ArrayFlat CDesCArrayFlat;
  2370. #line 255
  2371. typedef CDesC16ArraySeg  CDesCArraySeg;
  2372. #line 270
  2373. typedef CPtrC16Array CPtrCArray;
  2374. #line 22 "C:\Symbian\9.1\S60_3rd\epoc32\include\coemain.h" /* stack depth 7 */
  2375. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\basched.h" /* stack depth 8 */
  2376. #line 25
  2377. const TInt KErrExtended=(-1000);
  2378. const TInt KErrExtendedWithText=(-1001);
  2379. const TInt KLeaveWithoutAlert=(-1002);
  2380. const TInt KLeaveExit=(-1003);
  2381. struct SExtendedError
  2382. {
  2383. TUid iComponent;
  2384. TInt iErrorNumber;
  2385. TBool iInformation;
  2386. };
  2387. class CBaErrorHandler;
  2388. class CBaActiveScheduler : public CActiveScheduler
  2389. {
  2390. public:
  2391. __declspec(dllexport) static void LeaveNoAlert();
  2392. public:
  2393. __declspec(dllexport) static void Exit();
  2394. __declspec(dllexport) static void LeaveForAlert(TUid aComponent,TInt aErrorNumber);
  2395. __declspec(dllexport) static void LeaveForInfoPrint(TUid aComponent,TInt aErrorNumber);
  2396. __declspec(dllexport) static void LeaveForErrorHandler(const CBaErrorHandler *aHandler);
  2397. __declspec(dllexport) static const SExtendedError& ExtendedError();
  2398. __declspec(dllexport) static void DisplayExtendedError(TUid aComponent,TInt aErrorNumber);
  2399. __declspec(dllexport) virtual void DisplayError(TInt aError) const;
  2400. public:
  2401. __declspec(dllexport) void Error(TInt aError) const;
  2402. private:
  2403. __declspec(dllexport) virtual void Reserved_1();
  2404. __declspec(dllexport) virtual void Reserved_2();
  2405. static void ExtendedLeave(TUid aComponent,TInt aErrorNumber,TBool aLeaveForInfoPrint);
  2406. protected:
  2407. SExtendedError iExtendedError;
  2408. };
  2409. #line 26 "C:\Symbian\9.1\S60_3rd\epoc32\include\coemain.h" /* stack depth 7 */
  2410. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\coemop.h" /* stack depth 8 */
  2411. #line 24
  2412. class TTypeUid : public TUid
  2413. #line 43
  2414. {
  2415. public:
  2416. class Ptr
  2417. {
  2418. friend class TTypeUid;
  2419. private:
  2420. explicit inline Ptr(TAny* aPtr)
  2421. : iPtr(aPtr)
  2422. {}
  2423. public:
  2424. inline TAny* Pointer() const
  2425. {return iPtr;}
  2426. private:
  2427. TAny* iPtr;
  2428. };
  2429. public:
  2430. inline TTypeUid(TInt aUid)
  2431. { iUid = aUid; }
  2432. inline static Ptr Null()
  2433. { return Ptr(0 ); }
  2434. template <class T> inline Ptr MakePtr(T* aT) const
  2435. { (void)((iUid == T::ETypeId)||(User::Invariant(),0)) ; return Ptr(aT); }
  2436. };
  2437. class MObjectProvider
  2438. #line 106
  2439. {
  2440. public:
  2441. template<class T>
  2442. T* MopGetObject(T*& aPtr)
  2443. #line 119
  2444. { return (aPtr=(T*)MopGetById(T::ETypeId)); }
  2445. template<class T>
  2446. T*  MopGetObjectNoChaining(T*& aPtr)
  2447. #line 133
  2448. { return (aPtr=(T*)MopGetByIdNoChaining(T::ETypeId)); }
  2449. private:
  2450. #line 145
  2451. virtual TTypeUid::Ptr MopSupplyObject(TTypeUid aId) = 0;
  2452. protected:
  2453. __declspec(dllexport) MObjectProvider();
  2454. private:
  2455. __declspec(dllexport) virtual MObjectProvider* MopNext();
  2456. __declspec(dllexport) virtual void MObjectProvider_Reserved1();
  2457. __declspec(dllexport) virtual void MObjectProvider_Reserved2();
  2458. private:
  2459. __declspec(dllexport) TAny* MopGetById(TTypeUid aId);
  2460. __declspec(dllexport) TAny* MopGetByIdNoChaining(TTypeUid aId);
  2461. private:
  2462. TInt iMObjectProvider_Reserved1;
  2463. };
  2464. #line 30 "C:\Symbian\9.1\S60_3rd\epoc32\include\coemain.h" /* stack depth 7 */
  2465. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\coetextdrawer.h" /* stack depth 8 */
  2466. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\gulutil.h" /* stack depth 9 */
  2467. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\gulbordr.h" /* stack depth 10 */
  2468. #line 22
  2469. class TGulBorder
  2470. #line 38
  2471.     {
  2472. public:
  2473. class TColors
  2474. #line 53
  2475. {
  2476. public:
  2477. __declspec(dllexport) TColors();
  2478. public:
  2479. TRgb iLine;
  2480. TRgb iBack;
  2481. TRgb iLight;
  2482. TRgb iMidlight;
  2483. TRgb iMid;
  2484. TRgb iDark;
  2485. TRgb iInternalBack;
  2486. };
  2487. public:
  2488. enum TOutlineStyle
  2489. {
  2490. EWithOutline=0x01,
  2491. EDottedOutline=0x02
  2492. };
  2493. enum TInlineStyle
  2494. {
  2495. EWithInline=0x04
  2496. };
  2497. enum T3DStyle
  2498. {
  2499. EFlat=0x10,
  2500. ESunken=0x20,
  2501. ERaised=0x40
  2502. };
  2503. enum TConstructionStyle
  2504. {
  2505. EOneStep=0x100,
  2506. ETwoStep=0x200,
  2507. EThreeStep=0x400,
  2508. EInvertedTwoStep=0x800
  2509. };
  2510. #line 153
  2511. enum TThickness
  2512. {
  2513. EAddOnePixel=0x1000,
  2514. EAddTwoPixels=0x2000,
  2515. EAddFourPixels=0x4000
  2516. };
  2517. enum TRounding
  2518. {
  2519. EAddOneRoundingPixel=0x10000,
  2520. EAddTwoRoundingPixels=0x20000,
  2521. EAddFourRoundingPixels=0x40000
  2522. };
  2523. private:
  2524. enum TNull
  2525. {
  2526. ENoBorder=0x00
  2527. };
  2528. enum TLegacyStyle
  2529. {
  2530. EShallow=EAddOnePixel,
  2531. EDeep=EAddTwoPixels,
  2532. EThick=EAddFourPixels,
  2533. EHorizontal=0x100000,
  2534. EWithOverlap=0x200000,
  2535. EGray=0x400000,
  2536. EBlack=0x80000
  2537. };
  2538. enum TLogicalStyle
  2539. {
  2540. ELogical=0x800000
  2541. };
  2542. public:
  2543. enum TLogicalFamily
  2544. {
  2545. EWindowFamily=ELogical|0x1,
  2546. EContainerFamily=ELogical|0x2,
  2547. EControlFamily=ELogical|0x3
  2548. };
  2549. public:
  2550. enum TBorderType
  2551. {
  2552. ENone=ENoBorder,
  2553. ESingleGray=EWithOutline|EGray,
  2554. ESingleBlack=EWithOutline|EBlack,
  2555. ESingleDotted=EWithOutline|EDottedOutline,
  2556. EShallowRaised=ERaised|EOneStep|EAddOnePixel,
  2557. EShallowSunken=ESunken|EOneStep|EAddOnePixel,
  2558. EDeepRaised=EWithOutline|ERaised|EOneStep|EAddTwoPixels,
  2559. EDeepRaisedWithOutline=EWithOutline|ERaised|EOneStep|EAddTwoPixels,
  2560. EDeepSunken=EWithOutline|ESunken|EOneStep|EAddTwoPixels,
  2561. EDeepSunkenWithOutline=EWithOutline|ESunken|EOneStep|EAddTwoPixels,
  2562. EThickDeepRaisedWithOutline=EWithOutline|ERaised|EOneStep|EAddOnePixel|EAddTwoPixels,
  2563. EVerticalBar=ERaised|EOneStep|EAddTwoPixels|EWithOverlap,
  2564. EHorizontalBar=ERaised|EOneStep|EAddTwoPixels|EHorizontal|EWithOverlap
  2565. };
  2566. enum TLogicalType
  2567. {
  2568. EWindow=EWindowFamily|ERaised,
  2569. EFlatContainer=EContainerFamily|EFlat,
  2570. ERaisedContainer=EContainerFamily|ERaised,
  2571. ESunkenContainer=EContainerFamily|ESunken,
  2572. EFlatControl=EControlFamily|EFlat,
  2573. ERaisedControl=EControlFamily|ERaised,
  2574. ESunkenControl=EControlFamily|ESunken,
  2575. EFocusedRaisedControl=EControlFamily|ERaised|0x100,
  2576. EFocusedSunkenControl=EControlFamily|ESunken|0x100
  2577. };
  2578. public:
  2579.     __declspec(dllexport) TGulBorder();
  2580.     __declspec(dllexport) TGulBorder(TBorderType aType);
  2581.     __declspec(dllexport) TGulBorder(TBorderType aType,TGulAdjacent aAdjacent);
  2582. __declspec(dllexport) TGulBorder(TInt aType);
  2583.     __declspec(dllexport) TGulBorder(TInt aType,TGulAdjacent aAdjacent);
  2584. __declspec(dllexport) void Draw(CGraphicsContext& aGc,const TRect& aRect,const TColors& aBorderColors) const;
  2585.     __declspec(dllexport) void Draw(CGraphicsContext& aGc,const TRect& aRect) const;
  2586. __declspec(dllexport) TRect InnerRect(const TRect& aOuterRect) const;
  2587.     __declspec(dllexport) TRect OuterRect(const TRect& aInnerRect) const;
  2588. __declspec(dllexport) void SetType(TInt aType);
  2589. __declspec(dllexport) void SetAdjacent(TInt aAdjacent);
  2590. __declspec(dllexport) TSize SizeDelta() const;
  2591.     __declspec(dllexport) TMargins Margins() const;
  2592. __declspec(dllexport) TBool HasBorder() const;
  2593. __declspec(dllexport) TInt Adjacent() const;
  2594. __declspec(dllexport) TInt Type() const;
  2595. public:
  2596. __declspec(dllexport) TInt Thickness() const;
  2597. __declspec(dllexport) TInt Rounding() const;
  2598. private:
  2599. TBool IsSunken() const;
  2600. TInt Depth() const;
  2601. void DrawOutline(CGraphicsContext& aGc,const TRect& aRect,TRgb aColor) const;
  2602. void DrawRectOutline(CGraphicsContext& aGc,const TRect& aRect) const;
  2603. void DrawInline(CGraphicsContext& aGc,const TRect& aRect,TRgb aColor) const;
  2604. TMargins OutlineMargins() const;
  2605. TMargins BorderMargins() const;
  2606. TMargins InlineMargins() const;
  2607. TRect OutlineInnerRect(const TRect& aOuterRect) const;
  2608. TRect BorderInnerRect(const TRect& aOuterRect) const;
  2609. TInt BorderRounding() const;
  2610. TInt InlineRounding() const;
  2611. void DrawOneStep(CGraphicsContext& aGc,const TRect& aRect,TRgb aMidlight,TRgb aMid) const;
  2612. void DrawTwoStep(CGraphicsContext& aGc,const TRect& aRect,TRgb aLight,TRgb aMidlight,TRgb aMid,TRgb aDark) const;
  2613. void DrawInvertedTwoStep(CGraphicsContext& aGc,const TRect& aRect,TRgb aLight,TRgb aMidlight,TRgb aMid,TRgb aDark) const;
  2614. void DrawThreeStep(CGraphicsContext& aGc,const TRect& aRect,TRgb aBack,TRgb aLight,TRgb aMidlight,TRgb aMid,TRgb aDark) const;
  2615. void DrawTopLeft(CGraphicsContext& aGc,const TRect& aRect,TRgb aColor,const TInt aRounding) const;
  2616. void DrawRoundedTopLeft(CGraphicsContext& aGc,const TRect& aRect,const TInt aRounding) const;
  2617. void DrawBottomRight(CGraphicsContext& aGc,const TRect& aRect,TRgb aColor,const TInt aRounding) const;
  2618. void DrawRoundedBottomRight(CGraphicsContext& aGc,const TRect& aRect,const TInt aRounding) const;
  2619. void DrawRoundedCorner(CGraphicsContext& aGc,const TPoint& aStart,const TInt aRoundedLength, const TBool aUp, const TBool aRight) const;
  2620. TInt RoundingMargin(const TInt aRoundedLength) const;
  2621. inline TInt InternalType() const;
  2622. void TranslateLegacyTypes();
  2623. private:
  2624.     TInt iType;
  2625.     };
  2626. class MGulLogicalBorder
  2627. {
  2628. public:
  2629. virtual void Draw(const TGulBorder& aBorder,CGraphicsContext& aGc, const TRect& aRect, const TGulBorder::TColors& aBorderColors) const=0;
  2630. virtual TMargins Margins(const TGulBorder& aBorder) const=0;
  2631. private:
  2632. __declspec(dllexport) virtual void MGulLogicalBorderReserved();
  2633. };
  2634. class GulTls
  2635. {
  2636. public:
  2637. __declspec(dllexport) static void SetLogicalBorder(MGulLogicalBorder* aLogicalBorder);
  2638. __declspec(dllexport) static const MGulLogicalBorder* LogicalBorder();
  2639. };
  2640. #line 12 "C:\Symbian\9.1\S60_3rd\epoc32\include\gulutil.h" /* stack depth 9 */
  2641. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\gulftflg.hrh" /* stack depth 10 */
  2642. #line 13 "C:\Symbian\9.1\S60_3rd\epoc32\include\gulutil.h" /* stack depth 9 */
  2643. const TUint KTextUtilClipEndChar=0x2026;
  2644. const TUint KColumnListSeparator='t';
  2645. class CFont;
  2646. class CFbsFont;
  2647. class CWsScreenDevice;
  2648. class TResourceReader;
  2649. class CColorArray;
  2650. class CGraphicsDevice;
  2651. class RWsSession;
  2652. class CColorList;
  2653. template <class T> class CArrayFix;
  2654. class TMargins8
  2655. {
  2656. public :
  2657. TInt8 iLeft;
  2658. TInt8 iRight;
  2659. TInt8 iTop;
  2660. TInt8 iBottom;
  2661. public :
  2662. __declspec(dllexport) TMargins8();
  2663. __declspec(dllexport) void SetAllValuesTo(TInt aCommonValue);
  2664.     __declspec(dllexport) TRect InnerRect(const TRect& aOuterRect) const;
  2665.     __declspec(dllexport) TRect OuterRect(const TRect& aInnerRect) const;
  2666. __declspec(dllexport) TSize SizeDelta() const;
  2667. };
  2668. class DrawUtils
  2669. {
  2670. public:
  2671. __declspec(dllexport) static void DrawText(CGraphicsContext& aGc,const TDesC& aString,const TRect& aBox,TInt aBaseLineOffset,
  2672. CGraphicsContext::TTextAlign aHoriz,TInt aMargin,const CFont* aFont);
  2673.     __declspec(dllexport) static void DrawBetweenRects(CGraphicsContext& aGc,const TRect& aOuterRect,const TRect& aInnerRect);
  2674.     __declspec(dllexport) static void ClearBetweenRects(CGraphicsContext& aGc,const TRect& aOuterRect,const TRect& aInnerRect);
  2675. };
  2676. class TextUtils
  2677. {
  2678. public:
  2679. __declspec(dllexport) static void ClipToFit(TDes& aBuffer,const CFont& aFont,TInt aMaxWidthInPixels,TChar aAlternativeEnd=KTextUtilClipEndChar);
  2680. __declspec(dllexport) static TInt ColumnText(TPtrC& aColumnText,TInt aColumn,const TDesC* aSourceText,TChar aColumnSeparator=KColumnListSeparator);
  2681. __declspec(dllexport) static void TruncateToNumChars(TDes& aBuffer, TInt numChars);
  2682. };
  2683. class FontUtils
  2684. {
  2685. public:
  2686. __declspec(dllexport) static void GetAvailableFontsL(CGraphicsDevice& aDevice,CDesCArray& aFontNameList,
  2687. TInt aFonts=0x10 );
  2688. __declspec(dllexport) static TInt TypefaceAttributes(CGraphicsDevice& aDevice,const TDesC& aTypefaceName);
  2689. __declspec(dllexport) static TInt GetAvailableHeightsInTwipsL(CGraphicsDevice& aDevice,const TDesC& aTypefaceName,
  2690. CArrayFix<TInt>& aHeightList);
  2691. __declspec(dllexport) static TInt GetAvailableHeightsInTwipsAndPointsL(CGraphicsDevice& aDevice,const TDesC& aTypefaceName,
  2692. CArrayFix<TInt>& aTwipsList,CDesCArray& aPointsList);
  2693. __declspec(dllexport) static TInt PointsFromTwips(TInt aTwips);
  2694. __declspec(dllexport) static TInt TwipsFromPoints(TInt aPoints);
  2695. __declspec(dllexport) static TInt TwipsFromPoints(const TDesC& aPoints);
  2696. __declspec(dllexport) static TInt IndexOfNearestHeight(CArrayFix<TInt>& aTwipsList,TInt aHeight);
  2697. };
  2698. class ResourceUtils
  2699. #line 120
  2700. {
  2701. public:
  2702. __declspec(dllexport) static CFbsFont* CreateNamedScreenFontL(TResourceReader& aResourceReader,CWsScreenDevice& aScreenDevice);
  2703. __declspec(dllexport) static CFbsFont* CreateNamedScreenFontInPixelsL(TResourceReader& aResourceReader,CWsScreenDevice& aScreenDevice);
  2704. __declspec(dllexport) static CFbsFont* CreateScreenFontL(TResourceReader& aResourceReader,CWsScreenDevice& aScreenDevice);
  2705. inline static TInt8 ReadTInt8L(TResourceReader& aReader);
  2706. inline static TInt16 ReadTInt16L(TResourceReader& aReader);
  2707. inline static TInt32 ReadTInt32L(TResourceReader& aReader);
  2708. __declspec(dllexport) static void PopulateColorArrayL(CColorArray& aColors,TResourceReader& aReader);
  2709. private:
  2710. enum TResourceTypeInt { EResourceInt8,EResourceInt16,EResourceInt32 };
  2711. private:
  2712. __declspec(dllexport) static TInt32 ReadResourceIntL(TResourceReader& aReader,TResourceTypeInt aSize);
  2713. };
  2714. class ColorUtils
  2715. {
  2716. public:
  2717.     enum TBitmapOrientation
  2718.     {
  2719.     EBitmapOrientationVertical,
  2720.     EBitmapOrientationHorizontal
  2721.     };
  2722. public:
  2723. __declspec(dllexport) static TRgb ColorAdjust(TRgb aColor,TInt aPercentage);
  2724.     __declspec(dllexport) static void CreateGradientBitmapL(CFbsBitmap& aBitmap,RWsSession& aWs,TInt aBreadth,
  2725.                                        TBitmapOrientation aOrientation,TRgb aStartColor,TRgb aEndColor);
  2726. __declspec(dllexport) static CColorList* CreateSystemColorListL(RFs& aFs);
  2727. __declspec(dllexport) static CColorList* CreateSystemColorListL(RFs& aFs,const CColorList& aColorList);
  2728. __declspec(dllexport) static void UpdateSystemColorListL(RFs& aFs,CColorList& aColorList);
  2729. __declspec(dllexport) static void GetRgbDerivedBorderColors(TGulBorder::TColors& aBorderColors,TRgb aBackgroundColor,TDisplayMode aMode);
  2730. __declspec(dllexport) static TRgb RgbDarkerColor(TRgb aRgb,TDisplayMode aMode);
  2731. __declspec(dllexport) static TRgb RgbMidDarkerColor(TRgb aRgb,TDisplayMode aMode);
  2732. __declspec(dllexport) static TRgb RgbLighterColor(TRgb aRgb,TDisplayMode aMode);
  2733. };
  2734. class TFindWidthOfWidestTextItem
  2735. #line 176
  2736. {
  2737. protected:
  2738. inline TFindWidthOfWidestTextItem() {}
  2739. public:
  2740. __declspec(dllexport) TInt MaximumWidthInPixels(const CFont& aFont) const;
  2741. private:
  2742. virtual void GetFirstAndLastIndex(TInt& aFirstIndex, TInt& aLastIndex) const=0;
  2743. virtual void GetTextItem(TDes& aText, TInt aIndex) const=0;
  2744. };
  2745. class TFindWidthOfWidestDigit : public TFindWidthOfWidestTextItem
  2746. #line 209
  2747. {
  2748. public:
  2749. __declspec(dllexport) TFindWidthOfWidestDigit();
  2750. private:
  2751. virtual void GetFirstAndLastIndex(TInt& aFirstIndex, TInt& aLastIndex) const;
  2752. virtual void GetTextItem(TDes& aText, TInt aIndex) const;
  2753. };
  2754. class TFindWidthOfWidestDigitType : public TFindWidthOfWidestTextItem
  2755. {
  2756. public:
  2757. __declspec(dllexport) TFindWidthOfWidestDigitType(TDigitType aDigitType);
  2758. private:
  2759. virtual void GetFirstAndLastIndex(TInt& aFirstIndex, TInt& aLastIndex) const;
  2760. virtual void GetTextItem(TDes& aText, TInt aIndex) const;
  2761. private:
  2762. TDigitType iDigitType;
  2763. };
  2764. class TFindWidthOfWidestAmPmName : public TFindWidthOfWidestTextItem
  2765. #line 243
  2766. {
  2767. public:
  2768. __declspec(dllexport) TFindWidthOfWidestAmPmName();
  2769. private:
  2770. virtual void GetFirstAndLastIndex(TInt& aFirstIndex, TInt& aLastIndex) const;
  2771. virtual void GetTextItem(TDes& aText, TInt aIndex) const;
  2772. };
  2773. class TFindWidthOfWidestAbbreviatedDayName : public TFindWidthOfWidestTextItem
  2774. #line 261
  2775. {
  2776. public:
  2777. __declspec(dllexport) TFindWidthOfWidestAbbreviatedDayName();
  2778. private:
  2779. virtual void GetFirstAndLastIndex(TInt& aFirstIndex, TInt& aLastIndex) const;
  2780. virtual void GetTextItem(TDes& aText, TInt aIndex) const;
  2781. };
  2782. class TFindWidthOfWidestDayName : public TFindWidthOfWidestTextItem
  2783. #line 279
  2784. {
  2785. public:
  2786. __declspec(dllexport) TFindWidthOfWidestDayName();
  2787. private:
  2788. virtual void GetFirstAndLastIndex(TInt& aFirstIndex, TInt& aLastIndex) const;
  2789. virtual void GetTextItem(TDes& aText, TInt aIndex) const;
  2790. };
  2791. class TFindWidthOfWidestAbbreviatedMonthName : public TFindWidthOfWidestTextItem
  2792. #line 297
  2793. {
  2794. public:
  2795. __declspec(dllexport) TFindWidthOfWidestAbbreviatedMonthName();
  2796. private:
  2797. virtual void GetFirstAndLastIndex(TInt& aFirstIndex, TInt& aLastIndex) const;
  2798. virtual void GetTextItem(TDes& aText, TInt aIndex) const;
  2799. };
  2800. class TFindWidthOfWidestMonthName : public TFindWidthOfWidestTextItem
  2801. #line 314
  2802. {
  2803. public:
  2804. __declspec(dllexport) TFindWidthOfWidestMonthName();
  2805. private:
  2806. virtual void GetFirstAndLastIndex(TInt& aFirstIndex, TInt& aLastIndex) const;
  2807. virtual void GetTextItem(TDes& aText, TInt aIndex) const;
  2808. };
  2809. class TFindWidthOfWidestDateSuffix : public TFindWidthOfWidestTextItem
  2810. #line 331
  2811. {
  2812. public:
  2813. __declspec(dllexport) TFindWidthOfWidestDateSuffix();
  2814. private:
  2815. virtual void GetFirstAndLastIndex(TInt& aFirstIndex, TInt& aLastIndex) const;
  2816. virtual void GetTextItem(TDes& aText, TInt aIndex) const;
  2817. };
  2818. inline TInt8 ResourceUtils::ReadTInt8L(TResourceReader& aReader)
  2819. { return((TInt8)ReadResourceIntL(aReader,EResourceInt8)); }
  2820. inline TInt16 ResourceUtils::ReadTInt16L(TResourceReader& aReader)
  2821. { return((TInt16)ReadResourceIntL(aReader,EResourceInt16)); }
  2822. inline TInt32 ResourceUtils::ReadTInt32L(TResourceReader& aReader)
  2823. { return((TInt32)ReadResourceIntL(aReader,EResourceInt32)); }
  2824. #line 10 "C:\Symbian\9.1\S60_3rd\epoc32\include\coetextdrawer.h" /* stack depth 8 */
  2825. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\gulalign.h" /* stack depth 9 */
  2826. #line 25
  2827. enum TGulHAlignment
  2828. {
  2829. EHLeft=CGraphicsContext::ELeft,
  2830. EHCenter=CGraphicsContext::ECenter,
  2831. EHRight=CGraphicsContext::ERight
  2832. };
  2833. enum TGulVAlignment
  2834. {
  2835. EVTop=0x00,
  2836. EVCenter=0x10,
  2837. EVBottom=0x20
  2838. };
  2839. enum TGulAlignmentValue
  2840. {
  2841. EHLeftVTop=EHLeft|EVTop,
  2842. EHLeftVCenter=EHLeft|EVCenter,
  2843. EHLeftVBottom=EHLeft|EVBottom,
  2844. EHCenterVTop=EHCenter|EVTop,
  2845. EHCenterVCenter=EHCenter|EVCenter,
  2846. EHCenterVBottom=EHCenter|EVBottom,
  2847. EHRightVTop=EHRight|EVTop,
  2848. EHRightVCenter=EHRight|EVCenter,
  2849. EHRightVBottom=EHRight|EVBottom
  2850. };
  2851. class TGulAlignment
  2852. {
  2853. private:
  2854. enum {EHMask=0x03, EVMask=0x30};
  2855. public:
  2856. inline TGulAlignment();
  2857. inline TGulAlignment(TGulAlignmentValue aValue);
  2858. inline TGulAlignment(CGraphicsContext::TTextAlign aHAlign, TGulVAlignment aVAlign = EVTop);
  2859. inline operator TGulAlignmentValue() const;
  2860. inline TGulVAlignment VAlignment() const;
  2861. inline TGulHAlignment HAlignment() const;
  2862. inline CGraphicsContext::TTextAlign TextAlign() const;
  2863. __declspec(dllexport) void SetVAlignment(TGulVAlignment aVAlign);
  2864. __declspec(dllexport) void SetHAlignment(TGulHAlignment aHAlign);
  2865. __declspec(dllexport) void SetHAlignment(CGraphicsContext::TTextAlign aHAlign);
  2866. __declspec(dllexport) TPoint InnerTopLeft(const TRect& aOuter,const TSize& aInnerSize) const;
  2867. __declspec(dllexport) TRect InnerRect(const TRect& aOuter,const TSize& aInnerSize) const;
  2868. private:
  2869. TGulAlignmentValue iValue;
  2870. };
  2871. inline TGulAlignment::TGulAlignment()
  2872. {};
  2873. inline TGulAlignment::TGulAlignment(TGulAlignmentValue aValue)
  2874. {iValue=aValue;}
  2875. inline TGulAlignment::TGulAlignment(CGraphicsContext::TTextAlign aHAlign, TGulVAlignment aVAlign)
  2876. { iValue = static_cast<TGulAlignmentValue>(((TGulHAlignment)aHAlign) |aVAlign); }
  2877. inline TGulAlignment::operator TGulAlignmentValue() const
  2878. {return(iValue);}
  2879. inline TGulVAlignment TGulAlignment::VAlignment() const
  2880. {return((TGulVAlignment)(iValue&EVMask));}
  2881. inline TGulHAlignment TGulAlignment::HAlignment() const
  2882. {return((TGulHAlignment)(iValue&EHMask));}
  2883. inline CGraphicsContext::TTextAlign TGulAlignment::TextAlign() const
  2884. {return((CGraphicsContext::TTextAlign)(HAlignment()));}
  2885. #line 14 "C:\Symbian\9.1\S60_3rd\epoc32\include\coetextdrawer.h" /* stack depth 8 */
  2886. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\biditext.h" /* stack depth 9 */
  2887. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\bidi.h" /* stack depth 10 */
  2888. #line 16
  2889. class RWriteStream;
  2890. class RReadStream;
  2891. class TBidirectionalState
  2892. #line 31
  2893. {
  2894. public:
  2895. class TRunInfo
  2896. #line 44
  2897. {
  2898. public:
  2899. TUint iCategory;
  2900. TUint8 iEmbeddingLevel;
  2901. TUint8 iDirection;
  2902. TInt iIndex;
  2903. TInt iStart;
  2904. TInt iLength;
  2905. };
  2906. __declspec(dllexport) TBidirectionalState();
  2907. __declspec(dllexport) void ReorderLine(TRunInfo* aRunInfo,TInt aRuns,TBool aParStart,TBool aParEnd,TBool aParRightToLeft,
  2908.  TChar::TBdCategory aNextCategory,TChar::TBdCategory aNextStrongCategory,
  2909.  TBool& aVisualEndIsAmbiguous);
  2910. __declspec(dllexport) void ReorderLine(TRunInfo* aRunInfo,TInt aRuns,TBool aParStart,TBool aParEnd,TBool aParRightToLeft,
  2911.  TChar::TBdCategory aNextCategory,TChar::TBdCategory aNextStrongCategory);
  2912. __declspec(dllexport) static TInt ReorderText(const TText* aText,TInt aLength,TBool aParRightToLeft,TText*& aNewText);
  2913. __declspec(dllexport) static void ReverseGroups(TText* aStart,TInt aLength);
  2914. __declspec(dllexport) void Reset();
  2915. __declspec(dllexport) TBool IsDefault() const;
  2916. __declspec(dllexport) TBool operator==(const TBidirectionalState& aState) const;
  2917. __declspec(dllexport) void ExternalizeL(RWriteStream& aDest);
  2918. __declspec(dllexport) void InternalizeL(RReadStream& aSource);
  2919. TBool ParRightToLeft() const { return iStack[0].iEmbeddingLevel & 1; }
  2920. private:
  2921. enum TCategory
  2922. {
  2923. ELeftToRight = 1 << TChar::ELeftToRight,
  2924. ELeftToRightEmbedding = 1 << TChar::ELeftToRightEmbedding,
  2925. ELeftToRightOverride = 1 << TChar::ELeftToRightOverride,
  2926. ERightToLeft = 1 << TChar::ERightToLeft,
  2927. ERightToLeftArabic = 1 << TChar::ERightToLeftArabic,
  2928. ERightToLeftEmbedding = 1 << TChar::ERightToLeftEmbedding,
  2929. ERightToLeftOverride = 1 << TChar::ERightToLeftOverride,
  2930. EPopDirectionalFormat = 1 << TChar::EPopDirectionalFormat,
  2931. EEuropeanNumber = 1 << TChar::EEuropeanNumber,
  2932. EEuropeanNumberSeparator = 1 << TChar::EEuropeanNumberSeparator,
  2933. EEuropeanNumberTerminator = 1 << TChar::EEuropeanNumberTerminator,
  2934. EArabicNumber = 1 << TChar::EArabicNumber,
  2935. ECommonNumberSeparator = 1 << TChar::ECommonNumberSeparator,
  2936. ENonSpacingMark = 1 << TChar::ENonSpacingMark,
  2937. EBoundaryNeutral = 1 << TChar::EBoundaryNeutral,
  2938. EParagraphSeparator = 1 << TChar::EParagraphSeparator,
  2939. ESegmentSeparator = 1 << TChar::ESegmentSeparator,
  2940. EWhitespace = 1 << TChar::EWhitespace,
  2941. EOtherNeutral = 1 << TChar::EOtherNeutral,
  2942. EBdControlsGroup = ELeftToRightEmbedding | ERightToLeftEmbedding |
  2943.    ELeftToRightOverride | ERightToLeftOverride | EPopDirectionalFormat,
  2944. ELeftToRightGroup = ELeftToRight | EEuropeanNumber | ELeftToRightOverride | ELeftToRightEmbedding,
  2945. ERightToLeftGroup = ERightToLeft | EArabicNumber | ERightToLeftArabic | ERightToLeftOverride |
  2946. ERightToLeftEmbedding,
  2947. EStrongGroup = ELeftToRightEmbedding | ERightToLeftEmbedding
  2948. | ELeftToRightOverride | ERightToLeftOverride
  2949. | ELeftToRight | ERightToLeft | ERightToLeftArabic,
  2950. ENoCategory = 0
  2951. };
  2952. enum
  2953. {
  2954. EMaxExplicitLevel = 61,
  2955. EMaxLevel = 63,
  2956. EMaxStackLevels = 62
  2957. };
  2958. enum TOverrideState
  2959. {
  2960. ENoOverrideState = 0,
  2961. ELeftToRightOverrideState = ELeftToRightOverride,
  2962. ERightToLeftOverrideState = ERightToLeftOverride
  2963. };
  2964. class TStackItem
  2965. {
  2966. public:
  2967. TUint8 iEmbeddingLevel;
  2968. TOverrideState iOverrideState;
  2969. TCategory iStartCategory;
  2970. };
  2971. public:
  2972. class TReorderContext
  2973. {
  2974. public:
  2975. void SetNextCategory(TChar::TBdCategory aCat);
  2976. void SetNextStrongCategory(TChar::TBdCategory aCat);
  2977. public:
  2978. TCategory iNextCategory;
  2979. TCategory iNextStrongCategory;
  2980. TRunInfo* iRunInfo;
  2981. TInt iRuns;
  2982. TUint32 iCategories;
  2983. TCategory iLastStrongCategory;
  2984. };
  2985. public:
  2986. static TInt GenerateBdRunArray(const TText* aText, TInt aLength,
  2987. TBidirectionalState::TRunInfo* aRun, TInt aMaxRuns);
  2988. private:
  2989. const TStackItem& State() const { return iStack[iStackLevel]; }
  2990. TCategory Push(TCategory aStartCategory);
  2991. TCategory Pop();
  2992. public:
  2993. TBidirectionalState(TChar::TBdCategory aPrevCat,
  2994. TChar::TBdCategory aPrevStrongCat, TBool aParRightToLeft);
  2995. void HandleBdControls(TReorderContext& aContext);
  2996. void ResolveWeakTypesW1W2W3(TReorderContext& aContext);
  2997. void ResolveWeakTypesW4W5W6(TReorderContext& aContext);
  2998. void ResolveWeakTypesW7(TReorderContext& aContext);
  2999. void ResolveNeutralTypes(TReorderContext& aContext);
  3000. void ResolveImplicitLevels(TReorderContext& aContext);
  3001. void PrepareForNextLine(const TReorderContext& aContext);
  3002. void ReorderRuns(TReorderContext& aContext);
  3003. static TInt CatToNumber(TInt aCat);
  3004. static TCategory CharToBdCat(TChar::TBdCategory aCat);
  3005. static TCategory UintToBdCat(TUint aCat);
  3006. static void DeneutralizeRuns(TRunInfo* aStart, TRunInfo* aEnd,
  3007. TCategory aStartCategory, TCategory aEndCategory);
  3008. private:
  3009. TCategory iPreviousCategory;
  3010. TCategory iPreviousStrongCategory;
  3011. TInt16 iStackLevel;
  3012. TInt8 iPushesBeyond60;
  3013. TInt8 iPushesBeyond61;
  3014. TStackItem iStack[EMaxStackLevels];
  3015. };
  3016. #line 11 "C:\Symbian\9.1\S60_3rd\epoc32\include\biditext.h" /* stack depth 9 */
  3017. enum CGraphicsContext::TTextAlign;
  3018. class MLineBreaker;
  3019. class RRunInfoArray;
  3020. class CBidiTextTls;
  3021. #line 27
  3022. class TBidiText
  3023. {
  3024. public:
  3025. enum TDirectionality
  3026. {
  3027. ELeftToRight = 0,
  3028. ERightToLeft = 1
  3029. };
  3030. enum TPanicCodes
  3031. {
  3032. EPanicRunArrayNull,
  3033. };
  3034. __declspec(dllexport) static TDirectionality ScriptDirectionality(TLanguage aLanguage);
  3035. __declspec(dllexport) static TDirectionality TextDirectionality(
  3036. const TDesC& aText, TBool* aFound = 0);
  3037. protected:
  3038. TBidiText();
  3039. public:
  3040. __declspec(dllexport) static TBidiText* NewL(TInt aReservedMaxLength, TInt aMaxLines);
  3041. __declspec(dllexport) static TBidiText* NewL(const TDesC& aText, TInt aMaxLines);
  3042. __declspec(dllexport) static TBidiText* NewL(const TDesC& aText, TInt aMaxLines,
  3043. TDirectionality aDirectionality);
  3044. __declspec(dllexport) TInt SetText(const TDesC& aText, RRunInfoArray& aRunInfoArray);
  3045. __declspec(dllexport) TInt SetText(const TDesC& aText, TDirectionality aDirectionality, RRunInfoArray& aRunInfoArray);
  3046. __declspec(dllexport) void SetTruncationChar(TChar aTruncateWith);
  3047. __declspec(dllexport) void WrapText(TInt aWrappingWidth, const CFont& aFont,
  3048. const MLineBreaker* aBreaker, TInt aMaxLines);
  3049. __declspec(dllexport) void WrapText(TInt aWrappingWidth, const CFont& aFont,
  3050. const MLineBreaker* aBreaker = 0 );
  3051. __declspec(dllexport) TSize MinimumSize(TInt aWrappingWidth, const CFont& aFont, TInt aLineGap, TInt aMaxLines = -1,
  3052. const MLineBreaker* aBreaker = 0 ) const;
  3053. __declspec(dllexport) TPtrC Text() const;
  3054. __declspec(dllexport) TPtrC DisplayText() const;
  3055. __declspec(dllexport) TInt WrappingWidth() const;
  3056. __declspec(dllexport) TDirectionality Directionality() const;
  3057. __declspec(dllexport) TChar TruncationChar() const;
  3058. __declspec(dllexport) TInt NumberOfLinesInDisplayText() const;
  3059. __declspec(dllexport) TPtrC LineOfDisplayText(TInt aLine, TInt& aWidthInPixels) const;
  3060. __declspec(dllexport) void DrawText(CGraphicsContext& aGc, const TPoint& aLeft) const;
  3061. __declspec(dllexport) void DrawText(CGraphicsContext& aGc,
  3062. const TPoint& aLeft, TInt aBaseLineSpacing,
  3063. CGraphicsContext::TTextAlign aAlignment) const;
  3064. __declspec(dllexport) void DrawText(CGraphicsContext& aGc,
  3065. const TPoint& aLeft, TInt aBaseLineSpacing) const;
  3066. private:
  3067. TInt DoWrapText(TInt aWrappingWidth, const CFont& aFont, const MLineBreaker* aBreaker,
  3068. TInt aMaxLines, TText*& aOutputText, TInt& aNumLines, TInt16* aLineWidthArray) const;
  3069. };
  3070. #line 93
  3071. class RRunInfoArray
  3072. {
  3073. friend class TBidiText;
  3074. public:
  3075. __declspec(dllexport) RRunInfoArray();
  3076. __declspec(dllexport) void OpenL();
  3077. __declspec(dllexport) void Close();
  3078. private:
  3079. TBidirectionalState::TRunInfo* RunArray() const;
  3080. private:
  3081. CBidiTextTls* iTls;
  3082. };
  3083. #line 18 "C:\Symbian\9.1\S60_3rd\epoc32\include\coetextdrawer.h" /* stack depth 8 */
  3084. #line 30
  3085. class CCoeTextDrawerBase;
  3086. class TCoeTextTypeAdaptor;
  3087. #line 51
  3088. class XCoeTextDrawer
  3089. {
  3090. public:
  3091. __declspec(dllexport) XCoeTextDrawer(CCoeTextDrawerBase& aTextDrawer);
  3092. __declspec(dllexport) ~XCoeTextDrawer();
  3093. __declspec(dllexport) void operator=(CCoeTextDrawerBase& aTextDrawer);
  3094. __declspec(dllexport) CCoeTextDrawerBase *operator ->();
  3095. __declspec(dllexport) void DrawText(CGraphicsContext& aGc, const TBidiText& aText, const TRect& aTextRect, const CFont& aFont) const;
  3096. __declspec(dllexport) void DrawDisplayOrderedText(CGraphicsContext& aGc, const TDesC& aText, const TRect& aTextRect, const CFont& aFont) const;
  3097. __declspec(dllexport) TRect ClipRect() const;
  3098. __declspec(dllexport) void SetClipRect(const TRect& aClipRect);
  3099. private:
  3100. XCoeTextDrawer(XCoeTextDrawer& aTextDrawer);
  3101. private:
  3102. CCoeTextDrawerBase* iTextDrawer;
  3103. TRect iClipRect;
  3104. };
  3105. class CCoeTextDrawerBaseExt;
  3106. #line 96
  3107. class CCoeTextDrawerBase : public CBase, public MObjectProvider
  3108. {
  3109. friend class XCoeTextDrawer;
  3110. public:
  3111. __declspec(dllexport) ~CCoeTextDrawerBase();
  3112. __declspec(dllexport) virtual void Reset();
  3113. virtual TRgb TextColor() const = 0;
  3114. virtual void SetTextColor(TRgb aColor) = 0;
  3115. __declspec(dllexport) TGulAlignment Alignment() const;
  3116. __declspec(dllexport) void SetAlignment(const TGulAlignment& aAlignment);
  3117. __declspec(dllexport) TMargins8 Margins() const;
  3118. __declspec(dllexport) void SetMargins(const TMargins8& aMargins);
  3119. __declspec(dllexport) TInt LineGapInPixels() const;
  3120. __declspec(dllexport) void SetLineGapInPixels(TInt aLineGapInPixels);
  3121.   __declspec(dllexport) TBool IsReusable() const;
  3122. __declspec(dllexport) void SetReusable(TBool aIsReusable);
  3123. protected:
  3124.   __declspec(dllexport) CCoeTextDrawerBase();
  3125. __declspec(dllexport) TInt Construct();
  3126. private:
  3127. virtual void DrawText(CGraphicsContext& aGc, const TCoeTextTypeAdaptor& aText, const CFont& aFont,
  3128. const TRect& aTextRect, const TRect& aClipRect) const = 0;
  3129. __declspec(dllexport) virtual void CCoeTextDrawerBase_Reserved1();
  3130. __declspec(dllexport) virtual void CCoeTextDrawerBase_Reserved2();
  3131. __declspec(dllexport) virtual void CCoeTextDrawerBase_Reserved3();
  3132. __declspec(dllexport) virtual void CCoeTextDrawerBase_Reserved4();
  3133. __declspec(dllexport) virtual void CCoeTextDrawerBase_Reserved5();
  3134. __declspec(dllexport) virtual void CCoeTextDrawerBase_Reserved6();
  3135. __declspec(dllexport) virtual void CCoeTextDrawerBase_Reserved7();
  3136. __declspec(dllexport) virtual void CCoeTextDrawerBase_Reserved8();
  3137. __declspec(dllexport) virtual void CCoeTextDrawerBase_Reserved9();
  3138. __declspec(dllexport) virtual void CCoeTextDrawerBase_Reserved10();
  3139.  private:
  3140. TBool iIsReusable;
  3141. TGulAlignment iAlignment;
  3142. TMargins8 iMargins;
  3143. TInt iLineGap;
  3144. CCoeTextDrawerBaseExt* iExtension;
  3145. };
  3146. #line 169
  3147. class TCoeTextTypeAdaptor
  3148. {
  3149. public:
  3150. __declspec(dllexport) TCoeTextTypeAdaptor(const TDesC& aText);
  3151. __declspec(dllexport) TCoeTextTypeAdaptor(const TBidiText& aText);
  3152. __declspec(dllexport) TInt NumberOfLines() const;
  3153. __declspec(dllexport) TPtrC LineOfText(TInt aLineNumber, TInt& aWidthInPixels, const CFont& aFont) const;
  3154. __declspec(dllexport) TBool HasRightToLeftDirectionality() const;
  3155. private:
  3156. enum TTextType
  3157. {
  3158. ENewlineSeparated,
  3159. EBidiText
  3160. };
  3161. const TAny* iText;
  3162. TTextType iTextType;
  3163. };
  3164. #line 196
  3165. class CCoePlainTextDrawer : public CCoeTextDrawerBase
  3166. {
  3167. public:
  3168. enum { ETypeId = 0x1020831A };
  3169. public:
  3170. __declspec(dllexport) static CCoePlainTextDrawer* New(TRgb aTextColor);
  3171. __declspec(dllexport) TRgb TextColor() const;
  3172. __declspec(dllexport) void SetTextColor(TRgb aTextColor);
  3173. protected:
  3174. __declspec(dllexport) virtual TTypeUid::Ptr MopSupplyObject(TTypeUid aId);
  3175. private:
  3176. void DrawText(CGraphicsContext& aGc, const TCoeTextTypeAdaptor& aText, const CFont& aFont,
  3177. const TRect& aTextRect, const TRect& aClipRect) const;
  3178. void Reset();
  3179. CCoePlainTextDrawer(TRgb aTextColor);
  3180. __declspec(dllexport) TInt Construct();
  3181. private:
  3182. TRgb iTextColor;
  3183. };
  3184. #line 34 "C:\Symbian\9.1\S60_3rd\epoc32\include\coemain.h" /* stack depth 7 */
  3185. #line 42
  3186. class CVwsSessionWrapper;
  3187. class MVwsSessionWrapperObserver;
  3188. class CCoeAppUi;
  3189. class CCoeEnv;
  3190. class TResourceReader;
  3191. class RGenericPointerArray;
  3192. enum TActivePriority
  3193. {
  3194. EActivePriorityClockTimer=300,
  3195. EActivePriorityIpcEventsHigh=200,
  3196. EActivePriorityFepLoader=150,
  3197. EActivePriorityWsEvents=100,
  3198. EActivePriorityRedrawEvents=50,
  3199. EActivePriorityDefault=0,
  3200. EActivePriorityLogonA=-10
  3201. };
  3202. class CCoeEnvExtra;
  3203. class CCoeStatic;
  3204. class MCoeObserverOfLoadedFep
  3205. #line 90
  3206. {
  3207. public:
  3208. virtual void HandleChangeInLoadedFep()=0;
  3209. protected:
  3210. __declspec(dllexport) MCoeObserverOfLoadedFep();
  3211. private:
  3212. __declspec(dllexport) virtual void MCoeObserverOfLoadedFep_Reserved_1();
  3213. __declspec(dllexport) virtual void MCoeObserverOfLoadedFep_Reserved_2();
  3214. private:
  3215.   TInt iMCoeObserverOfLoadedFep_Reserved1;
  3216. };
  3217. class TCoeInputCapabilities;
  3218. class MCoeFocusObserver
  3219. #line 125
  3220. {
  3221. public:
  3222. virtual void HandleChangeInFocus()=0;
  3223. virtual void HandleDestructionOfFocusedItem()=0;
  3224. protected:
  3225. __declspec(dllexport) MCoeFocusObserver();
  3226. private:
  3227. __declspec(dllexport) virtual void MCoeFocusObserver_Reserved_1();
  3228. __declspec(dllexport) virtual void MCoeFocusObserver_Reserved_2();
  3229. private:
  3230. TInt iMCoeFocusObserver_Reserved1;
  3231. };
  3232. class MCoeResourceChangeObserver
  3233. {
  3234. public:
  3235. virtual void HandleResourceChange()=0;
  3236. protected:
  3237. __declspec(dllexport) MCoeResourceChangeObserver();
  3238. private:
  3239. __declspec(dllexport) virtual void MCoeResourceChangeObserver_Reserved_1();
  3240. __declspec(dllexport) virtual void MCoeResourceChangeObserver_Reserved_2();
  3241. private:
  3242. TInt iMCoeResourceChangeObserver_Reserved1;
  3243. };
  3244. class MCoeForegroundObserver
  3245. #line 182
  3246. {
  3247. public:
  3248. virtual void HandleGainingForeground()=0;
  3249. virtual void HandleLosingForeground()=0;
  3250. protected:
  3251. __declspec(dllexport) MCoeForegroundObserver();
  3252. private:
  3253. __declspec(dllexport) virtual void MCoeForegroundObserver_Reserved_1();
  3254. __declspec(dllexport) virtual void MCoeForegroundObserver_Reserved_2();
  3255. private:
  3256. TInt iMCoeForegroundObserver_Reserved1;
  3257. };
  3258. class MCoeMessageObserver
  3259. #line 214
  3260. {
  3261. public:
  3262. enum TMessageResponse
  3263. {
  3264. EMessageNotHandled,
  3265. EMessageHandled
  3266. };
  3267. public:
  3268. #line 236
  3269. virtual TMessageResponse HandleMessageL(TUint32 aClientHandleOfTargetWindowGroup, TUid aMessageUid, const TDesC8& aMessageParameters)=0;
  3270. protected:
  3271. __declspec(dllexport) MCoeMessageObserver();
  3272. private:
  3273. __declspec(dllexport) virtual void MCoeMessageObserver_Reserved_1();
  3274. __declspec(dllexport) virtual void MCoeMessageObserver_Reserved_2();
  3275. private:
  3276. TInt iMCoeMessageObserver_Reserved1();
  3277. };
  3278. class MCoeMessageMonitorObserver
  3279. {
  3280. public:
  3281. virtual void MonitorWsMessage(const TWsEvent& aEvent)=0;
  3282. private:
  3283. __declspec(dllexport) virtual void MCoeMessageMonitorObserver_Reserved_1();
  3284. __declspec(dllexport) virtual void MCoeMessageMonitorObserver_Reserved_2();
  3285. };
  3286. class MCoeFepObserver;
  3287. typedef void (*TCoeFepObserverFunction)(MCoeFepObserver& aFepObserver);
  3288. class CCoeFepParameters : public CBase
  3289. {
  3290. public:
  3291. static CCoeFepParameters* NewLC();
  3292. private:
  3293. inline CCoeFepParameters() {}
  3294. };
  3295. class CCoeFep;
  3296. class CCoeScheduler : public CBaActiveScheduler
  3297. {
  3298. public:
  3299. __declspec(dllexport) CCoeScheduler(CCoeEnv* aCoeEnv);
  3300. __declspec(dllexport) virtual void WaitForAnyRequest();
  3301. __declspec(dllexport) virtual void DisplayError(TInt aError) const;
  3302. inline CCoeEnv* CoeEnv() {return iCoeEnv;}
  3303. TBool Flush() const;
  3304. void SetFlush(TBool aFlush);
  3305. private:
  3306. __declspec(dllexport) virtual void Reserved_1();
  3307. __declspec(dllexport) virtual void Reserved_2();
  3308. private:
  3309. CCoeEnv* iCoeEnv;
  3310. TBool iFlush;
  3311. };
  3312. class CCoeFontProvider;
  3313. class CCoeEnv : public CActive
  3314. , public MObjectProvider
  3315. #line 331
  3316. {
  3317. public:
  3318. __declspec(dllexport) ~CCoeEnv();
  3319. __declspec(dllexport) CCoeEnv();
  3320. __declspec(dllexport) virtual void DestroyEnvironment();
  3321. __declspec(dllexport) CCoeAppUi* SetAppUi(CCoeAppUi* aAppUi);
  3322. __declspec(dllexport) void ExecuteD();
  3323. __declspec(dllexport) void RunL();
  3324. __declspec(dllexport) void DoCancel();
  3325. __declspec(dllexport) virtual void HandleError(TInt aError);
  3326. __declspec(dllexport) void ConstructL();
  3327. __declspec(dllexport) void ConstructL(TBool aInitialFocusState);
  3328. __declspec(dllexport) void ConstructL( TBool aInitialFocusState, TInt aDefaultScreenNumber ) ;
  3329. __declspec(dllexport) void ConstructL(TBool aInitialFocusState, TInt aDefaultScreenNumber, TInt aWindowGroupID );
  3330. inline const TWsEvent& LastEvent() const;
  3331. inline CCoeAppUi* AppUi() const;
  3332. inline RFs& FsSession() const;
  3333. inline RWsSession& WsSession() const;
  3334. inline RWindowGroup& RootWin() const;
  3335. inline CWindowGc& SystemGc() const;
  3336. inline const CFont* NormalFont() const;
  3337. inline CWsScreenDevice* ScreenDevice() const;
  3338. inline TBool IsSchedulerRunning() const;
  3339. __declspec(dllexport) CWindowGc* CreateGcL();
  3340. __declspec(dllexport) void Flush(TTimeIntervalMicroSeconds32 aDelay=0);
  3341. __declspec(dllexport) CFbsFont* CreateDeviceFontL(CGraphicsDevice* aDevice,const TFontSpec& aFontSpec);
  3342. __declspec(dllexport) CFbsFont* CreateScreenFontL(const TFontSpec& aFontSpec);
  3343. __declspec(dllexport) void ReleaseScreenFont(CFont* aFont) const;
  3344. __declspec(dllexport) void CreateResourceReaderLC(TResourceReader& aReader,TInt aResourceId) const;
  3345. inline void ReadResource(TDes& aDes,TInt aResourceId) const;
  3346. inline void ReadResourceL(TDes& aDes,TInt aResourceId) const;
  3347. inline  HBufC* AllocReadResourceL(TInt aResourceId) const;
  3348. inline HBufC* AllocReadResourceLC(TInt aResourceId) const;
  3349. __declspec(dllexport) TInt AddResourceFileL(const TDesC& aFileName);
  3350. __declspec(dllexport) void DeleteResourceFile(TInt aOffset);
  3351. inline CDesCArrayFlat* ReadDesCArrayResourceL(TInt aResourceId);
  3352. __declspec(dllexport) void LeaveWithErrorText(const TDesC& aMsg,const TDesC* aContextText=0 );
  3353. __declspec(dllexport) void Format128(TDes& aDes,TInt aResourceId,...);
  3354. __declspec(dllexport) void Format256(TDes& aDes,TInt aResourceId,...);
  3355. __declspec(dllexport) static TVersion Version();
  3356. __declspec(dllexport) static CCoeEnv* Static();
  3357. __declspec(dllexport) void SimulateKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
  3358. __declspec(dllexport) TBool IsWservEventPending() const;
  3359. __declspec(dllexport) TBool IsRedrawEventPending() const;
  3360. __declspec(dllexport) void PrepareToExit();
  3361. __declspec(dllexport) void BringOwnerToFront();
  3362. __declspec(dllexport) void ReadResourceAsDes8(TDes8& aDes,TInt aResourceId) const;
  3363. __declspec(dllexport) void ReadResourceAsDes8L(TDes8& aDes,TInt aResourceId) const;
  3364. __declspec(dllexport) HBufC8* AllocReadResourceAsDes8L(TInt aResourceId) const;
  3365. __declspec(dllexport) HBufC8* AllocReadResourceAsDes8LC(TInt aResourceId) const;
  3366. __declspec(dllexport) CDesC8ArrayFlat* ReadDesC8ArrayResourceL(TInt aResourceId);
  3367. __declspec(dllexport) void SuppressNextFlush();
  3368. __declspec(dllexport) void ReadResourceAsDes16(TDes16& aDes,TInt aResourceId) const;
  3369. __declspec(dllexport) void ReadResourceAsDes16L(TDes16& aDes,TInt aResourceId) const;
  3370. __declspec(dllexport) HBufC16* AllocReadResourceAsDes16L(TInt aResourceId) const;
  3371. __declspec(dllexport) HBufC16* AllocReadResourceAsDes16LC(TInt aResourceId) const;
  3372. __declspec(dllexport) CDesC16ArrayFlat* ReadDesC16ArrayResourceL(TInt aResourceId);
  3373. __declspec(dllexport) void AddObserverOfLoadedFepL(MCoeObserverOfLoadedFep& aObserverOfLoadedFep);
  3374. __declspec(dllexport) void RemoveObserverOfLoadedFep(MCoeObserverOfLoadedFep& aObserverOfLoadedFep);
  3375. __declspec(dllexport) void AddFocusObserverL(MCoeFocusObserver& aFocusObserver);
  3376. __declspec(dllexport) void RemoveFocusObserver(MCoeFocusObserver& aFocusObserver);
  3377. __declspec(dllexport) void SyncNotifyFocusObserversOfChangeInFocus();
  3378. void NotifyFocusObserversOfDestructionOfFocusedItem();
  3379. __declspec(dllexport) void AddForegroundObserverL(MCoeForegroundObserver& aForegroundObserver);
  3380. __declspec(dllexport) void RemoveForegroundObserver(MCoeForegroundObserver& aForegroundObserver);
  3381. void NotifyForegroundObserversOfGainingForeground();
  3382. void NotifyForegroundObserversOfLosingForeground();
  3383. __declspec(dllexport) void AddResourceChangeObserverL(MCoeResourceChangeObserver& aResourceChangeObserver);
  3384. __declspec(dllexport) void RemoveResourceChangeObserver(MCoeResourceChangeObserver& aResourceChangeObserver);
  3385. void NotifyResourceObserversOfChangeInResource();
  3386. __declspec(dllexport) void AddMessageObserverL(MCoeMessageObserver& aMessageObserver);
  3387. __declspec(dllexport) void RemoveMessageObserver(MCoeMessageObserver& aMessageObserver);
  3388. __declspec(dllexport) void AddMessageMonitorObserverL(MCoeMessageMonitorObserver& aMessageMonitorObserver);
  3389. __declspec(dllexport) void RemoveMessageMonitorObserver(MCoeMessageMonitorObserver& aMessageMonitorObserver);
  3390. void NotifyMessageMonitorObserversOfEvent(const TWsEvent& aEvent);
  3391. __declspec(dllexport) void AddFepObserverL(MCoeFepObserver& aFepObserver);
  3392. __declspec(dllexport) void RemoveFepObserver(MCoeFepObserver& aFepObserver);
  3393. __declspec(dllexport) void ForEachFepObserverCall(TCoeFepObserverFunction aFepObserverFunction);
  3394. void EnsureCorrectFepIsLoadedL();
  3395. #line 419
  3396. void EnsureSpecifiedFepIsLoadedL(TUid aFepUid);
  3397. __declspec(dllexport) void InstallFepL(TUid aFepUid);
  3398. __declspec(dllexport) void InstallFepL(TUid aFepUid, const TBool aLeave);
  3399. __declspec(dllexport) void AvailableFepsL(RArray<TUid>& aUids, CDesCArray* aDisplayNames);
  3400. __declspec(dllexport) void ExecuteFepSettingsDialogL(TUid aFepUid);
  3401. __declspec(dllexport) CCoeFep* Fep() const;
  3402. __declspec(dllexport) TUid FepUid() const;
  3403. __declspec(dllexport) CWindowGc* SwapSystemGc(CWindowGc* aGc);
  3404. __declspec(dllexport) static CCoeStatic* Static(TUid aUid);
  3405. __declspec(dllexport) CCoeStatic* FindStatic(TUid aUid);
  3406. __declspec(dllexport) void DisableExitChecks(TBool aDisable);
  3407. __declspec(dllexport) void InputCapabilitiesChanged();
  3408. __declspec(dllexport) TBool IsResourceAvailableL(TInt aResourceId) const;
  3409. __declspec(dllexport) CCoeTextDrawerBase& DefaultTextDrawer() const;
  3410. __declspec(dllexport) const CCoeFontProvider& DefaultFontProvider() const;
  3411. public:
  3412. TInt AppStartupInstrumentationEventIdBase();
  3413. public:
  3414. __declspec(dllexport) void GetMessageNotifyingObserversLC(TUint32 aClientHandleOfTargetWindowGroup, TUid& aMessageUid, TPtr8& aMessageParameters, const TWsEvent& aMessageEvent);
  3415. protected:
  3416. __declspec(dllexport) void SetAppStartupInstrumentationEventIdBaseL(TInt aAppStartupInstrumentationEventIdBase);
  3417. __declspec(dllexport) void DestroyEnvironmentStatic();
  3418. __declspec(dllexport) void DestroyEnvironmentEnd();
  3419. private:
  3420. __declspec(dllexport) virtual void Reserved_1();
  3421. __declspec(dllexport) virtual void Reserved_2();
  3422. private:
  3423. __declspec(dllexport) TInt RunError(TInt aError);
  3424. public:
  3425. void ReadEvent();
  3426. CVwsSessionWrapper* InitViewServerSessionL(MVwsSessionWrapperObserver& aObserver);
  3427. void AddStatic(CCoeStatic* aStatic);
  3428. void QueueNotificationToFocusObserversOfChangeInFocus();
  3429. TInt FocusObserverNotificationIdentifier() const;
  3430. TBool FocusObserverNotificationIsStillPending(TInt aFocusObserverNotificationIdentifier) const;
  3431. void RefetchPixelMapping();
  3432. protected:
  3433. __declspec(dllexport) virtual TTypeUid::Ptr MopSupplyObject(TTypeUid aId);
  3434. public:
  3435. __declspec(dllexport) void SetZoomFactor(const TZoomFactor& aZoomFactor);
  3436. __declspec(dllexport) TZoomFactor ZoomFactor() const;
  3437. protected:
  3438. __declspec(dllexport) virtual void DestroyScreen();
  3439. inline TDes& ErrorText();
  3440. inline TDes& ErrorContextText();
  3441. private:
  3442. __declspec(dllexport) virtual void InitSystemFontsL();
  3443. __declspec(dllexport) virtual TInt ResourceFileVersionNumber() const;
  3444. void CreateActiveSchedulerL();
  3445. void ConnectToFileServerL();
  3446. void ConnectToWindowServerL();
  3447. void InitScreenL( TInt aDefaultScreenNumber );
  3448. void InitRootWindowL(TBool aInitialFocusState, TInt aWindowGroupID=0);
  3449. void InitSystemGcL();
  3450. RResourceFile& ResourceFileForId(TInt aResourceId) const;
  3451. void DestroyAllResourceFiles();
  3452. void AddObserverL(TAny* aObserver, RGenericPointerArray& aArray);
  3453. void RemoveObserver(TAny* aObserver, RGenericPointerArray& aArray);
  3454. inline TBool DisableShutdownChecks() const;
  3455. void UpdateStatic(CCoeAppUi* aNewAppUi);
  3456. void SetInitialHandleCount();
  3457. inline TUint InitialHandleCount() const;
  3458. protected:
  3459. CCoeAppUi* iAppUi;
  3460. RFs iFsSession;
  3461. RWsSession iWsSession;
  3462. RWindowGroup iRootWin;
  3463. CWindowGc* iSystemGc;