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

Symbian

开发平台:

C/C++

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