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

Symbian

开发平台:

C/C++

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