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

Symbian

开发平台:

C/C++

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