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

Symbian

开发平台:

C/C++

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