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

Symbian

开发平台:

C/C++

  1. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  2. __declspec(dllexport) void SetAllVisible();
  3. __declspec(dllexport) void SetNoneVisible();
  4. __declspec(dllexport) void SetTabsVisible(TBool aVisible);
  5. __declspec(dllexport) void SetSpacesVisible(TBool aVisible);
  6. __declspec(dllexport) void SetParagraphDelimitersVisible(TBool aVisible);
  7. __declspec(dllexport) void SetLineBreaksVisible(TBool aVisible);
  8. __declspec(dllexport) void SetPotentialHyphensVisible(TBool aVisible);
  9. __declspec(dllexport) void SetNonBreakingHyphensVisible(TBool aVisible);
  10. __declspec(dllexport) void SetNonBreakingSpacesVisible(TBool aVisible);
  11. __declspec(dllexport) void SetPageBreaksVisible(TBool aVisible);
  12. inline TBool AllVisible()const{return iVisible==EFEverythingVisible;};
  13. inline TBool NoneVisible()const{return iVisible==EFNothingVisible;};
  14. inline TBool TabsVisible()const{return iVisible&EFTabsVisible;};
  15. inline TBool SpacesVisible()const{return iVisible&EFSpacesVisible;};
  16. inline TBool ParagraphDelimitersVisible()const{return iVisible&EFParagraphDelimitersVisible;};
  17. inline TBool LineBreaksVisible()const{return iVisible&EFLineBreaksVisible;};
  18. inline TBool PotentialHyphensVisible()const{return iVisible&EFPotentialHyphensVisible;};
  19. inline TBool NonBreakingHyphensVisible()const{return iVisible&EFNonBreakingHyphensVisible;};
  20. inline TBool NonBreakingSpacesVisible()const{return iVisible&EFNonBreakingSpacesVisible;};
  21. inline TBool PageBreaksVisible()const{return iVisible&EFPageBreaksVisible;};
  22. private:
  23. TUint32 iVisible;
  24. };
  25. #line 16 "C:\Symbian\9.1\S60_3rd\epoc32\include\frmtlay.h" /* stack depth 4 */
  26. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\tagma.h" /* stack depth 5 */
  27. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\txtstyle.h" /* stack depth 6 */
  28. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\txtfmlyr.h" /* stack depth 7 */
  29. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\txtfmstm.h" /* stack depth 8 */
  30. #line 15
  31. class RReadStream;
  32. class RWriteStream;
  33. class TCharFormatX;
  34. class TCharFormatXMask;
  35. class RFormatStream
  36. {
  37. public:
  38. RFormatStream();
  39. void CopyL(const RFormatStream& aSource);
  40. void ExternalizeL(RWriteStream& aStream) const;
  41. void InternalizeL(RReadStream& aStream);
  42. void Reset();
  43. const TUint8* Ptr(TInt& aSize) const;
  44. void SetParaFormatL(const CParaFormat* aDesiredFormat,const TParaFormatMask& aDesiredMask,const CParaFormat* aCurrentFormat);
  45. void SenseParaFormatL(CParaFormat* aParaFormat,TParaFormatMask& aMask,CParaFormat::TParaFormatGetMode aMode)const;
  46. void SetCharFormatL(const TCharFormatX& aCharFormat,const TCharFormatXMask& aMask);
  47. void SenseCharFormat(TCharFormatX& aCharFormat,TCharFormatXMask& aMask)const;
  48. void Swap(RFormatStream& aStream);
  49. private:
  50. void AllocL(TInt aSize);
  51. TInt Length(TUint8*& aPtr,TTextFormatAttribute aType)const;
  52. TInt DoCalcSizeParaFormat(const CParaFormat* aDesiredFormat,TParaFormatMask aMask,const CParaFormat* aCurrentFormat);
  53. void DoSetParaFormat(const CParaFormat* aDesiredFormat,TParaFormatMask aMask,const CParaFormat* aCurrentFormat);
  54. void RemoveRedundantCharFormat(TCharFormatMask& aMask,const TCharFormatX& aFormat,const TCharFormatX& aEffectiveFormat);
  55. TInt DoCalcSizeCharFormat(const TCharFormatX& aCharFormat,const TCharFormatXMask& aMask);
  56. void DoStoreCharFormat(const TCharFormatX& aCharFormat,TCharFormatXMask aMask);
  57. TUint8* StoreBullet(TUint8* aPtr,const TBullet& aSource);
  58. TUint8* StoreBorder(TUint8* aPtr,TTextFormatAttribute aType,const TParaBorder& aSource);
  59. TUint8* StoreTab(TUint8* aPtr,const TTabStop& aSource);
  60. TInt StoreTabs(TUint8*& aPtr,const CParaFormat* aDesiredFormat,const CParaFormat* aCurrentFormat,TBool aStoreData);
  61. TInt MergeTabLists(TUint8*& aPtr,const CParaFormat* aDesiredFormat,TInt aDesiredTabCount,
  62.    const CParaFormat* aCurrentFormat,TInt aCurrentTabCount,TBool aStoreData);
  63. void StoreAllTabs(TUint8*& aPtr,const CParaFormat* aSource);
  64. TUint8* Store(TUint8* aPtr,const TLogicalRgb& aRgb);
  65. TUint8* Store(TUint8* aPtr,const TTypeface& aTypeface);
  66. TUint8* ReadValue(TUint8* aPtr,TLogicalRgb& aRgb)const;
  67. TUint8* ReadValue(TUint8* aPtr,TTypeface& aTypeface)const;
  68. TUint8* ReadValue(TUint8* aPtr,TParaBorder& aBorder)const;
  69. TUint8* ReadValue(TUint8* aPtr,TBullet& aBullet)const;
  70. TUint8* ReadTabL(TUint8* aPtr,CParaFormat* aTarget)const;
  71. TUint8* iBase;
  72. TUint8* iEnd;
  73. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  74. private:
  75. void TestInvariantL() const;
  76. TBool DoInvariantCheck() const;
  77. };
  78. #line 11 "C:\Symbian\9.1\S60_3rd\epoc32\include\txtfmlyr.h" /* stack depth 7 */
  79. class CFormatStream;
  80. class RReadStream;
  81. class RWriteStream;
  82. class TCharFormatX;
  83. const TUid KNormalParagraphStyleUid={268435531};
  84. #line 55
  85. class CFormatLayer : public CBase
  86. {
  87. public:
  88. __declspec(dllexport) void Reset();
  89. __declspec(dllexport) void SetBase(const CFormatLayer* aBaseFormatLayer);
  90. __declspec(dllexport) const CFormatLayer* SenseBase()const;
  91. __declspec(dllexport) TInt ChainCount()const;
  92. #line 76
  93. virtual void InternalizeL(RReadStream& aStream,const CFormatLayer* aBase=0 )=0;
  94. #line 85
  95. virtual void ExternalizeL(RWriteStream& aStream)const=0;
  96. __declspec(dllexport) void InternalizeChainL(RReadStream& aStream,const CFormatLayer* aBase=0 );
  97. __declspec(dllexport) void ExternalizeChainL(RWriteStream& aStream,TInt aExcludeCount=0)const;
  98. #line 101
  99. virtual TBool IsIdentical(CFormatLayer* aLayer,TBool aCheckBasedOnLink=ETrue)const=0;
  100. __declspec(dllexport) TBool IsEmpty()const;
  101. void Swap(CFormatLayer& aLayer);
  102. private:
  103. CFormatLayer(const CFormatLayer& aFormatLayer);
  104. CFormatLayer& operator=(const CFormatLayer& aFormatLayer);
  105. virtual CFormatLayer* DoCloneL()const=0;
  106. protected:
  107. CFormatLayer();
  108. ~CFormatLayer();
  109. virtual CFormatLayer* RestoreNewL(RReadStream& aStream)=0;
  110. void ExternalizeLayersRecurseL(RWriteStream& aStream,TInt aDescendantCount)const;
  111. TBool IsIdentical(const TUint8* aPtr,TInt aSize)const;
  112. const TUint8* Ptr(TInt& aSize)const;
  113. void CloneLayerL(CFormatLayer* aClone)const;
  114. protected:
  115. RFormatStream iStore;
  116. const CFormatLayer* iBasedOn;
  117. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  118. };
  119. #line 134
  120. class CParaFormatLayer : public CFormatLayer
  121. {
  122. public:
  123. __declspec(dllexport) static CParaFormatLayer* NewL();
  124. __declspec(dllexport) static CParaFormatLayer* NewL(const CParaFormat* aParaFormat,const TParaFormatMask& aMask);
  125. __declspec(dllexport) static CParaFormatLayer* NewL(RReadStream& aStream);
  126. static CParaFormatLayer* NewL(const CParaFormatLayer* aLayer);
  127. static CParaFormatLayer* NewCopyBaseL(const CParaFormatLayer* aLayer);
  128. __declspec(dllexport) virtual void InternalizeL(RReadStream& aStream,const CFormatLayer* aBase=0 );
  129. __declspec(dllexport) virtual void ExternalizeL(RWriteStream& aStream)const;
  130. __declspec(dllexport) void SetL(const CParaFormat* aDesiredEffectiveFormat,const TParaFormatMask& aMask);
  131. __declspec(dllexport) void SenseEffectiveL(CParaFormat* aParaFormat,CParaFormat::TParaFormatGetMode aMode=CParaFormat::EAllAttributes)const;
  132. __declspec(dllexport) void SenseL(CParaFormat* aParaFormat,TParaFormatMask& aMask,CParaFormat::TParaFormatGetMode aMode=CParaFormat::EAllAttributes)const;
  133. inline CParaFormatLayer* CloneL()const;
  134. __declspec(dllexport) TBool IsIdenticalL(const CParaFormat* aParaFormat,const TParaFormatMask& aMask)const;
  135. __declspec(dllexport) virtual TBool IsIdentical(CFormatLayer* aLayer,TBool aCheckBasedOnLink=ETrue)const;
  136. __declspec(dllexport) virtual TUid Type()const;
  137. __declspec(dllexport) const TUint8* Ptr(TInt& aSize)const;
  138. private:
  139. CParaFormatLayer(const CParaFormatLayer& aParaFormatLayer);
  140. CParaFormatLayer& operator=(const CParaFormatLayer& aParaFormatLayer);
  141. __declspec(dllexport) virtual CFormatLayer* DoCloneL()const;
  142. void FillParaFormatL(CParaFormat* aParaFormat,TParaFormatMask& aMask,CParaFormat::TParaFormatGetMode aMode)const;
  143. void CleanupEffectiveFormat(CParaFormat* aParaFormat,TParaFormatMask aMask)const;
  144. void CleanupBorders(CParaFormat* aParaFormat)const;
  145. protected:
  146. CParaFormatLayer();
  147. virtual CFormatLayer* RestoreNewL(RReadStream& aStream);
  148. };
  149. #line 185
  150. class CCharFormatLayer : public CFormatLayer
  151. {
  152. public:
  153. __declspec(dllexport) static CCharFormatLayer* NewL();
  154. __declspec(dllexport) static CCharFormatLayer* NewL(const TCharFormat& aFormat,const TCharFormatMask& aMask);
  155. __declspec(dllexport) static CCharFormatLayer* NewL(RReadStream& aStream);
  156. __declspec(dllexport) virtual void InternalizeL(RReadStream& aStream,const CFormatLayer* aBase=0 );
  157. __declspec(dllexport) virtual void ExternalizeL(RWriteStream& aStream)const;
  158. __declspec(dllexport) void SetL(const TCharFormat& aCharFormat,const TCharFormatMask& aMask);
  159. __declspec(dllexport) void SenseEffective(TCharFormat& aCharFormat)const;
  160. __declspec(dllexport) void Sense(TCharFormat& aCharFormat,TCharFormatMask& aMask)const;
  161. inline CCharFormatLayer* CloneL()const;
  162. __declspec(dllexport) virtual TBool IsIdentical(CFormatLayer* aLayer,TBool aCheckBasedOnLink=ETrue)const;
  163. __declspec(dllexport) TBool IsIdentical(const TCharFormat& aCharFormat,const TCharFormatMask& aMask)const;
  164. __declspec(dllexport) const TUint8* Ptr(TInt& aSize)const;
  165. static CCharFormatLayer* NewL(const CCharFormatLayer* aLayer);
  166. static CCharFormatLayer* NewCopyBaseL(const CCharFormatLayer* aLayer);
  167. static CCharFormatLayer* NewL(const TCharFormatX& aFormat,const TCharFormatXMask& aMask);
  168. void SetL(const TCharFormatX& aCharFormat,const TCharFormatXMask& aMask);
  169. void SenseEffective(TCharFormatX& aCharFormat)const;
  170. void Sense(TCharFormatX& aCharFormat,TCharFormatXMask& aMask) const;
  171. private:
  172. CCharFormatLayer();
  173. virtual CFormatLayer* RestoreNewL(RReadStream& aStream);
  174. virtual void FillCharFormat(TCharFormatX& aCharFormat,TCharFormatXMask& aMask)const;
  175. __declspec(dllexport) virtual CFormatLayer* DoCloneL()const;
  176. };
  177. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\txtfmlyr.inl" /* stack depth 8 */
  178. #line 9
  179. inline CParaFormatLayer* CParaFormatLayer::CloneL()const
  180. {return (static_cast<CParaFormatLayer*>(DoCloneL())) ;}
  181. inline CCharFormatLayer* CCharFormatLayer::CloneL()const
  182. {return (static_cast<CCharFormatLayer*>(DoCloneL())) ;}
  183. #line 217 "C:\Symbian\9.1\S60_3rd\epoc32\include\txtfmlyr.h" /* stack depth 7 */
  184. #line 11 "C:\Symbian\9.1\S60_3rd\epoc32\include\txtstyle.h" /* stack depth 6 */
  185. class CParagraphStyle;
  186. class CStyleTable;
  187. class RReadStream;
  188. class RWriteStream;
  189. const TInt KMaxParagraphStyleName=0x20;
  190. typedef TBuf<KMaxParagraphStyleName> TParagraphStyleName;
  191. const TUid KUserDefinedParagraphStyleUid={268435535};
  192. class RParagraphStyleInfo
  193. #line 62
  194. {
  195. public:
  196. inline RParagraphStyleInfo();
  197. inline RParagraphStyleInfo(CParagraphStyle* aStyle,CParagraphStyle* aStyleForNextPara=0 );
  198. inline void Discard();
  199. public:
  200. CParagraphStyle* iStyle;
  201. CParagraphStyle* iStyleForNextPara;
  202. };
  203. class CParagraphStyle : public CParaFormatLayer
  204. #line 96
  205. {
  206. public:
  207. friend class CStyleList;
  208. friend class CRichTextIndex;
  209. enum TStylePasteMode
  210. {
  211. EAddNewStyles,
  212. EConvertNewStyles,
  213. EIgnoreNewStyles
  214. };
  215. enum TApplyParaStyleMode
  216. {
  217. ERetainAllSpecificFormats,
  218. ERetainNoSpecificFormats,
  219. ERetainSpecificParaFormat,
  220. ERetainSpecificCharFormat
  221. };
  222. public:
  223. __declspec(dllexport) static CParagraphStyle* NewL(const CParaFormatLayer& aGlobalParaFormatLayer,const CCharFormatLayer& aGlobalCharFormatLayer);
  224. __declspec(dllexport) ~CParagraphStyle();
  225. inline CCharFormatLayer* CharFormatLayer()const;
  226. inline TInt OutlineLevel()const;
  227. inline void SetOutlineLevel(TInt aOutlineLevel);
  228. __declspec(dllexport) virtual TUid Type()const;
  229. inline void SetType(TUid aType);
  230. inline CParagraphStyle* CloneL()const;
  231. private:
  232. CParagraphStyle();
  233. void ConstructL(const CParaFormatLayer& aGlobalParaFormatLayer,
  234.  const CCharFormatLayer& aGlobalCharFormatLayer);
  235. __declspec(dllexport) virtual CFormatLayer* DoCloneL()const;
  236. static CParagraphStyle* NewL(RReadStream& aStream,const CParaFormatLayer& aGlobalParaFormatLayer,const CCharFormatLayer& aGlobalCharFormatLayer);
  237. virtual void InternalizeL(RReadStream& aStream,const CFormatLayer* aParaLayerBase,const CFormatLayer* aCharLayerBase);
  238. virtual void ExternalizeL(RWriteStream& aStream)const;
  239. private:
  240. TUid iType;
  241. TInt iOutlineLevel;
  242. CCharFormatLayer* iCharFormatLayer;
  243. public:
  244. TParagraphStyleName iName;
  245. };
  246. const TInt KMaxStyleListGranularity=0x04;
  247. class CStyleList : public CBase
  248. #line 210
  249. {
  250. public:
  251. __declspec(dllexport) static CStyleList* NewL(TInt aCapacity=KMaxStyleListGranularity);
  252. __declspec(dllexport) static CStyleList* NewL(RReadStream& aStream,
  253. const CParaFormatLayer* aGlobalParaFormatLayer,
  254. const CCharFormatLayer* aGlobalCharFormatLayer);
  255. __declspec(dllexport) ~CStyleList();
  256. inline const RParagraphStyleInfo& operator[](TInt aIndex)const;
  257. inline RParagraphStyleInfo& operator[](TInt aIndex);
  258. __declspec(dllexport) const RParagraphStyleInfo& At(TInt aIndex)const;
  259. __declspec(dllexport) RParagraphStyleInfo& At(TInt aIndex);
  260. __declspec(dllexport) TStreamId StoreL(CStreamStore& aStore)const;
  261. __declspec(dllexport) void ExternalizeL(RWriteStream& aStream)const;
  262. __declspec(dllexport) void InternalizeL(RReadStream& aStream,
  263. const CParaFormatLayer* aGlobalParaFormatLayer,
  264. const CCharFormatLayer* aGlobalCharFormatLayer);
  265. __declspec(dllexport) void Reset();
  266. __declspec(dllexport) TInt AppendL(RParagraphStyleInfo* aStyleSet);
  267. __declspec(dllexport) void Remove(CParagraphStyle* aStyle);
  268. __declspec(dllexport) TInt SetStyleToFollow(const RParagraphStyleInfo& aStyleSet);
  269. __declspec(dllexport) CStyleList* DeepCloneL()const;
  270. __declspec(dllexport) RParagraphStyleInfo* PtrByName(const TParagraphStyleName& aName)const;
  271. __declspec(dllexport) RParagraphStyleInfo* PtrByType(const TUid aType)const;
  272. __declspec(dllexport) TInt IndexByPtr(const CParaFormatLayer* aPtr)const;
  273. __declspec(dllexport) TInt IndexByName(const TDesC& aName)const;
  274. inline TInt Count()const;
  275. protected:
  276. __declspec(dllexport) CStyleList();
  277. __declspec(dllexport) void ConstructL(TInt aGranularity);
  278. private:
  279. void KillStyleList();
  280. private:
  281. CArrayFixFlat<RParagraphStyleInfo> * iList;
  282. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  283. };
  284. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\txtstyle.inl" /* stack depth 7 */
  285. RParagraphStyleInfo::RParagraphStyleInfo()
  286. : iStyle(0 ),iStyleForNextPara(0 )
  287. {}
  288. RParagraphStyleInfo::RParagraphStyleInfo(CParagraphStyle* aStyle,CParagraphStyle* aStyleForNextPara)
  289. : iStyle(aStyle),iStyleForNextPara(aStyleForNextPara)
  290. {}
  291. void RParagraphStyleInfo::Discard()
  292. {delete iStyle;}
  293. CCharFormatLayer* CParagraphStyle::CharFormatLayer()const
  294. {return iCharFormatLayer;}
  295. TInt CParagraphStyle::OutlineLevel()const
  296. {return iOutlineLevel;}
  297. void CParagraphStyle::SetOutlineLevel(TInt aOutlineLevel)
  298. {iOutlineLevel=aOutlineLevel;}
  299. void CParagraphStyle::SetType(TUid aType)
  300. {iType=aType;}
  301. CParagraphStyle* CParagraphStyle::CloneL()const
  302. {return (static_cast<CParagraphStyle*>(DoCloneL())) ;}
  303. const RParagraphStyleInfo& CStyleList::operator[](TInt aIndex)const
  304. #line 104
  305. {return iList->At(aIndex);}
  306. RParagraphStyleInfo& CStyleList::operator[](TInt aIndex)
  307. {return iList->At(aIndex);}
  308. TInt CStyleList::Count()const
  309. {return (iList) ? iList->Count() : 0;}
  310. #line 259 "C:\Symbian\9.1\S60_3rd\epoc32\include\txtstyle.h" /* stack depth 6 */
  311. #line 18 "C:\Symbian\9.1\S60_3rd\epoc32\include\tagma.h" /* stack depth 5 */
  312. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\LineBreak.h" /* stack depth 6 */
  313. #line 10
  314. class MContingentLineBreaker;
  315. class MContingentLineBreakerL;
  316. class TDesC16;
  317. class TUid;
  318. #line 22
  319. enum TLineBreakPanic
  320. {
  321. ELineBreakPanic_Unknown = 0,
  322. ELineBreakPanic_BadTable = 1,
  323. ELineBreakPanic_InvalidInputParam = 2,
  324. ELineBreakPanic_InvalidOutputParam = 3,
  325. };
  326. class MLineBreaker
  327. {
  328. public:
  329. enum
  330. {
  331. EOpLineBreakClass,
  332. EClLineBreakClass,
  333. EQuLineBreakClass,
  334. EGlLineBreakClass,
  335. ENsLineBreakClass,
  336. EExLineBreakClass,
  337. ESyLineBreakClass,
  338. EIsLineBreakClass,
  339. EPrLineBreakClass,
  340. EPoLineBreakClass,
  341. ENuLineBreakClass,
  342. EAlLineBreakClass,
  343. EIdLineBreakClass,
  344. EInLineBreakClass,
  345. EHyLineBreakClass,
  346. EBaLineBreakClass,
  347. EBbLineBreakClass,
  348. EB2LineBreakClass,
  349. EZwLineBreakClass,
  350. ECmLineBreakClass,
  351. EBkLineBreakClass,
  352. ECrLineBreakClass,
  353. ELfLineBreakClass,
  354. ESgLineBreakClass,
  355. ECbLineBreakClass,
  356. ESpLineBreakClass,
  357. ESaLineBreakClass,
  358. EAiLineBreakClass,
  359. EXxLineBreakClass,
  360. ELineBreakClasses
  361. };
  362. __declspec(dllexport) virtual TUint LineBreakClass(TUint aCode,
  363. TUint& aRangeStart, TUint& aRangeEnd) const;
  364. __declspec(dllexport) virtual TBool LineBreakPossible(TUint aPrevClass, TUint aNextClass,
  365. TBool aHaveSpaces) const;
  366. __declspec(dllexport) virtual TBool GetLineBreakInContext(const TDesC16& aText,
  367. TInt aMinBreakPos, TInt aMaxBreakPos, TBool aForwards,
  368. TInt& aBreakPos) const;
  369. __declspec(dllexport) virtual TBool IsHangingCharacter(TUint aChar) const;
  370. __declspec(dllexport) TBool GetLineBreak(const TDesC16& aText,
  371. TInt aMinBreakPos, TInt aMaxBreakPos, TBool aForwards,
  372. MContingentLineBreaker* aCbDelegate,
  373. TInt& aBreakPos, TInt& aBreakPosAfterSpaces) const;
  374. __declspec(dllexport) TBool GetLineBreakL(const TDesC16& aText,
  375. TInt aMinBreakPos, TInt aMaxBreakPos, TBool aForwards,
  376. MContingentLineBreakerL* aCbDelegate,
  377. TInt& aBreakPos, TInt& aBreakPosAfterSpaces) const;
  378. __declspec(dllexport) virtual void* ExtendedInterface(TUid& aUid) const;
  379. };
  380. class MContingentLineBreaker
  381. {
  382. public:
  383. #line 171
  384. virtual TBool IsLegalBreakBefore(TInt aTextPosition, TInt aPrecedingClass,
  385. TBool aHasSpaces) = 0;
  386. #line 181
  387. virtual TBool IsLegalBreakAfter(TInt aTextPosition, TInt aFollowingClass,
  388. TBool aHasSpaces) = 0;
  389. };
  390. class MContingentLineBreakerL
  391. {
  392. public:
  393. #line 205
  394. virtual TBool IsLegalBreakBeforeL(TInt aTextPosition, TInt aPrecedingClass,
  395. TBool aHasSpaces) = 0;
  396. #line 215
  397. virtual TBool IsLegalBreakAfterL(TInt aTextPosition, TInt aFollowingClass,
  398. TBool aHasSpaces) = 0;
  399. };
  400. #line 20 "C:\Symbian\9.1\S60_3rd\epoc32\include\tagma.h" /* stack depth 5 */
  401. class TTmLineInfo;
  402. class CTmTextImp;
  403. class RWindow;
  404. class RWsSession;
  405. class RParagraphStyleInfo;
  406. class CStyleList;
  407. class TTmDocPosSpec;
  408. class TTmDocPos;
  409. class TTmCharFormatMask
  410. {
  411. public:
  412. enum TAttrib
  413. {
  414. EFontName = 0x1,
  415. EFontCoverage = 0x2,
  416. EBold = 0x4,
  417. EItalic = 0x8,
  418. ESerif = 0x10,
  419. EMonoWidth = 0x20,
  420. EHeight = 0x40,
  421. EPrintPosition = 0x80,
  422. ETextColor = 0x100,
  423. EBackgroundColor = 0x200,
  424. EBackground = 0x400,
  425. EUnderline = 0x800,
  426. EStrikethrough = 0x1000,
  427. EShadow = 0x2000,
  428. EUserDefinedEffects = 0x4000,
  429. ELanguage = 0x8000,
  430. EPictureAlignment = 0x10000
  431. };
  432. inline TTmCharFormatMask();
  433. __declspec(dllexport) TTmCharFormatMask(const TCharFormatMask& aMask);
  434. __declspec(dllexport) void GetTCharFormatMask(TCharFormatMask& aMask) const;
  435. inline void Clear(TAttrib aAttrib);
  436. inline void Set(TAttrib aAttrib);
  437. inline TBool IsSet(TAttrib aAttrib);
  438. TUint iFlags;
  439. };
  440. #line 81
  441. class TTmCharFormat
  442. {
  443. public:
  444. enum
  445. {
  446. EBackground = 1,
  447. ERounded = 2,
  448. EUnderline = 4,
  449. EStrikethrough = 8,
  450. EShadow = 16,
  451. EUserDefinedMask = 0xFF000000,
  452. EUserDefinedShift = 24,
  453. ENoMatchesIndicator = 0x4000000,
  454. ECustomDrawEffectIsExternallyDefined = 0x80000000
  455. };
  456. enum TPictureAlignment
  457. {
  458. EPictureAlignBaseline,
  459. EPictureAlignTop,
  460. EPictureAlignBottom,
  461. EPictureAlignCenter
  462. };
  463. __declspec(dllexport) TTmCharFormat();
  464. __declspec(dllexport) TTmCharFormat(const TDesC& aFontName,TInt aFontHeight);
  465. __declspec(dllexport) void operator=(const TCharFormat& aFormat);
  466. inline TTmCharFormat(const TCharFormat& aFormat);
  467. __declspec(dllexport) void GetTCharFormat(TCharFormat& aFormat) const;
  468. __declspec(dllexport) TBool operator==(const TTmCharFormat& aFormat) const;
  469. inline TBool operator!=(const TTmCharFormat& aFormat) const;
  470. TOpenFontSpec iFontSpec;
  471. TLogicalRgb iTextColor;
  472. TLogicalRgb iBackgroundColor;
  473. TUint iEffects;
  474. TUint iLanguage;
  475. TPictureAlignment iPictureAlignment;
  476. TUint iTag;
  477. };
  478. class TTmTab
  479. {
  480. public:
  481. enum TType
  482. {
  483. EStandardTab,
  484. ECenterTab,
  485. EReverseTab
  486. };
  487. inline TTmTab();
  488. inline TTmTab(const TTabStop& aTab);
  489. __declspec(dllexport) void operator=(const TTabStop& aTab);
  490. __declspec(dllexport) void GetTTabStop(TTabStop& aTab) const;
  491. __declspec(dllexport) TBool operator==(const TTmTab& aTab) const;
  492. inline TBool operator!=(const TTmTab& aTab) const;
  493. TInt iPosition;
  494. TType iType;
  495. };
  496. class TTmBullet
  497. {
  498. public:
  499. enum TStyle
  500. {
  501. EBulletStyle,
  502. EArabicNumberStyle,
  503. ESmallRomanNumberStyle,
  504. ECapitalRomanNumberStyle,
  505. ESmallLetterStyle,
  506. ECapitalLetterStyle
  507. };
  508.   enum TAlignment
  509. {
  510. ELeftAlign,
  511. ECenterAlign,
  512. ERightAlign
  513. };
  514. __declspec(dllexport) TTmBullet();
  515. __declspec(dllexport) void operator=(const TBullet& aBullet);
  516. inline TTmBullet(const TBullet& aBullet);
  517. __declspec(dllexport) void GetTBullet(TBullet& aBullet) const;
  518. __declspec(dllexport) TBool operator==(const TTmBullet& aBullet) const;
  519. inline TBool operator!=(const TTmBullet& aBullet) const;
  520. TChar iCharacterCode;
  521. TOpenFontSpec iFontSpec;
  522. TBool iHangingIndent;
  523. TLogicalRgb iColor;
  524. TStyle iStyle;
  525. TInt iStartNumber;
  526. TAlignment iAlignment;
  527. };
  528. class TTmParBorder
  529. {
  530. public:
  531. enum TStyle
  532. {
  533. ESolidStyle,
  534. EDoubleStyle,
  535. EDotStyle,
  536. EDashStyle,
  537. EDotDashStyle,
  538. EDotDotDashStyle
  539. };
  540. __declspec(dllexport) TTmParBorder();
  541. __declspec(dllexport) void operator=(const TParaBorder& aBorder);
  542. inline TTmParBorder(const TParaBorder& aBorder);
  543. __declspec(dllexport) void GetTParaBorder(TParaBorder& aBorder) const;
  544. __declspec(dllexport) TBool operator==(const TTmParBorder& aBorder) const;
  545. inline TBool operator!=(const TTmParBorder& aBorder) const;
  546. TStyle iStyle;
  547. TInt iWeight;
  548. TLogicalRgb iColor;
  549. TBool iAutoColor;
  550. };
  551. class TTmParFormatMask
  552. {
  553. public:
  554. enum TAttrib
  555. {
  556. EAlignment = 0x1,
  557. EDirection = 0x2,
  558. EKeepTogether = 0x4,
  559. EKeepWithNext = 0x8,
  560. EStartNewPage = 0x10,
  561. EWidowOrphan = 0x20,
  562. ENoWrap = 0x40,
  563. EExactLineSpacing = 0x80,
  564. EPixelLineSpacing = 0x100,
  565. ELeadingMargin = 0x200,
  566. ETrailingMargin = 0x400,
  567. EFirstLineIndent = 0x800,
  568. ELineSpacing = 0x1000,
  569. ESpaceAbove = 0x2000,
  570. ESpaceBelow = 0x4000,
  571. ETabSize = 0x8000,
  572. EBorderMargin = 0x10000,
  573. ETabList = 0x20000,
  574. EBullet = 0x40000,
  575. EBorder = 0x80000
  576. };
  577. inline TTmParFormatMask();
  578. __declspec(dllexport) TTmParFormatMask(const TParaFormatMask& aMask);
  579. __declspec(dllexport) void GetTParaFormatMask(TParaFormatMask& aMask) const;
  580. inline void Clear(TAttrib aAttrib);
  581. inline void Set(TAttrib aAttrib);
  582. inline TBool IsSet(TAttrib aAttrib);
  583. TUint iFlags;
  584. };
  585. class RTmParFormat
  586. {
  587. public:
  588. enum TBorderIndex
  589. {
  590. ETopBorder = 0,
  591. EBottomBorder = 1,
  592. ELeadingBorder = 2,
  593. ETrailingBorder = 3,
  594. };
  595. enum
  596. {
  597. ERightToLeft = 1,
  598. EKeepTogether = 2,
  599. EKeepWithNext = 4,
  600. EStartNewPage = 8,
  601. EWidowOrphan = 16,
  602. ENoWrap = 32,
  603. EExactLineSpacing = 64,
  604. EPixelLineSpacing = 128,
  605. EDirectionalityFromText = 256
  606. };
  607. enum TAlignment
  608. {
  609. EAlignNormalBidirectional,
  610. EAlignNormal = EAlignNormalBidirectional,
  611. EAlignCenter,
  612. EAlignReverseBidirectional,
  613. EAlignReverse = EAlignReverseBidirectional,
  614. EAlignJustify,
  615. EAlignAbsoluteLeft,
  616. EAlignAbsoluteRight
  617. };
  618. __declspec(dllexport) RTmParFormat();
  619. __declspec(dllexport) void Close();
  620. inline ~RTmParFormat();
  621. __declspec(dllexport) void CopyL(const RTmParFormat& aFormat);
  622. __declspec(dllexport) void CopyL(const CParaFormat& aFormat);
  623. __declspec(dllexport) void GetCParaFormatL(CParaFormat& aFormat) const;
  624. __declspec(dllexport) TBool operator==(const RTmParFormat& aFormat) const;
  625. inline TBool operator!=(const RTmParFormat& aFormat) const;
  626. __declspec(dllexport) TInt Tabs() const;
  627. inline const TTmTab& Tab(TInt aIndex) const;
  628. inline const TTmBullet* Bullet() const;
  629. inline const TTmParBorder* Border(TBorderIndex aIndex) const;
  630. __declspec(dllexport) TBool HaveBorders() const;
  631. inline TBool RightToLeft() const;
  632. TAlignment iAlignment;
  633. TUint iFlags;
  634. TInt iLeadingMargin;
  635. TInt iTrailingMargin;
  636. TInt iFirstLineIndent;
  637. TInt iLineSpacing;
  638. TInt iSpaceAbove;
  639. TInt iSpaceBelow;
  640. TInt iTabSize;
  641. TInt iBorderMargin;
  642. TLogicalRgb iBackgroundColor;
  643. private:
  644. RTmParFormat(const RTmParFormat& aFormat);
  645. void operator=(const RTmParFormat& aFormat);
  646. RArray<TTmTab> * iTabList;
  647. TTmBullet* iBullet;
  648. TTmParBorder* iBorder[4];
  649. };
  650. #line 389
  651. class MTmCustom
  652. : public MLineBreaker
  653. {
  654. public:
  655. #line 403
  656. class TLineHeightParam
  657. {
  658. public:
  659. inline TLineHeightParam();
  660. TInt iMaxCharHeight;
  661. TInt iMaxCharDepth;
  662. TInt iMaxTopPictureHeight;
  663. TInt iMaxBottomPictureHeight;
  664. TInt iMaxCenterPictureHeight;
  665. TInt iFontMaxCharHeight;
  666. TInt iFontMaxCharDepth;
  667. TInt iFontMaxAscent;
  668. TInt iFontMaxDescent;
  669. TInt iDesiredLineHeight;
  670. TBool iExactLineHeight;
  671. };
  672. #line 438
  673. enum
  674. {
  675. EOpLineBreakClass,
  676. EClLineBreakClass,
  677. EQuLineBreakClass,
  678. EGlLineBreakClass,
  679. ENsLineBreakClass,
  680. EExLineBreakClass,
  681. ESyLineBreakClass,
  682. EIsLineBreakClass,
  683. EPrLineBreakClass,
  684. EPoLineBreakClass,
  685. ENuLineBreakClass,
  686. EAlLineBreakClass,
  687. EIdLineBreakClass,
  688. EInLineBreakClass,
  689. EHyLineBreakClass,
  690. EBaLineBreakClass,
  691. EBbLineBreakClass,
  692. EB2LineBreakClass,
  693. EZwLineBreakClass,
  694. ECmLineBreakClass,
  695. EBkLineBreakClass,
  696. ECrLineBreakClass,
  697. ELfLineBreakClass,
  698. ESgLineBreakClass,
  699. ECbLineBreakClass,
  700. ESpLineBreakClass,
  701. ESaLineBreakClass,
  702. EAiLineBreakClass,
  703. EXxLineBreakClass,
  704. ELineBreakClasses
  705. };
  706. __declspec(dllexport) virtual TRgb SystemColor(TUint aColorIndex,TRgb aDefaultColor) const;
  707. __declspec(dllexport) virtual TInt Stretch(TUint aChar) const;
  708. __declspec(dllexport) virtual TUint Map(TUint aChar) const;
  709. __declspec(dllexport) virtual void SetLineHeight(const TLineHeightParam& aParam,TInt& aAscent,TInt& aDescent) const;
  710. __declspec(dllexport) virtual void DrawBackground(CGraphicsContext& aGc,const TPoint& aTextLayoutTopLeft,const TRect& aRect,
  711.  const TLogicalRgb& aBackground,TRect& aRectDrawn) const;
  712. __declspec(dllexport) virtual void DrawLineGraphics(CGraphicsContext& aGc,const TPoint& aTextLayoutTopLeft,const TRect& aRect,
  713.    const TTmLineInfo& aLineInfo) const;
  714. __declspec(dllexport) virtual void DrawText(CGraphicsContext& aGc,const TPoint& aTopLeft,const TRect& aRect,
  715.    const TTmLineInfo& aLineInfo,const TTmCharFormat& aFormat,
  716.    const TDesC& aText,const TPoint& aTextOrigin,TInt aExtraPixels) const;
  717. __declspec(dllexport) virtual void DrawPicture(CGraphicsContext& aGc,
  718. const TPoint& aTextLayoutTopLeft, const TRect& aRect,
  719. MGraphicsDeviceMap& aDevice, const CPicture& aPicture) const;
  720. __declspec(dllexport) virtual TUint LineBreakClass(TUint aCode,TUint& aRangeStart,TUint& aRangeEnd) const;
  721. __declspec(dllexport) virtual TBool LineBreakPossible(TUint aPrevClass,TUint aNextClass,TBool aHaveSpaces) const;
  722. __declspec(dllexport) virtual TBool GetLineBreakInContext(const TDesC& aText,TInt aMinBreakPos,TInt aMaxBreakPos,
  723.  TBool aForwards,TInt& aBreakPos) const;
  724. __declspec(dllexport) virtual TBool IsHangingCharacter(TUint aChar) const;
  725. __declspec(dllexport) void SetPenColor(CGraphicsContext& aGc,TLogicalRgb aColor) const;
  726. __declspec(dllexport) void SetBrushColor(CGraphicsContext& aGc,TLogicalRgb aColor) const;
  727. __declspec(dllexport) TRgb SystemColor(TLogicalRgb aColor) const;
  728. };
  729. const TUid KTmTextDrawExtId = {0x10203665};
  730. #line 564
  731. class MTmTextDrawExt
  732. {
  733. public:
  734. virtual void DrawLine(CGraphicsContext& aGc, const TPoint& aPt1, const TPoint& aPt2) const = 0;
  735. virtual void DrawText(CGraphicsContext& aGc, const TDesC& aText, const TPoint& aPt) const = 0;
  736. virtual void DrawRect(CGraphicsContext& aGc, const TRect& aRc) const = 0;
  737. };
  738. const TUid KFormLabelApiExtensionUid = { 0x101FD03C};
  739. #line 584
  740. class MTmSource: public MTmCustom
  741. {
  742. public:
  743. enum TLabelType
  744. {
  745. ENoLabel,
  746. EParLabel
  747. };
  748. enum
  749. {
  750. ELineBreakContext = 32
  751. };
  752. virtual MGraphicsDeviceMap& FormatDevice() const = 0;
  753. virtual MGraphicsDeviceMap& InterpretDevice() const = 0;
  754. virtual TInt DocumentLength() const = 0;
  755. virtual void GetText(TInt aPos,TPtrC& aText,TTmCharFormat& aFormat) const = 0;
  756. virtual void GetParagraphFormatL(TInt aPos,RTmParFormat& aFormat) const = 0;
  757. virtual TInt ParagraphStart(TInt aPos) const = 0;
  758. __declspec(dllexport) virtual CPicture* PictureL(TInt aPos) const;
  759. __declspec(dllexport) virtual TInt GetPictureSizeInTwipsL(TInt aPos,TSize& aSize) const;
  760. __declspec(dllexport) virtual TAny* GetExtendedInterface(const TUid& aInterfaceId);
  761. __declspec(dllexport) virtual void MTmSource_Reserved_1();
  762. __declspec(dllexport) virtual void MTmSource_Reserved_2();
  763. __declspec(dllexport) virtual TBool PageBreakInRange(TInt aStartPos,TInt aEndPos) const;
  764. __declspec(dllexport) TInt ParagraphEnd(TInt aPos) const;
  765. __declspec(dllexport) TBool GetLineBreakL(const TDesC& aText,TInt aDocPos,TInt aMinBreakPos,TInt aMaxBreakPos,TBool aForwards,
  766.  TInt& aBreakPos,TInt& aHangingChars,TInt& aBreakPosAfterSpaces) const;
  767. __declspec(dllexport) static void GetStandardLineBreak(const TDesC& aText,TInt aMinBreakPos,TInt aMaxBreakPos,
  768.   TInt& aBreakPos,TInt& aNextLineStart);
  769. };
  770. #line 664
  771. class MFormLabelApi
  772. {
  773. public:
  774. __declspec(dllexport) virtual TBool LabelModeSelect(MTmSource::TLabelType aType, TInt aPos);
  775. __declspec(dllexport) virtual void LabelModeCancel();
  776. __declspec(dllexport) virtual void LabelMetrics(MTmSource::TLabelType aType, TSize& aLabelSize, TInt& aMarginSize) const;
  777. };
  778. class CTmBufSeg: public CBufSeg
  779. {
  780. public:
  781. inline CTmBufSeg(TInt aExpandSize);
  782. TInt MemoryUsed() const;
  783. };
  784. class CTmCode: public CBase
  785. {
  786. public:
  787. inline ~CTmCode();
  788. void InsertByteL(TUint8 aByte,TInt aPos);
  789. TInt InsertNumberL(TInt aNumber,TInt aPos);
  790. TInt InsertRectL(const TRect& aRect,TInt aPos);
  791. void AppendByteL(TUint8 aByte);
  792. TInt AppendNumberL(TInt aNumber);
  793. TInt AppendRectL(const TRect& aRect);
  794. void ChangeL(TInt aStart,TInt aEnd,CTmCode& aNewCode);
  795. TInt MemoryUsed() const;
  796. TInt Size() const;
  797. void Delete(TInt aPos,TInt aLength);
  798. void Reset();
  799. inline TPtr8 Ptr(TInt aPos);
  800. void CreateBufferL();
  801. inline CBufBase* Buffer();
  802. inline const CBufBase* Buffer() const;
  803. private:
  804. enum
  805. {
  806. EExpandSize = 512
  807. };
  808. TInt WriteNumber(TInt aNumber,TUint8* aBuffer);
  809. CTmBufSeg* iBuffer;
  810. };
  811. class TTmFormatParamBase
  812. {
  813. public:
  814. enum
  815. {
  816. EWrap = 1,
  817. EAtLeastMaxHeight = 2,
  818. ETruncateWithEllipsis = 4,
  819. ELegalLineBreaksOnly = 8
  820. };
  821. __declspec(dllexport) TTmFormatParamBase();
  822. inline TBool IsWrapping() const;
  823. inline TBool IsTruncatingWithEllipsis() const;
  824. inline TBool LegalLineBreaksOnly() const;
  825. TInt iWrapWidth;
  826. TInt iMaxHeight;
  827. TInt iMaxLines;
  828. TInt iFlags;
  829. TChar iEllipsis;
  830. };
  831. class TTmFormatParam: public TTmFormatParamBase
  832. {
  833. public:
  834. __declspec(dllexport) TTmFormatParam();
  835. __declspec(dllexport) TTmFormatParam(const TTmFormatParamBase& aBase);
  836. TInt iStartChar;
  837. TInt iEndChar;
  838. TInt iLineInPar;
  839. };
  840. class TTmReformatParam
  841. {
  842. public:
  843. __declspec(dllexport) TTmReformatParam();
  844. TInt iStartChar;
  845. TInt iOldLength;
  846. TInt iNewLength;
  847. TInt iMaxExtraLines;
  848. TBool iParFormatChanged;
  849. TBool iParInvalid;
  850. };
  851. class TTmReformatResult
  852. {
  853. public:
  854. __declspec(dllexport) TTmReformatResult();
  855. TRect iRedrawRect;
  856. TInt iHeightChange;
  857. TInt iUnchangedTop;
  858. TInt iUnformattedStart;
  859. };
  860. #line 806
  861. class TTmLineInfo
  862. {
  863. public:
  864. enum
  865. {
  866. EParStart = 1,
  867. EParEnd = 2,
  868. EParRightToLeft = 4,
  869. ELineEndsInForcedLineBreak = 8
  870. };
  871. inline TTmLineInfo();
  872. TRect iOuterRect;
  873. TRect iInnerRect;
  874. TInt iBaseline;
  875. TInt iStart;
  876. TInt iEnd;
  877. TInt iLineNumber;
  878. TInt iParNumber;
  879. TInt iLineInPar;
  880. TInt iParTop;
  881. TUint iFlags;
  882. };
  883. #line 871
  884. class TTmDocPosSpec
  885. {
  886. public:
  887. enum TType
  888. {
  889. ETrailing,
  890. ELeading,
  891. ELeftToRight,
  892. ERightToLeft
  893. };
  894. inline TTmDocPosSpec();
  895. inline TTmDocPosSpec(TInt aPos,TType aType);
  896. inline TTmDocPosSpec(const TTmDocPos& aRawDocPos);
  897. TInt iPos;
  898. TType iType;
  899. };
  900. #line 913
  901. class TTmDocPos
  902. {
  903. public:
  904. inline TTmDocPos();
  905. inline TTmDocPos(TInt aPos,TBool aLeadingEdge);
  906. __declspec(dllexport) TBool operator==(const TTmDocPos& aPos) const;
  907. inline TBool operator!=(const TTmDocPos& aPos) const;
  908. __declspec(dllexport) TBool operator>(const TTmDocPos& aPos) const;
  909. __declspec(dllexport) TBool operator>=(const TTmDocPos& aPos) const;
  910. inline TBool operator<(const TTmDocPos& aPos) const;
  911. inline TBool operator<=(const TTmDocPos& aPos) const;
  912. TInt iPos;
  913. TBool iLeadingEdge;
  914. };
  915. class TTmPosInfo2
  916. {
  917. public:
  918. TTmDocPos iDocPos;
  919. TBool iRightToLeft;
  920. TPoint iEdge;
  921. };
  922. class TTmPosInfo
  923. {
  924. public:
  925. TTmPosInfo() {}
  926. TTmPosInfo(const TTmPosInfo2& a) : iDocPos(a.iDocPos), iEdge(a.iEdge) {}
  927. TTmDocPos iDocPos;
  928. TPoint iEdge;
  929. };
  930. class TTmHighlightExtensions
  931. {
  932. public:
  933. inline TTmHighlightExtensions();
  934. inline void SetAll(TInt aExtension);
  935. inline void SetLeftExtension(TInt aExtension);
  936. inline void SetRightExtension(TInt aExtension);
  937. inline void SetTopExtension(TInt aExtension);
  938. inline void SetBottomExtension(TInt aExtension);
  939. inline TInt LeftExtension() const;
  940. inline TInt RightExtension() const;
  941. inline TInt TopExtension() const;
  942. inline TInt BottomExtension() const;
  943. inline TBool Extends() const;
  944. inline void ExtendRect(TRect& aRect) const;
  945. inline void AdjustRect(TRect& aRect) const;
  946. public:
  947. TInt iLeftExtension;
  948. TInt iRightExtension;
  949. TInt iTopExtension;
  950. TInt iBottomExtension;
  951. };
  952. enum TTmCursorPlacement
  953. {
  954. ECursorVertical,
  955. ECursorUnderlineNext,
  956. ECursorUnderlinePrev
  957. };
  958. #line 1041
  959. class CTmTextLayout: public CBase
  960. {
  961. public:
  962. class TTmChunkDescription
  963. {
  964. public:
  965. TInt iStart;
  966. TInt iEnd;
  967. TBool iRightToLeft;
  968. };
  969. __declspec(dllexport) CTmTextLayout();
  970. __declspec(dllexport) ~CTmTextLayout();
  971. __declspec(dllexport) void SetTextL(MTmSource& aSource,const TTmFormatParam& aParam);
  972. __declspec(dllexport) void FormatL(const TTmFormatParamBase& aParam,const TTmReformatParam& aReformatParam,
  973.   TTmReformatResult& TTmReformatResult);
  974. __declspec(dllexport) TBool AddParL(const TTmFormatParamBase& aParam,TBool aAtStart,TInt& aHeightIncrease,TInt& aParagraphsIncrease);
  975. __declspec(dllexport) TBool DeletePar(const TTmFormatParamBase& aParam,TBool aAtStart,TInt aMaxDeletedHeight,TInt& aHeightDecrease);
  976. __declspec(dllexport) void Clear();
  977. __declspec(dllexport) void DrawLayout(CGraphicsContext& aGc,const TPoint& aTopLeft,const TRect& aClipRect,
  978.  const TLogicalRgb* aDocBackground,TBool aDrawParBackground) const;
  979. __declspec(dllexport) void DrawBackground(CGraphicsContext& aGc,const TPoint& aTopLeft,const TRect& aClipRect,
  980.  const TLogicalRgb& aBackground) const;
  981. __declspec(dllexport) void InvertLayout(CGraphicsContext& aGc, const TPoint& aTopLeft,
  982. TInt aStartDocPos, TInt aEndDocPos) const;
  983. __declspec(dllexport) void HighlightSection(CGraphicsContext& aGc, const TPoint& aTopLeft,
  984. TInt aStartDocPos, TInt aEndDocPos, const TRect& aClipRect) const;
  985. __declspec(dllexport) void DrawSection(CGraphicsContext& aGc, const TPoint& aTopLeft,
  986. TInt aStartDocPos, TInt aEndDocPos, const TRect& aClipRect) const;
  987. __declspec(dllexport) void HighlightSection(CGraphicsContext& aGc, const TPoint& aTopLeft,
  988. TInt aStartDocPos, TInt aEndDocPos, const TRect& aClipRect, const TTmHighlightExtensions& aHighlightExtensions,
  989. TInt aHighlightStartDocPos, TInt aHighlightEndDocPos) const;
  990. __declspec(dllexport) void InvertLayout(CGraphicsContext& aGc,
  991. const TPoint& aTopLeft, TInt aStartDocPos,TInt aEndDocPos, const TTmHighlightExtensions& aHighlightExtensions,
  992. TInt aHighlightStartDocPos, TInt aHighlightEndDocPos) const;
  993. __declspec(dllexport) void DrawSection(CGraphicsContext& aGc, const TPoint& aTopLeft,
  994. TInt aStartDocPos, TInt aEndDocPos, const TRect& aClipRect, const TTmHighlightExtensions& aHighlightExtensions,
  995. TInt aHighlightStartDocPos, TInt aHighlightEndDocPos) const;
  996. __declspec(dllexport) TBool FindDocPos(const TTmDocPosSpec& aDocPos,TTmPosInfo2& aPosInfo,TTmLineInfo& aLineInfo) const;
  997. __declspec(dllexport) TBool FindXyPos(const TPoint& aXyPos,TTmPosInfo2& aPosInfo,TTmLineInfo& aLineInfo) const;
  998. __declspec(dllexport) TBool FindXyPosWithDisambiguation(const TPoint& aXyPos,
  999. TTmPosInfo2& aPosLeft, TTmPosInfo2& aPosRight,
  1000. TTmLineInfo& aLineInfo) const;
  1001. __declspec(dllexport) TInt FindNextPos(TInt aStart) const;
  1002. __declspec(dllexport) TInt FindPreviousPos(TInt aStart) const;
  1003. __declspec(dllexport) TInt Lines() const;
  1004. __declspec(dllexport) TInt Paragraphs() const;
  1005. __declspec(dllexport) TBool DocPosToLine(const TTmDocPosSpec& aDocPos,TTmLineInfo& aLineInfo) const;
  1006. __declspec(dllexport) TBool LineNumberToLine(TInt aLineNumber,TTmLineInfo& aLineInfo) const;
  1007. __declspec(dllexport) TBool ParNumberToLine(TInt aParNumber,TInt aLineInPar,TTmLineInfo& aLineInfo) const;
  1008. __declspec(dllexport) TBool YPosToLine(TInt aYPos,TTmLineInfo& aLineInfo) const;
  1009. __declspec(dllexport) TBool GetDisplayedTextL(TInt aLineNumber,TDes& aText,TInt& aNeeded) const;
  1010. __declspec(dllexport) void GetMinimumLayoutSizeL(TInt aWrapWidth,TSize& aSize) const;
  1011. __declspec(dllexport) void GetMinimumLayoutSizeL(TInt aWrapWidth,TBool aAllowLegalLineBreaksOnly,TSize& aSize) const;
  1012. __declspec(dllexport) TInt WidthOfWidestLine(TInt aTop = 0,TInt aBottom = KMaxTInt) const;
  1013. __declspec(dllexport) void HorizontalExtremes(TInt &aLeft, TInt &aRight,
  1014. TInt aTopY = 0, TInt aBottomY = KMaxTInt) const;
  1015. __declspec(dllexport) TBool GetNextVisualCursorPos(const TTmDocPosSpec& aDocPos,TTmPosInfo2& aInfo,TBool aToLeft) const;
  1016. __declspec(dllexport) TBool GetNextPosLeftWithDisambiguation(const TTmDocPosSpec& aDocPos,
  1017. TTmPosInfo2& aPosLeft, TTmPosInfo2& aPosRight) const;
  1018. __declspec(dllexport) TBool GetNextPosRightWithDisambiguation(const TTmDocPosSpec& aDocPos,
  1019. TTmPosInfo2& aPosLeft, TTmPosInfo2& aPosRight) const;
  1020. __declspec(dllexport) TBool LineExtreme(const TTmDocPosSpec& aPos, TBool aToRight,
  1021. TTmDocPos& aExtreme) const;
  1022. __declspec(dllexport) TBool FindAdjacentChunks(const TTmDocPosSpec& aPos,
  1023. TTmChunkDescription& aLeft, TTmChunkDescription& aRight) const;
  1024. __declspec(dllexport) TBool GetCursor(const TTmDocPosSpec& aDocPos,TTmCursorPlacement aPlacement,
  1025.  TTmLineInfo& aLineInfo,TPoint& aOrigin,TInt& aWidth,TInt& aAscent,TInt& aDescent) const;
  1026. __declspec(dllexport) TInt MemoryUsed() const;
  1027. inline TInt StartChar() const;
  1028. inline TInt EndChar() const;
  1029. inline TInt LayoutWidth() const;
  1030. inline TInt LayoutHeight() const;
  1031. inline MTmSource* Source();
  1032. inline const MTmSource* Source() const;
  1033. inline const CTmCode& Code() const;
  1034. __declspec(dllexport) TBool GetDisplayedText(TInt aLineNumber,TDes& aText,TInt& aNeeded) const;
  1035. __declspec(dllexport) TBool FindDocPos(const TTmDocPos& aDocPos,TTmPosInfo& aPosInfo,TTmLineInfo& aLineInfo) const;
  1036. __declspec(dllexport) TBool FindXyPos(const TPoint& aXyPos,TTmPosInfo& aPosInfo,TTmLineInfo& aLineInfo) const;
  1037. __declspec(dllexport) TBool GetNextVisualCursorPos(const TTmDocPos& aDocPos,TTmPosInfo& aInfo,TBool aToLeft) const;
  1038. __declspec(dllexport) TBool DocPosToLine(const TTmDocPos& aDocPos,TTmLineInfo& aLineInfo) const;
  1039. __declspec(dllexport) TBool GetCursor(const TTmDocPos& aDocPos,
  1040. TTmCursorPlacement aPlacement, TTmLineInfo& aLineInfo,
  1041. TPoint& aOrigin, TInt& aWidth, TInt& aAscent, TInt& aDescent) const;
  1042. private:
  1043. void Invariant() const;
  1044. void AdjustWidth(const TTmFormatParamBase& aParam,TInt aWidthOfNewText);
  1045. void HighlightRect(CGraphicsContext& aGc, const TPoint& aTopLeft, const TRect& aClipRect, const TTmHighlightExtensions& aHighlightExtensions, const TRect& aRect) const;
  1046. void InvertLayout(CGraphicsContext& aGc, const TPoint& aTopLeft, const TRect& aClipRect, const TTmHighlightExtensions& aHighlightExtensions, TInt aStartDocPos,TInt aEndDocPos, TInt aHighlightStartDocPos, TInt aHighlightEndDocPos) const;
  1047. void InvertRect(CGraphicsContext& aGc, const TPoint& aTopLeft, const TTmHighlightExtensions& aHighlightExtensions, const TRect& aInvertRect,TInt aOriginalHighlightStartPos,TInt aOriginalHighlightEndPos, TInt aNewHighlightStartPos,TInt aNewHighlightEndPos) const;
  1048. TBool FindOverlapRect(const TPoint& aTopLeft, const TTmHighlightExtensions& aHighlightExtensions, const TRect& aRect, TInt aHighlightStartPos,TInt aHighlightEndPos, TRect& aOverlapRect) const;
  1049. void DrawRect(CGraphicsContext& aGc, const TPoint& aTopLeft, const TRect& aClipRect, const TTmHighlightExtensions& aHighlightExtensions, const TRect& aRect) const;
  1050. void DrawRectExcludingHighlight(CGraphicsContext& aGc, const TPoint& aTopLeft, const TRect& aClipRect, const TTmHighlightExtensions& aHighlightExtensions, TInt aHighlightStartPos,TInt aHighlightEndPos, const TRect& aRect) const;
  1051. MTmSource* iSource;
  1052. CTmCode iCode;
  1053. TInt iWidth;
  1054. TInt iHeight;
  1055. TInt iStartChar;
  1056. TInt iEndChar;
  1057. };
  1058. #line 1181
  1059. class MTmTextLayoutForwarder
  1060. {
  1061. public:
  1062. __declspec(dllexport) void DrawLayout(CGraphicsContext& aGc,const TPoint& aTopLeft,const TRect& aClipRect,
  1063.  const TLogicalRgb* aDocBackground,TBool aDrawParBackground) const;
  1064. __declspec(dllexport) void DrawBackground(CGraphicsContext& aGc,const TPoint& aTopLeft,const TRect& aClipRect,
  1065.  const TLogicalRgb& aBackground) const;
  1066. __declspec(dllexport) void InvertLayout(CGraphicsContext& aGc,const TPoint& aTopLeft,TInt aStartDocPos,TInt aEndDocPos);
  1067. __declspec(dllexport) TBool FindDocPos(const TTmDocPosSpec& aDocPos,TTmPosInfo2& aPosInfo,TTmLineInfo& aLineInfo) const;
  1068. __declspec(dllexport) TBool FindXyPos(const TPoint& aXyPos,TTmPosInfo2& aPosInfo,TTmLineInfo& aLineInfo) const;
  1069. __declspec(dllexport) TBool FindXyPosWithDisambiguation(const TPoint& aXyPos,
  1070. TTmPosInfo2& aPosLeft, TTmPosInfo2& aPosRight,
  1071. TTmLineInfo& aLineInfo) const;
  1072. __declspec(dllexport) TBool DocPosToLine(const TTmDocPosSpec& aDocPos,TTmLineInfo& aLineInfo) const;
  1073. __declspec(dllexport) TBool LineNumberToLine(TInt aLineNumber,TTmLineInfo& aLineInfo) const;
  1074. __declspec(dllexport) TBool ParNumberToLine(TInt aParNumber,TInt aLineInPar,TTmLineInfo& aLineInfo) const;
  1075. __declspec(dllexport) TBool YPosToLine(TInt aYPos,TTmLineInfo& aLineInfo) const;
  1076. __declspec(dllexport) TInt WidthOfWidestLine(TInt aTop = 0,TInt aBottom = KMaxTInt) const;
  1077. __declspec(dllexport) void HorizontalExtremes(TInt &aLeft, TInt &aRight,
  1078. TInt aTopY = 0, TInt aBottomY = KMaxTInt) const;
  1079. __declspec(dllexport) TBool GetNextVisualCursorPos(const TTmDocPosSpec& aDocPos,TTmPosInfo2& aInfo,TBool aToLeft) const;
  1080. __declspec(dllexport) TBool GetNextPosLeftWithDisambiguation(const TTmDocPosSpec& aDocPos,
  1081. TTmPosInfo2& aPosLeft, TTmPosInfo2& aPosRight) const;
  1082. __declspec(dllexport) TBool GetNextPosRightWithDisambiguation(const TTmDocPosSpec& aDocPos,
  1083. TTmPosInfo2& aPosLeft, TTmPosInfo2& aPosRight) const;
  1084. __declspec(dllexport) TBool GetCursor(const TTmDocPosSpec& aDocPos,TTmCursorPlacement aPlacement,
  1085.  TTmLineInfo& aLineInfo,TPoint& aOrigin,TInt& aWidth,TInt& aAscent,TInt& aDescent) const;
  1086. __declspec(dllexport) TInt Lines() const;
  1087. __declspec(dllexport) TInt Paragraphs() const;
  1088. __declspec(dllexport) TBool GetDisplayedText(TInt aLineNumber,TDes& aText,TInt& aNeeded) const;
  1089. __declspec(dllexport) void GetMinimumLayoutSizeL(TInt aWrapWidth,TSize& aSize) const;
  1090. __declspec(dllexport) void GetMinimumLayoutSizeL(TInt aWrapWidth,TBool aAllowLegalLineBreaksOnly,TSize& aSize) const;
  1091. __declspec(dllexport) TInt StartChar() const;
  1092. __declspec(dllexport) TInt EndChar() const;
  1093. __declspec(dllexport) TInt LayoutWidth() const;
  1094. __declspec(dllexport) TInt LayoutHeight() const;
  1095. __declspec(dllexport) TBool FindDocPos(const TTmDocPos& aDocPos,TTmPosInfo& aPosInfo,TTmLineInfo& aLineInfo) const;
  1096. __declspec(dllexport) TBool FindXyPos(const TPoint& aXyPos,TTmPosInfo& aPosInfo,TTmLineInfo& aLineInfo) const;
  1097. __declspec(dllexport) TBool DocPosToLine(const TTmDocPos& aDocPos,TTmLineInfo& aLineInfo) const;
  1098. __declspec(dllexport) TBool GetNextVisualCursorPos(const TTmDocPos& aDocPos,TTmPosInfo& aInfo,TBool aToLeft) const;
  1099. __declspec(dllexport) TBool GetCursor(const TTmDocPos& aDocPos,
  1100. TTmCursorPlacement aPlacement, TTmLineInfo& aLineInfo,
  1101. TPoint& aOrigin, TInt& aWidth, TInt& aAscent, TInt& aDescent) const;
  1102. private:
  1103. virtual const CTmTextLayout& TextLayout() const = 0;
  1104. __declspec(dllexport) virtual void GetOrigin(TPoint& aPoint) const;
  1105. void FixUpLineInfo(TTmLineInfo& aInfo,const TPoint* aOrigin = 0 ) const;
  1106. };
  1107. class TTmCharFormatLayer
  1108. {
  1109. public:
  1110. inline TTmCharFormatLayer();
  1111. __declspec(dllexport) TTmCharFormatLayer(const CCharFormatLayer& aFormat);
  1112. TTmCharFormat iFormat;
  1113. TTmCharFormatMask iMask;
  1114. };
  1115. class RTmParFormatLayer
  1116. {
  1117. public:
  1118. inline void Close();
  1119. __declspec(dllexport) void CopyL(const CParaFormatLayer& aFormat);
  1120. RTmParFormat iFormat;
  1121. TTmParFormatMask iMask;
  1122. };
  1123. class RTmStyle
  1124. {
  1125. public:
  1126. enum
  1127. {
  1128. EMaxName = KMaxParagraphStyleName
  1129. };
  1130. inline void Close();
  1131. __declspec(dllexport) void CopyL(const RParagraphStyleInfo& aStyle);
  1132. __declspec(dllexport) void GetRParagraphStyleInfoL(RParagraphStyleInfo& aStyle,
  1133. const CParaFormatLayer& aGlobalParaFormatLayer,const CCharFormatLayer& aGlobalCharFormatLayer,
  1134. const CStyleList& aList) const;
  1135. TBuf<KMaxName> iName;
  1136. TBuf<KMaxName> iNextStyleName;
  1137. TTmCharFormatLayer iCharFormat;
  1138. RTmParFormatLayer iParFormat;
  1139. TInt iOutlineLevel;
  1140. };
  1141. class CTmText: public CBase, public MTmTextLayoutForwarder
  1142. {
  1143. public:
  1144. __declspec(dllexport) static CTmText* NewL(MGraphicsDeviceMap* aDevice = 0 ,const TTmFormatParamBase* aFormatParam = 0 );
  1145. __declspec(dllexport) static CTmText* NewL(MGraphicsDeviceMap& aDevice,const TTmFormatParamBase& aFormatParam);
  1146. __declspec(dllexport) static CTmText* NewL(MGraphicsDeviceMap& aDevice,TInt aWrapWidth,TInt aFlags);
  1147. __declspec(dllexport) ~CTmText();
  1148. __declspec(dllexport) void InsertL(TInt aPos,const TDesC& aText,
  1149.   const TTmCharFormat* aCharFormat = 0 ,const RTmParFormat* aParFormat = 0 ,
  1150.   TRect* aRedrawRect = 0 ,TInt* aScroll = 0 );
  1151. __declspec(dllexport) void GetFormat(TTmFormatParamBase& aFormatParam) const;
  1152. __declspec(dllexport) void SetWrapWidthL(TInt aWrapWidth);
  1153. __declspec(dllexport) void ChangeFormatL(const TTmFormatParamBase& aFormatParam);
  1154. __declspec(dllexport) void Clear();
  1155. __declspec(dllexport) void CustomizeL(const MTmCustom* aCustom);
  1156. __declspec(dllexport) TInt MemoryUsed() const;
  1157. inline void Draw(CGraphicsContext& aGc,const TPoint& aTopLeft,const TRect& aClipRect,
  1158.  const TLogicalRgb* aDocBackground,TBool aDrawParBackground);
  1159. private:
  1160. CTmText();
  1161. __declspec(dllexport) void Spare1();
  1162. const CTmTextLayout& TextLayout() const;
  1163. CTmTextImp* iImp;
  1164. };
  1165. TTmCharFormatMask::TTmCharFormatMask(): iFlags(0xFFFFFFFF)
  1166. {
  1167. }
  1168. void TTmCharFormatMask::Clear(TAttrib aAttrib)
  1169. {
  1170. iFlags &= ~aAttrib;
  1171. }
  1172. void TTmCharFormatMask::Set(TAttrib aAttrib)
  1173. {
  1174. iFlags |= aAttrib;
  1175. }
  1176. TBool TTmCharFormatMask::IsSet(TAttrib aAttrib)
  1177. {
  1178. return iFlags & aAttrib;
  1179. }
  1180. TTmCharFormat::TTmCharFormat(const TCharFormat& aFormat)
  1181. {
  1182. *this = aFormat;
  1183. }
  1184. TBool TTmCharFormat::operator!=(const TTmCharFormat& aFormat) const
  1185. {
  1186. return !operator==(aFormat);
  1187. }
  1188. TTmTab::TTmTab():
  1189. iPosition(0),
  1190. iType(EStandardTab)
  1191. {
  1192. }
  1193. TTmTab::TTmTab(const TTabStop& aTab)
  1194. {
  1195. *this = aTab;
  1196. }
  1197. TBool TTmTab::operator!=(const TTmTab& aTab) const
  1198. {
  1199. return !operator==(aTab);
  1200. }
  1201. TTmBullet::TTmBullet(const TBullet& aBullet)
  1202. {
  1203. *this = aBullet;
  1204. }
  1205. TBool TTmBullet::operator!=(const TTmBullet& aBullet) const
  1206. {
  1207. return !operator==(aBullet);
  1208. }
  1209. TTmParBorder::TTmParBorder(const TParaBorder& aBorder)
  1210. {
  1211. *this = aBorder;
  1212. }
  1213. TBool TTmParBorder::operator!=(const TTmParBorder& aBorder) const
  1214. {
  1215. return !operator==(aBorder);
  1216. }
  1217. TTmParFormatMask::TTmParFormatMask():
  1218. iFlags(0xFFFFFFFF)
  1219. {
  1220. }
  1221. void TTmParFormatMask::Clear(TAttrib aAttrib)
  1222. {
  1223. iFlags &= ~aAttrib;
  1224. }
  1225. void TTmParFormatMask::Set(TAttrib aAttrib)
  1226. {
  1227. iFlags |= aAttrib;
  1228. }
  1229. TBool TTmParFormatMask::IsSet(TAttrib aAttrib)
  1230. {
  1231. return iFlags & aAttrib;
  1232. }
  1233. RTmParFormat::~RTmParFormat()
  1234. {
  1235. (void)((!iTabList && !iBullet && !HaveBorders())||( User::Invariant(),0)) ;
  1236. }
  1237. TBool RTmParFormat::operator!=(const RTmParFormat& aFormat) const
  1238. {
  1239. return !operator==(aFormat);
  1240. }
  1241. const TTmTab& RTmParFormat::Tab(TInt aIndex) const
  1242. {
  1243. return (*iTabList)[aIndex];
  1244. }
  1245. const TTmBullet* RTmParFormat::Bullet() const
  1246. {
  1247. return iBullet;
  1248. }
  1249. const TTmParBorder* RTmParFormat::Border(TBorderIndex aIndex) const
  1250. {
  1251. return iBorder[aIndex];
  1252. }
  1253. TBool RTmParFormat::RightToLeft() const
  1254. {
  1255. return iFlags & ERightToLeft;
  1256. }
  1257. MTmCustom::TLineHeightParam::TLineHeightParam()
  1258. {
  1259. Mem::FillZ(this,sizeof(*this));
  1260. }
  1261. CTmBufSeg::CTmBufSeg(TInt aExpandSize):
  1262. CBufSeg(aExpandSize)
  1263. {
  1264. }
  1265. CTmCode::~CTmCode()
  1266. {
  1267. delete iBuffer;
  1268. }
  1269. TPtr8 CTmCode::Ptr(TInt aPos)
  1270. {
  1271. return iBuffer->Ptr(aPos);
  1272. }
  1273. CBufBase* CTmCode::Buffer()
  1274. {
  1275. return iBuffer;
  1276. }
  1277. const CBufBase* CTmCode::Buffer() const
  1278. {
  1279. return iBuffer;
  1280. }
  1281. TBool TTmFormatParamBase::IsWrapping() const
  1282. {
  1283. return iFlags & EWrap;
  1284. }
  1285. TBool TTmFormatParamBase::IsTruncatingWithEllipsis() const
  1286. {
  1287. return iFlags & ETruncateWithEllipsis;
  1288. }
  1289. TBool TTmFormatParamBase::LegalLineBreaksOnly() const
  1290. {
  1291. return iFlags & ELegalLineBreaksOnly;
  1292. }
  1293. TTmLineInfo::TTmLineInfo()
  1294. {
  1295. Mem::FillZ(this,sizeof(*this));
  1296. }
  1297. TTmDocPos::TTmDocPos():
  1298. iPos(0),
  1299. iLeadingEdge(0 )
  1300. {
  1301. }
  1302. TTmDocPos::TTmDocPos(TInt aPos,TBool aLeadingEdge):
  1303. iPos(aPos),
  1304. iLeadingEdge(aLeadingEdge)
  1305. {
  1306. }
  1307. TTmDocPosSpec::TTmDocPosSpec():
  1308. iPos(0),
  1309. iType(ETrailing)
  1310. {
  1311. }
  1312. TBool TTmDocPos::operator!=(const TTmDocPos& aPos) const { return !((*this)==aPos); }
  1313. TBool TTmDocPos::operator<(const TTmDocPos& aPos) const { return !((*this)>=aPos); }
  1314. TBool TTmDocPos::operator<=(const TTmDocPos& aPos) const { return !((*this)>aPos); }
  1315. TTmDocPosSpec::TTmDocPosSpec(TInt aPos,TType aType):
  1316. iPos(aPos),
  1317. iType(aType)
  1318. {
  1319. }
  1320. TTmDocPosSpec::TTmDocPosSpec(const TTmDocPos& aDocPos):
  1321. iPos(aDocPos.iPos),
  1322. iType(aDocPos.iLeadingEdge ? ELeading : ETrailing)
  1323. {
  1324. }
  1325. TInt CTmTextLayout::StartChar() const
  1326. {
  1327. return iStartChar;
  1328. }
  1329. TInt CTmTextLayout::EndChar() const
  1330. {
  1331. return iEndChar;
  1332. }
  1333. TInt CTmTextLayout::LayoutWidth() const
  1334. {
  1335. return iWidth;
  1336. }
  1337. TInt CTmTextLayout::LayoutHeight() const
  1338. {
  1339. return iHeight;
  1340. }
  1341. MTmSource* CTmTextLayout::Source()
  1342. {
  1343. return iSource;
  1344. }
  1345. const MTmSource* CTmTextLayout::Source() const
  1346. {
  1347. return iSource;
  1348. }
  1349. const CTmCode& CTmTextLayout::Code() const
  1350. {
  1351. return iCode;
  1352. }
  1353. TTmCharFormatLayer::TTmCharFormatLayer()
  1354. {
  1355. }
  1356. void RTmParFormatLayer::Close()
  1357. {
  1358. iFormat.Close();
  1359. }
  1360. void RTmStyle::Close()
  1361. {
  1362. iParFormat.Close();
  1363. }
  1364. void CTmText::Draw(CGraphicsContext& aGc,const TPoint& aTopLeft,const TRect& aClipRect,
  1365.    const TLogicalRgb* aDocBackground,TBool aDrawParBackground)
  1366. {
  1367. DrawLayout(aGc,aTopLeft,aClipRect,aDocBackground,aDrawParBackground);
  1368. }
  1369. TTmHighlightExtensions::TTmHighlightExtensions()
  1370. {
  1371. }
  1372. void TTmHighlightExtensions::SetAll(TInt aExtension)
  1373. {
  1374. iLeftExtension=iRightExtension=iTopExtension=iBottomExtension=aExtension;
  1375. }
  1376. void TTmHighlightExtensions::SetLeftExtension(TInt aExtension)
  1377. {
  1378. iLeftExtension=aExtension;
  1379. }
  1380. void TTmHighlightExtensions::SetRightExtension(TInt aExtension)
  1381. {
  1382. iRightExtension=aExtension;
  1383. }
  1384. void TTmHighlightExtensions::SetTopExtension(TInt aExtension)
  1385. {
  1386. iTopExtension=aExtension;
  1387. }
  1388. void TTmHighlightExtensions::SetBottomExtension(TInt aExtension)
  1389. {
  1390. iBottomExtension=aExtension;
  1391. }
  1392. TInt TTmHighlightExtensions::LeftExtension() const
  1393. {
  1394. return iLeftExtension;
  1395. }
  1396. TInt TTmHighlightExtensions::RightExtension() const
  1397. {
  1398. return iRightExtension;
  1399. }
  1400. TInt TTmHighlightExtensions::TopExtension() const
  1401. {
  1402. return iTopExtension;
  1403. }
  1404. TInt TTmHighlightExtensions::BottomExtension() const
  1405. {
  1406. return iBottomExtension;
  1407. }
  1408. TBool TTmHighlightExtensions::Extends() const
  1409. {
  1410. if (iTopExtension>0 || iBottomExtension>0 || iLeftExtension>0 || iRightExtension>0)
  1411. return ETrue;
  1412. else
  1413. return EFalse;
  1414. }
  1415. inline void TTmHighlightExtensions::ExtendRect(TRect& aRect) const
  1416. {
  1417. if (iLeftExtension>0)
  1418. aRect.iTl.iX-=iLeftExtension;
  1419. if (iRightExtension>0)
  1420. aRect.iBr.iX+=iRightExtension;
  1421. if (iTopExtension>0)
  1422. aRect.iTl.iY-=iTopExtension;
  1423. if (iBottomExtension>0)
  1424. aRect.iBr.iY+=iBottomExtension;
  1425. }
  1426. inline void TTmHighlightExtensions::AdjustRect(TRect& aRect) const
  1427. {
  1428. aRect.iTl.iX-=iLeftExtension;
  1429. aRect.iTl.iY-=iTopExtension;
  1430. aRect.iBr.iX+=iRightExtension;
  1431. aRect.iBr.iY+=iBottomExtension;
  1432. }
  1433. #line 17 "C:\Symbian\9.1\S60_3rd\epoc32\include\frmtlay.h" /* stack depth 4 */
  1434. class CWindowGc;
  1435. class MLayDoc;
  1436. class TLayDocTextSource;
  1437. #line 35
  1438. class MFormCustomInterfaceProvider
  1439.     {
  1440.     public:
  1441. #line 47
  1442. virtual TAny* GetExtendedInterface(const TUid& aInterfaceId) = 0;
  1443.     };
  1444. #line 58
  1445. class TViewYPosQualifier
  1446. {
  1447. friend class CTextLayout;
  1448. friend class CTextView;
  1449. public:
  1450. enum TPartOfLine
  1451. {
  1452. EFViewTopOfLine = 1,
  1453. EFViewBaseLine = 0,
  1454. EFViewBottomOfLine = 2
  1455. };
  1456. enum TFullyVisible
  1457. {
  1458. EFViewForceLineFullyVisible = ETrue,
  1459. EFViewDontForceLineFullyVisible = EFalse
  1460. };
  1461. public:
  1462. inline TViewYPosQualifier();
  1463. __declspec(dllexport) void SetHotSpot(TPartOfLine aHotSpot);
  1464. __declspec(dllexport) void SetFillScreen(TBool aFillScreen = ETrue);
  1465. __declspec(dllexport) void SetMakeLineFullyVisible(TFullyVisible aMakeLineFullyVisible = EFViewForceLineFullyVisible);
  1466. private:
  1467. TPartOfLine iHotSpot;
  1468. TBool iFillScreen;
  1469. TFullyVisible iFullyVisible;
  1470. };
  1471. class TViewRectChanges
  1472. {
  1473. public:
  1474. inline TViewRectChanges();
  1475. void AdjustAll(TInt aDelta);
  1476. public:
  1477. TInt iFormattedFrom;
  1478. TInt iFormattedTo;
  1479. TInt iScrollAtTop;
  1480. TInt iScrollAtBottom;
  1481. };
  1482. #line 131
  1483. class TCursorSelection
  1484. {
  1485. public:
  1486. inline TCursorSelection();
  1487. inline TCursorSelection(TInt aCursorPos,TInt aAnchorPos);
  1488. inline void SetSelection(TInt aCursorPos,TInt aAnchorPos);
  1489. inline TInt LowerPos() const;
  1490. inline TInt HigherPos() const;
  1491. inline TInt Length() const;
  1492. public:
  1493. TInt iCursorPos;
  1494. TInt iAnchorPos;
  1495. };
  1496. #line 160
  1497. class TDrawTextLayoutContext
  1498. {
  1499. private:
  1500. enum TDrawMode
  1501. {
  1502. EFDrawText=0x001,
  1503. EFDrawGraphics=0x002,
  1504. EFUseClippingRect=0x004,
  1505. EFUseWindowGc=0x008,
  1506. EFUseGcClear=0x020,
  1507. EFUseBackgroundColor=0x040,
  1508. EFUseOverrideTextColor=0x080,
  1509. EFParagraphFillTextOnly=0x100,
  1510. EFAllFlags=0xfff
  1511. };
  1512. public:
  1513. __declspec(dllexport) TDrawTextLayoutContext();
  1514. __declspec(dllexport) void SetGc(CGraphicsContext* aGc,CGraphicsContext* aPictureGc=0 );
  1515. __declspec(dllexport) void SetBitmapGc(CBitmapContext* aGc,CBitmapContext* aPictureGc=0 );
  1516. __declspec(dllexport) void SetWindowGc(CWindowGc* aGc,CWindowGc* aPictureGc=0 );
  1517. __declspec(dllexport) void SetDrawToEveryPixel(TBool aDrawToEveryPixel);
  1518. __declspec(dllexport) void SetTextColorOverride(const TRgb *aOverrideColor);
  1519. __declspec(dllexport) void SetDrawTextOnly();
  1520. __declspec(dllexport) void SetDrawGraphicsOnly();
  1521. __declspec(dllexport) void SetDrawTextAndGraphics();
  1522. __declspec(dllexport) void SetClipping(TBool aClipping);
  1523. __declspec(dllexport) void SetParagraphFillTextOnly(TBool aFillTextOnly);
  1524. __declspec(dllexport) const TRgb* TextOverrideColor() const;
  1525. __declspec(dllexport) CGraphicsContext* PrimaryGc() const;
  1526. __declspec(dllexport) CGraphicsContext* PictureGc() const;
  1527. __declspec(dllexport) TBool UseClippingRect() const;
  1528. __declspec(dllexport) TBool UseGcClear() const;
  1529. __declspec(dllexport) TBool DrawText() const;
  1530. __declspec(dllexport) TBool DrawGraphics() const;
  1531. __declspec(dllexport) TBool UseBackgroundColor() const;
  1532. __declspec(dllexport) TBool ParagraphFillTextOnly() const;
  1533. __declspec(dllexport) TRect TextArea() const;
  1534. __declspec(dllexport) TInt DisplayHeight() const;
  1535. __declspec(dllexport) TPoint TopLeftTextArea() const;
  1536. __declspec(dllexport) TRect TotalMargin() const;
  1537. __declspec(dllexport) TRect LabelMargin() const;
  1538. __declspec(dllexport) TBool IsLabelMargin() const;
  1539. __declspec(dllexport) TRect GutterMargin() const;
  1540. __declspec(dllexport) TBool IsGutterMargin() const;
  1541. __declspec(dllexport) TPoint TopLeftText() const;
  1542. __declspec(dllexport) void WindowToText(TPoint& aWinPos) const;
  1543. __declspec(dllexport) void WindowToText(TRect& aRect) const;
  1544. __declspec(dllexport) void TextToWindow(TPoint& aTextAreaPos) const;
  1545. __declspec(dllexport) void TextToWindow(TRect& aRect) const;
  1546. public:
  1547. TRect iViewRect;
  1548. TInt iLabelMarginWidth;
  1549. TInt iGutterMarginWidth;
  1550. TInt iTextStartX;
  1551. TLogicalRgb iBackgroundColor;
  1552. private:
  1553. CGraphicsContext* iGc;
  1554. CGraphicsContext* iPictureGc;
  1555. TLogicalRgb iOverrideTextColor;
  1556. TUint iDrawMode;
  1557. };
  1558. #line 256
  1559. class MFormCustomDraw
  1560. {
  1561. public:
  1562. class TParam
  1563. {
  1564. public:
  1565. TParam(CGraphicsContext& aGc,MGraphicsDeviceMap& aMap,const TPoint& aTextLayoutTopLeft,const TRect& aDrawRect):
  1566. iGc(aGc), iMap(aMap), iTextLayoutTopLeft(aTextLayoutTopLeft), iDrawRect(aDrawRect) { }
  1567. CGraphicsContext& iGc;
  1568. MGraphicsDeviceMap& iMap;
  1569. const TPoint& iTextLayoutTopLeft;
  1570. const TRect& iDrawRect;
  1571. };
  1572. class TLineInfo
  1573. {
  1574. public:
  1575. TLineInfo(const TRect& aOuterRect,const TRect& aInnerRect,TInt aBaseline):
  1576. iOuterRect(aOuterRect), iInnerRect(aInnerRect), iBaseline(aBaseline) { }
  1577. const TRect& iOuterRect;
  1578. const TRect& iInnerRect;
  1579. TInt iBaseline;
  1580. };
  1581. __declspec(dllexport) virtual void DrawBackground(const TParam& aParam,const TRgb& aBackground,TRect& aDrawn) const;
  1582. __declspec(dllexport) virtual void DrawLineGraphics(const TParam& aParam,const TLineInfo& aLineInfo) const;
  1583. __declspec(dllexport) virtual void DrawText(const TParam& aParam,const TLineInfo& aLineInfo,const TCharFormat& aFormat,
  1584.    const TDesC& aText,const TPoint& aTextOrigin,TInt aExtraPixels) const;
  1585. __declspec(dllexport) virtual TRgb SystemColor(TUint aColorIndex,TRgb aDefaultColor) const;
  1586. __declspec(dllexport) virtual void MFormCustomDraw_Reserved_1();
  1587. __declspec(dllexport) virtual void MFormCustomDraw_Reserved_2();
  1588. };
  1589. #line 326
  1590. class MFormCustomWrap
  1591. {
  1592. public:
  1593. __declspec(dllexport) virtual TUint LineBreakClass(TUint aCode,TUint& aRangeStart,TUint& aRangeEnd) const;
  1594. __declspec(dllexport) virtual TBool LineBreakPossible(TUint aPrevClass,TUint aNextClass,TBool aHaveSpaces) const;
  1595. __declspec(dllexport) virtual TBool GetLineBreakInContext(const TDesC& aText,TInt aMinBreakPos,TInt aMaxBreakPos,
  1596.  TBool aForwards,TInt& aBreakPos) const;
  1597. __declspec(dllexport) virtual TBool IsHangingCharacter(TUint aChar) const;
  1598. private:
  1599. __declspec(dllexport) virtual void MFormCustomWrap_Reserved_1();
  1600. __declspec(dllexport) virtual void MFormCustomWrap_Reserved_2();
  1601. };
  1602. #line 349
  1603. class MFormCustomInvisibleCharacterRemapper
  1604. {
  1605. public:
  1606. __declspec(dllexport) static TUint DefaultMapping(TUint aChar, const TNonPrintingCharVisibility aNonPrintingCharVisibility, const TLayDocTextSource& aLayDoc);
  1607. #line 373
  1608. virtual TUint Remap(TUint aChar, const TNonPrintingCharVisibility aNonPrintingCharVisibility, const TLayDocTextSource& aLayDoc) = 0;
  1609. };
  1610. class TLayDocTextSource : public MTmSource, public MFormLabelApi, public MTmTextDrawExt
  1611. {
  1612. public:
  1613. enum
  1614. {
  1615. EDefaultFontHeightIncreaseFactor = 7,
  1616. EDefaultMinimumLineDescent = 3
  1617. };
  1618. TLayDocTextSource();
  1619. MGraphicsDeviceMap& FormatDevice() const;
  1620. MGraphicsDeviceMap& InterpretDevice() const;
  1621. TInt DocumentLength() const;
  1622. void GetText(TInt aPos,TPtrC& aText,TTmCharFormat& aFormat) const;
  1623. void GetParagraphFormatL(TInt aPos,RTmParFormat& aFormat) const;
  1624. TInt ParagraphStart(TInt aPos) const;
  1625. TRgb SystemColor(TUint aColorIndex,TRgb aDefaultColor) const;
  1626. CPicture* PictureL(TInt aPos) const;
  1627. TInt GetPictureSizeInTwipsL(TInt aPos,TSize& aSize) const;
  1628. TBool LabelModeSelect(TLabelType aType, TInt aPos);
  1629. void LabelModeCancel();
  1630. void LabelMetrics(TLabelType aType, TSize& aLabelSize, TInt& aMarginSize) const;
  1631. TUint Map(TUint aChar) const;
  1632. void SetLineHeight(const TLineHeightParam& aParam,TInt& aAscent,TInt& aDescent) const;
  1633. TBool PageBreakInRange(TInt aStartPos,TInt aEndPos) const;
  1634. void DrawBackground(CGraphicsContext& aGc,const TPoint& aTextLayoutTopLeft,const TRect& aRect,
  1635. const TLogicalRgb& aBackground,TRect& aRectDrawn) const;
  1636. void DrawLineGraphics(CGraphicsContext& aGc,const TPoint& aTextLayoutTopLeft,const TRect& aRect,
  1637.   const TTmLineInfo& aLineInfo) const;
  1638. void DrawText(CGraphicsContext& aGc,const TPoint& aTextLayoutTopLeft,const TRect& aRect,
  1639.   const TTmLineInfo& aLineInfo,const TTmCharFormat& aFormat,
  1640.   const TDesC& aText,const TPoint& aTextOrigin,TInt aExtraPixels) const;
  1641. virtual void DrawPicture(CGraphicsContext& aGc,
  1642.  const TPoint& aTextLayoutTopLeft, const TRect& aRect,
  1643.  MGraphicsDeviceMap& aDevice, const CPicture& aPicture) const;
  1644. TBool LineBreakPossible(TUint aPrevClass,TUint aNextClass,TBool aHaveSpaces) const;
  1645. TUint LineBreakClass(TUint aCode,TUint& aRangeStart,TUint& aRangeEnd) const;
  1646. TBool GetLineBreakInContext(const TDesC& aText,TInt aMinBreakPos,TInt aMaxBreakPos,
  1647.  TBool aForwards,TInt& aBreakPos) const;
  1648. TBool IsHangingCharacter(TUint aChar) const;
  1649. TBool CanMap() const;
  1650. TAny* GetExtendedInterface(const TUid& aInterfaceId);
  1651. virtual void DrawLine(CGraphicsContext& aGc, const TPoint& aPt1, const TPoint& aPt2) const;
  1652. virtual void DrawText(CGraphicsContext& aGc, const TDesC& aText, const TPoint& aPt) const;
  1653. virtual void DrawRect(CGraphicsContext& aGc, const TRect& aRc) const;
  1654. void SetOpaque(CGraphicsContext& aGc) const;
  1655. void ResetOpaque(CGraphicsContext& aGc) const;
  1656. enum
  1657. {
  1658. EWrap = 1,
  1659. ETruncateWithEllipsis = 2,
  1660. EUseLabelsDevice = 4
  1661. };
  1662. MLayDoc* iLayDoc;
  1663. TUint iFlags;
  1664. TInt iWidth;
  1665. TChar iEllipsis;
  1666. TInt iLabelsWidth;
  1667. TInt iLabelsGutter;
  1668. CLayoutData::TFormatMode iFormatMode;
  1669. MGraphicsDeviceMap* iImageDevice;
  1670. MGraphicsDeviceMap* iLabelsDevice;
  1671. MGraphicsDeviceMap* iFormatDevice;
  1672. TInt iFontHeightIncreaseFactor;
  1673. TInt iMinimumLineDescent;
  1674. TNonPrintingCharVisibility iNonPrintingCharVisibility;
  1675. const MFormParam* iFormParam;
  1676. const MFormCustomDraw* iCustomDraw;
  1677. const MFormCustomWrap* iCustomWrap;
  1678. MFormCustomInterfaceProvider* iInterfaceProvider;
  1679. TBool iDrawOpaque;
  1680. TInt iExcessHeightRequired;
  1681. MFormCustomInvisibleCharacterRemapper* iInvisibleCharacterRemapper;
  1682. };
  1683. #line 513
  1684. class CTextLayout: public CBase
  1685. {
  1686. public:
  1687. enum TDiscard
  1688. {
  1689. EFViewDiscardAllFormat = 1 ,
  1690. EFViewDontDiscardFormat = 0
  1691. };
  1692. enum TAllowDisallow
  1693. {
  1694. EFAllowScrollingBlankSpace = 1 ,
  1695. EFDisallowScrollingBlankSpace = 0
  1696. };
  1697. enum
  1698. {
  1699. EFCharacterInsert,
  1700. EFParagraphDelimiter,
  1701. EFLeftDelete,
  1702. EFRightDelete
  1703. };
  1704. enum
  1705. {
  1706. EFScrollRedrawWholeScreen = CLayoutData::EFLargeNumber,
  1707. EFMaximumLineWidth = CLayoutData::EFBodyWidthForNoWrapping,
  1708. };
  1709. enum
  1710. {
  1711. EFAllParagraphsNotWrapped = 1 ,
  1712. EFParagraphsWrappedByDefault = 0
  1713. };
  1714. enum TAmountFormatted
  1715. {
  1716. EFFormatAllText = 0 ,
  1717. EFFormatBand = 1 ,
  1718. };
  1719. enum TScrollFlags
  1720. {
  1721. EFScrollOnlyToTopsOfLines = 1
  1722. };
  1723. enum TCurrentFormat
  1724. {
  1725. EFNoCurrentFormat = -1,
  1726. EFNotInCurrentFormat = 0
  1727. };
  1728. public:
  1729. class TRangeChange
  1730. #line 618
  1731. {
  1732. public:
  1733. enum TChangeType
  1734. {
  1735. ESet,
  1736. EClear
  1737. };
  1738. __declspec(dllexport) TRangeChange(TInt aStart, TInt aEnd, TChangeType aChange);
  1739. __declspec(dllexport) TRangeChange();
  1740. __declspec(dllexport) void Set(TInt aStart, TInt aEnd, TChangeType aChange);
  1741. __declspec(dllexport) TChangeType Get(TInt& aStart, TInt& aEnd) const;
  1742. __declspec(dllexport) void OptimizeWith(TRangeChange& aBuddy);
  1743. __declspec(dllexport) TBool NonNull() const;
  1744. __declspec(dllexport) TBool Clip(TInt aMin, TInt aMax);
  1745. private:
  1746. TInt iA;
  1747. TInt iB;
  1748. };
  1749. public:
  1750. class TTagmaForwarder: public MTmTextLayoutForwarder
  1751. #line 652
  1752. {
  1753. public:
  1754. inline TTagmaForwarder(const CTextLayout& aLayout);
  1755. private:
  1756. inline const CTmTextLayout& TextLayout() const;
  1757. inline void GetOrigin(TPoint& aPoint) const;
  1758. const CTextLayout& iLayout;
  1759. };
  1760. class TUtf32SourceCache
  1761. {
  1762. public:
  1763. TUtf32SourceCache(const MTmSource& aSource);
  1764. TUtf32SourceCache(const CTextLayout& aLayout);
  1765. TText GetUtf16(TInt aIndex);
  1766. TChar GetUtf32(TInt aIndex);
  1767. private:
  1768. const MTmSource* iSource;
  1769. TPtrC16 iCurrentView;
  1770. TInt iCurrentViewIndex;
  1771. };
  1772. friend class TUtf32SourceCache;
  1773. __declspec(dllexport) static CTextLayout *NewL(MLayDoc *aDoc,TInt aWrapWidth);
  1774. __declspec(dllexport) ~CTextLayout();
  1775. __declspec(dllexport) void DiscardFormat();
  1776. __declspec(dllexport) void SetLayDoc(MLayDoc *aDoc);
  1777. __declspec(dllexport) void SetWrapWidth(TInt aWrapWidth);
  1778. __declspec(dllexport) void SetBandHeight(TInt aHeight);
  1779. __declspec(dllexport) TInt BandHeight() const;
  1780. __declspec(dllexport) void SetImageDeviceMap(MGraphicsDeviceMap *aGd);
  1781. __declspec(dllexport) void SetLabelsDeviceMap(MGraphicsDeviceMap *aDeviceMap);
  1782. __declspec(dllexport) void SetAmountToFormat(TAmountFormatted aAmountOfFormat = EFFormatBand);
  1783. __declspec(dllexport) TBool IsFormattingBand() const;
  1784. __declspec(dllexport) void SetFormatMode(CLayoutData::TFormatMode aFormatMode,TInt aWrapWidth,MGraphicsDeviceMap* aFormatDevice);
  1785. __declspec(dllexport) void ForceNoWrapping(TBool aNoWrapping = EFAllParagraphsNotWrapped);
  1786. __declspec(dllexport) TBool IsWrapping() const;
  1787. __declspec(dllexport) void SetTruncating(TBool aOn);
  1788. __declspec(dllexport) TBool Truncating() const;
  1789. __declspec(dllexport) void SetTruncatingEllipsis(TChar aEllipsis);
  1790. __declspec(dllexport) TChar TruncatingEllipsis() const;
  1791. __declspec(dllexport) void SetLabelsMarginWidth(TInt aWidth);
  1792. __declspec(dllexport) void SetNonPrintingCharsVisibility(TNonPrintingCharVisibility aVisibility);
  1793. __declspec(dllexport) TNonPrintingCharVisibility NonPrintingCharsVisibility() const;
  1794. __declspec(dllexport) TBool IsBackgroundFormatting() const;
  1795. __declspec(dllexport) void NotifyTerminateBackgroundFormatting();
  1796. __declspec(dllexport) void SetExcludePartialLines(TBool aExcludePartialLines = 1 );
  1797. __declspec(dllexport) TBool ExcludingPartialLines() const;
  1798. __declspec(dllexport) void SetFontHeightIncreaseFactor(TInt aPercentage);
  1799. __declspec(dllexport) TInt FontHeightIncreaseFactor() const;
  1800. __declspec(dllexport) void SetMinimumLineDescent(TInt aPixels);
  1801. __declspec(dllexport) TInt MinimumLineDescent() const;
  1802. __declspec(dllexport) TInt DocumentLength() const;
  1803. __declspec(dllexport) TInt ToParagraphStart(TInt& aDocPos) const;
  1804. __declspec(dllexport) TInt PixelsAboveBand() const;
  1805. __declspec(dllexport) TInt YBottomLastFormattedLine() const;
  1806. __declspec(dllexport) TInt FormattedHeightInPixels() const;
  1807. __declspec(dllexport) TInt PosRangeInBand(TInt& aDocPos) const;
  1808. __declspec(dllexport) TBool PosInBand(const TTmDocPos& aDocPos,TTmLineInfo* aLineInfo = 0 ) const;
  1809. __declspec(dllexport) TBool PosInBand(TTmDocPos aDocPos,TPoint& aXyPos) const;
  1810. __declspec(dllexport) TBool PosInBand(TInt aDocPos,TPoint& aXyPos) const;
  1811. __declspec(dllexport) TBool PosIsFormatted(TInt aDocPos) const;
  1812. __declspec(dllexport) TInt FirstCharOnLine(TInt aLineNo) const;
  1813. __declspec(dllexport) TInt FormattedLength() const;
  1814. __declspec(dllexport) TInt FirstFormattedPos() const;
  1815. __declspec(dllexport) TInt NumFormattedLines() const;
  1816. __declspec(dllexport) TInt FirstLineInBand() const;
  1817. __declspec(dllexport) TInt GetLineRect(TInt aYPos,TRect& aLine) const;
  1818. __declspec(dllexport) TInt ParagraphHeight(TInt aDocPos) const;
  1819. __declspec(dllexport) TRect ParagraphRectL(TInt aDocPos) const;
  1820. __declspec(dllexport) TBool CalculateHorizontalExtremesL(TInt& aLeftX,TInt& aRightX,TBool aOnlyVisibleLines,
  1821. TBool aIgnoreWrapCharacters = 0 ) const;
  1822. __declspec(dllexport) void GetCharacterHeightAndAscentL(TInt aDocPos,TInt& aHeight,TInt& aAscent) const;
  1823. __declspec(dllexport) void GetFontHeightAndAscentL(const TFontSpec& aFontSpec,TInt& aHeight,TInt& aAscent) const;
  1824. __declspec(dllexport) TInt XyPosToDocPosL(TPoint &aPos, TUint aFlags = 0) const;
  1825. __declspec(dllexport) TBool DocPosToXyPosL(TInt aDocPos, TPoint& aPos, TUint aFlags = 0) const;
  1826. __declspec(dllexport) TBool FindXyPos(const TPoint& aXyPos,TTmPosInfo2& aPosInfo,TTmLineInfo* aLineInfo = 0 ) const;
  1827. __declspec(dllexport) TBool FindDocPos(const TTmDocPosSpec& aDocPos,TTmPosInfo2& aPosInfo,TTmLineInfo* aLineInfo = 0 ) const;
  1828. __declspec(dllexport) TRect GetLineRectL(TInt aDocPos1,TInt aDocPos2) const;
  1829. __declspec(dllexport) TBool PictureRectangleL(TInt aDocPos,TRect& aPictureRect,TBool* aCanScaleOrCrop = 0 ) const;
  1830. __declspec(dllexport) TBool PictureRectangleL(const TPoint& aXyPos,TRect& aPictureRect,TBool* aCanScaleOrCrop = 0 ) const;
  1831. __declspec(dllexport) TInt FirstDocPosFullyInBand() const;
  1832. __declspec(dllexport) void GetMinimumSizeL(TInt aWrapWidth,TSize& aSize);
  1833. __declspec(dllexport) void GetMinimumSizeL(TInt aWrapWidth,TBool aAllowLegalLineBreaksOnly,TSize& aSize);
  1834. __declspec(dllexport) TInt MajorVersion() const;
  1835. __declspec(dllexport) TInt SetViewL(const TTmDocPos& aDocPos,TInt& aYPos,TViewYPosQualifier aYPosQualifier,
  1836.    TDiscard aDiscardFormat = EFViewDontDiscardFormat);
  1837. __declspec(dllexport) TInt SetViewL(TInt aDocPos,TInt& aYPos,TViewYPosQualifier aYPosQualifier,
  1838.    TDiscard aDiscardFormat = EFViewDontDiscardFormat);
  1839. __declspec(dllexport) void FormatBandL();
  1840. __declspec(dllexport) void FormatCharRangeL(TInt aStartDocPos,TInt aEndDocPos);
  1841. void FormatCharRangeL(TInt aStartDocPos,TInt aEndDocPos,TInt aPixelOffset);
  1842. __declspec(dllexport) TBool FormatNextLineL(TInt& aBotPixel);
  1843. __declspec(dllexport) TBool FormatLineL(CParaFormat* aParaFormat,TInt& aDocPos,TInt& aHeight,TBool& aPageBreak);
  1844. __declspec(dllexport) TInt ScrollParagraphsL(TInt& aNumParas,TAllowDisallow aScrollBlankSpace);
  1845. __declspec(dllexport) TInt ScrollLinesL(TInt& aNumLines,TAllowDisallow aScrollBlankSpace = EFDisallowScrollingBlankSpace);
  1846. __declspec(dllexport) TInt ChangeBandTopL(TInt& aPixels,TAllowDisallow aScrollBlankSpace = EFDisallowScrollingBlankSpace);
  1847. __declspec(dllexport) void PageUpL(TInt& aYCursorPos,TInt& aPixelsScrolled);
  1848. __declspec(dllexport) void PageDownL(TInt& aYCursorPos,TInt& aPixelsScrolled);
  1849. __declspec(dllexport) TBool HandleCharEditL(TUint aType,TInt& aCursorPos,TInt& aGood,TInt& aFormattedUpTo,
  1850.    TInt& aFormattedFrom,TInt& aScroll,TBool aFormatChanged);
  1851. __declspec(dllexport) void HandleBlockChangeL(TCursorSelection aSelection,TInt aOldCharsChanged,TViewRectChanges& aViewChanges,
  1852.  TBool aFormatChanged);
  1853. __declspec(dllexport) void HandleAdditionalCharactersAtEndL(TInt& aFirstPixel,TInt& aLastPixel);
  1854. __declspec(dllexport) void ReformatVerticalSpaceL();
  1855. __declspec(dllexport) void AdjustVerticalAlignment(CParaFormat::TAlignment aVerticalAlignment);
  1856. __declspec(dllexport) static void DrawBorders(const MGraphicsDeviceMap* aGd,CGraphicsContext& aGc,const TRect& aRect,
  1857.  const TParaBorderArray& aBorder,const TRgb* aBackground = 0 ,
  1858.  TRegion* aClipRegion = 0 ,const TRect* aDrawRect = 0 );
  1859. __declspec(dllexport) void DrawL(const TRect& aDrawRect,const TDrawTextLayoutContext* aDrawTextLayoutContext,
  1860. const TCursorSelection* aHighlight = 0 );
  1861. __declspec(dllexport) TBool GetNextVisualCursorPos(const TTmDocPosSpec& aDocPos,
  1862. TTmPosInfo2& aPosInfo, TBool aToLeft) const;
  1863. __declspec(dllexport) void InvertRangeL(const TCursorSelection& aHighlight,const TRect& aDrawRect,
  1864.    const TDrawTextLayoutContext* aDrawTextLayoutContext);
  1865. __declspec(dllexport) void Highlight(const TRangeChange& aHighlight,const TRect& aDrawRect,
  1866. const TDrawTextLayoutContext* aDrawTextLayoutContext);
  1867. __declspec(dllexport) void SetCustomDraw(const MFormCustomDraw* aCustomDraw);
  1868. __declspec(dllexport) const MFormCustomDraw* CustomDraw() const;
  1869. __declspec(dllexport) void SetCustomWrap(const MFormCustomWrap* aCustomWrap);
  1870. __declspec(dllexport) const MFormCustomWrap* CustomWrap() const;
  1871. __declspec(dllexport) void ExtendFormattingToCoverYL(TInt aYPos);
  1872. __declspec(dllexport) void ExtendFormattingToCoverPosL(TInt aDocPos);
  1873. __declspec(dllexport) TInt GetLineNumber(TInt aDocPos);
  1874. __declspec(dllexport) void SetHighlightExtensions(TInt aLeftExtension, TInt aRightExtension, TInt aTopExtension, TInt aBottomExtension);
  1875. void SetExcessHeightRequired(TInt aExcessHeightRequired);
  1876.     __declspec(dllexport) void SetInterfaceProvider( MFormCustomInterfaceProvider* aProvider );
  1877. inline const CTmTextLayout& TagmaTextLayout() const;
  1878. inline void GetOrigin(TPoint& aPoint) const;
  1879. inline void RestrictScrollToTopsOfLines(TBool aRestrict);
  1880. void DrawBackground(CGraphicsContext& aGc,const TPoint& aTopLeft,const TRect& aClipRect,
  1881. const TLogicalRgb& aBackground) const;
  1882. TBool CalculateHorizontalExtremes(TInt& aLeftX,TInt& aRightX,TBool aOnlyVisibleLines) const;
  1883. TBool GetCursor(const TTmDocPos& aDocPos,TTmCursorPlacement aPlacement,
  1884.     TRect& aLineRect,TPoint& aOrigin,TInt& aWidth,TInt& aAscent,TInt& aDescent) const;
  1885. void GetParagraphRect(const TTmDocPos& aDocPos,TRect& aRect) const;
  1886. TInt ScrollDocPosIntoViewL(const TTmDocPos& aDocPos);
  1887. TInt PictureRectangleAndPosL(const TPoint& aXyPos, TRect& aPictureRect,
  1888. TBool* aCanScaleOrCrop = 0) const;
  1889. void HighlightUsingExtensions(const CTextLayout::TRangeChange& aChangeHighlight,const TRangeChange& aFullHighlight,
  1890. const TRect& aDrawRect, const TDrawTextLayoutContext* aDrawTextLayoutContext);
  1891. inline const TTmHighlightExtensions& HighlightExtensions() const;
  1892. void GetHighlightRemnants(const TRect& aRect, const TDrawTextLayoutContext& aDrawTextLayoutContext, TRect* aRemainderRects) const;
  1893. void ClearHighlightRemnants(const TRect& aDrawRect, const TDrawTextLayoutContext& aDrawTextLayoutContext);
  1894. TInt WrapWidth() const;
  1895. void SetOpaqueLC();
  1896. __declspec(dllexport) void SetCustomInvisibleCharacterRemapper(MFormCustomInvisibleCharacterRemapper* aInvisibleCharacterRemapper);
  1897. __declspec(dllexport) MFormCustomInvisibleCharacterRemapper* GetCustomInvisibleCharacterRemapper();
  1898. TBool __DbgIsFormattingUpToDate() const;
  1899. enum TPanicNumber
  1900. {
  1901. EUnimplemented,
  1902. ENoMemory,
  1903. EDrawingBorderError,
  1904. EFormatDeviceNotSet,
  1905. EImageDeviceNotSet,
  1906. EPixelNotInFormattedLine,
  1907. EInvalidDocPos,
  1908. ENoCharRangeToFormat,
  1909. ECharacterNotFormatted,
  1910. EPrintPreviewModeError,
  1911. EBadCharacterEditType,
  1912. EInvalidLineNumber,
  1913. EPosNotFormatted,
  1914. EMustFormatAllText,
  1915. EPageScrollError
  1916. };
  1917. static void Panic(TPanicNumber aNumber);
  1918. private:
  1919. __declspec(dllexport) CTextLayout();
  1920.   __declspec(dllexport) void ConstructL(MLayDoc *aDoc,TInt aWrapWidth);
  1921. void InitFormatParam(TTmFormatParamBase& aParam);
  1922. TInt ScrollL(TInt aDy,TAllowDisallow aScrollBlankSpace);
  1923. void FormatBandL(TInt aStartDocPos,TInt aEndDocPos);
  1924. void PruneFormat(TBool aFromStart);
  1925. TInt VisibleHeightInPixels() const;
  1926. TInt BandHeightInPixels() const;
  1927. TInt SuggestCursorPos(TInt aCurrentCursorPos) const;
  1928. TInt SetBandTop();
  1929. static void ResetOpaque(void* aThis);
  1930. CTmTextLayout iText;
  1931. TInt iExcessHeightRequired;
  1932. TInt iDummy[16];
  1933. TInt iBandTop;
  1934. TInt iVisibleHeight;
  1935. TInt iBandHeight;
  1936. TInt iScrollFlags;
  1937. TInt iUnformattedStart;
  1938. TBool iParInvalid;
  1939. TTmHighlightExtensions iHighlightExtensions;
  1940. TLayDocTextSource iSource;
  1941. };
  1942. #line 894
  1943. class TCursorPosition
  1944. {
  1945. public:
  1946. enum TMovementType
  1947. {
  1948. EFNoMovement,
  1949. EFLeft,
  1950. EFRight,
  1951. EFLineUp,
  1952. EFLineDown,
  1953. EFPageUp,
  1954. EFPageDown,
  1955. EFLineBeg,
  1956. EFLineEnd
  1957. };
  1958. enum TVisualEnd
  1959. {
  1960. EVisualLeft,
  1961. EVisualRight
  1962. };
  1963. enum TPosHint
  1964. {
  1965. EPosHintUndefined           = 0,
  1966. EInsertStrongL2R = 1,
  1967. EInsertStrongR2L = 2,
  1968. EPosHintLast
  1969. };
  1970. inline TCursorPosition();
  1971. inline void SetLayout(CTextLayout *aLayout);
  1972. inline void UpdateLatentX(TInt aX);
  1973. inline void SetToPreviousHighlight();
  1974. inline void SetToCurrentHighlight();
  1975. inline void CancelHighlight();
  1976. inline void SetDocPos(const TTmDocPos& aDocPos);
  1977. void UpdateLatentPosition();
  1978. TInt SetSelectionL(const TCursorSelection& aSelection);
  1979. void SetPendingSelection(const TCursorSelection& aSelection);
  1980. void GetOldSelection(TCursorSelection& aSelection) const;
  1981. void GetSelection(TCursorSelection& aSelection) const;
  1982. TInt SetDocPosL(TBool aDragSelectOn,const TTmDocPos& aDocPos);
  1983. TInt SetXyPosL(TBool aDragSelectOn,TPoint aPos,TBool aAllowPictureFrame);
  1984. TInt MoveL(TBool aDragSelectOn,TMovementType& aMovement,TBool aAllowPictureFrame);
  1985. const TTmDocPos& VisualEndOfRunL(
  1986. const TTmDocPos& aStart, const TTmDocPos& aEnd,
  1987. TVisualEnd aDirection);
  1988. void TextMoveVertically();
  1989. inline void DontDrawOldPictureFrame();
  1990. inline TBool IsSelection() const;
  1991. inline TBool IsSelectionToDraw() const;
  1992. TBool IsPictureFrame() const;
  1993. TBool IsNewPictureFrame() const;
  1994. inline const TTmDocPos& TmDocPos() const;
  1995. inline TInt DocPos() const;
  1996. inline TBool DrawHighlight() const;
  1997. inline TBool DrawOldPictureFrame() const;
  1998. inline TBool DrawNewPictureFrame() const;
  1999. TBool GetCursor(TTmCursorPlacement aPlacement,TPoint& aOrigin,TInt& aWidth,TInt& aAscent,TInt& aDescent) const;
  2000. TPosHint PositioningHint() const { return iPositioningHint; }
  2001. void SetPositioningHint (TPosHint aHint)
  2002. {iPositioningHint = aHint;}
  2003. TTmPosInfo2& ChoosePosition(TTmPosInfo2& aPreferred,
  2004. TTmPosInfo2& aBackup);
  2005. private:
  2006. enum
  2007. {
  2008. EFAbove = -1,
  2009. EFInside = 0,
  2010. EFBelow = 1
  2011. };
  2012. enum
  2013. {
  2014. EDrawHighlight = 1,
  2015. EDrawOldPictureFrame = 2,
  2016. EDrawNewPictureFrame = 4,
  2017. EReturnPreviousHighlight = 8,
  2018. ESelected = 16
  2019. };
  2020. TInt ViewTopOfLineL(const TTmDocPos& aDocPos,TInt& aYPos);
  2021. void CheckSelection(TBool aSelect);
  2022. void CheckNullSelection();
  2023. inline void UpdateLatentY(TInt aY);
  2024. TInt CheckCursorOnScreenL(TInt& aY);
  2025. TBool LeftRightL(TTmPosInfo2& aPos, TTmLineInfo& aLine, TMovementType& aMove);
  2026. void StartEndL(TTmPosInfo2& aPos, TTmLineInfo& aLine, TMovementType& aMove);
  2027. void UpDownL(TTmPosInfo2& aPos, TTmLineInfo& aLine, TMovementType& aMove);
  2028. TInt PageScrollL(TMovementType& aMove);
  2029. TInt DoSetDocPosL(const TTmDocPos& aDocPos);
  2030. TInt DoSetVisibleDocPosL(const TTmDocPos& aDocPos);
  2031. void DoSetXyPos(TPoint& aXy);
  2032. void SetPictureFrame(const TTmDocPos& aDocPos,TInt aAnchor,const TRect& aPictureRect);
  2033. inline TBool CalculateCursorPos(TPoint& aCurPos);
  2034. TTmDocPos iDocPos;
  2035. TInt iAnchor;
  2036. TInt iOldDocPos;
  2037. TInt iOldAnchor;
  2038. TUint iFlags;
  2039. TInt iLatentX;
  2040. TInt iLatentY;
  2041. CTextLayout* iLayout;
  2042. TPosHint iPositioningHint;
  2043. };
  2044. inline const CTmTextLayout& CTextLayout::TagmaTextLayout() const
  2045. {
  2046. return iText;
  2047. }
  2048. inline void CTextLayout::GetOrigin(TPoint& aPoint) const
  2049. {
  2050. aPoint.iX = 0;
  2051. aPoint.iY = -iBandTop;
  2052. }
  2053. inline CTextLayout::TTagmaForwarder::TTagmaForwarder(const CTextLayout& aLayout):
  2054. iLayout(aLayout)
  2055. {
  2056. }
  2057. inline const CTmTextLayout& CTextLayout::TTagmaForwarder::TextLayout() const
  2058. {
  2059. return iLayout.TagmaTextLayout();
  2060. }
  2061. inline void CTextLayout::TTagmaForwarder::GetOrigin(TPoint& aPoint) const
  2062. {
  2063. iLayout.GetOrigin(aPoint);
  2064. }
  2065. inline const TTmHighlightExtensions& CTextLayout::HighlightExtensions() const
  2066. {
  2067. return iHighlightExtensions;
  2068. }
  2069. void CTextLayout::RestrictScrollToTopsOfLines(TBool a)
  2070. {
  2071. if (a)
  2072. iScrollFlags |= EFScrollOnlyToTopsOfLines;
  2073. else
  2074. iScrollFlags &= ~EFScrollOnlyToTopsOfLines;
  2075. }
  2076. inline TViewYPosQualifier::TViewYPosQualifier():
  2077. iHotSpot(EFViewBaseLine),
  2078. iFillScreen(EFalse),
  2079. iFullyVisible(EFViewDontForceLineFullyVisible)
  2080. {
  2081. }
  2082. inline TViewRectChanges::TViewRectChanges():
  2083. iScrollAtTop(0),
  2084. iScrollAtBottom(0)
  2085. {
  2086. }
  2087. inline TCursorSelection::TCursorSelection():
  2088. iCursorPos(0),
  2089. iAnchorPos(0)
  2090. {
  2091. }
  2092. inline TCursorSelection::TCursorSelection(TInt aCursorPos,TInt aAnchorPos):
  2093. iCursorPos(aCursorPos),
  2094. iAnchorPos(aAnchorPos)
  2095. {
  2096. }
  2097. inline void TCursorSelection::SetSelection(TInt aCursorPos,TInt aAnchorPos)
  2098. {
  2099. iCursorPos = aCursorPos;
  2100. iAnchorPos = aAnchorPos;
  2101. }
  2102. inline TInt TCursorSelection::LowerPos() const
  2103. {
  2104. return Min(iCursorPos,iAnchorPos);
  2105. }
  2106. inline TInt TCursorSelection::HigherPos() const
  2107. {
  2108. return Max(iCursorPos,iAnchorPos);
  2109. }
  2110. inline TInt TCursorSelection::Length() const
  2111. {
  2112. return Abs(iCursorPos - iAnchorPos);
  2113. }
  2114. inline TCursorPosition::TCursorPosition():
  2115. iAnchor(0),
  2116. iOldDocPos(0),
  2117. iOldAnchor(0),
  2118. iFlags(0),
  2119. iLatentX(0),
  2120. iLatentY(0),
  2121. iLayout(0 ),
  2122. iPositioningHint(EPosHintUndefined)
  2123. {
  2124. }
  2125. inline void TCursorPosition::SetLayout(CTextLayout *aLayout)
  2126. {
  2127. iLayout = aLayout;
  2128. }
  2129. inline TBool TCursorPosition::IsSelection() const
  2130. {
  2131. return iFlags & ESelected;
  2132. }
  2133. inline TBool TCursorPosition::IsSelectionToDraw() const
  2134. {
  2135. return iFlags & (EDrawHighlight | EDrawOldPictureFrame | EDrawNewPictureFrame);
  2136. }
  2137. inline void TCursorPosition::SetToPreviousHighlight()
  2138. {
  2139. iFlags |= EReturnPreviousHighlight;
  2140. }
  2141. inline void TCursorPosition::SetToCurrentHighlight()
  2142. {
  2143. iFlags &= ~EReturnPreviousHighlight;
  2144. }
  2145. inline void TCursorPosition::CancelHighlight()
  2146. {
  2147. iFlags &= ~(ESelected | EDrawHighlight | EDrawOldPictureFrame | EDrawNewPictureFrame);
  2148. }
  2149. inline void TCursorPosition::UpdateLatentX(TInt aX)
  2150. {
  2151. iLatentX = aX;
  2152. }
  2153. inline void TCursorPosition::UpdateLatentY(TInt aY)
  2154. {
  2155. iLatentY = aY;
  2156. }
  2157. inline TBool TCursorPosition::CalculateCursorPos(TPoint& aPos)
  2158. {
  2159. TTmPosInfo2 pos_info;
  2160. TBool result = iLayout->FindDocPos(iDocPos,pos_info);
  2161. aPos = pos_info.iEdge;
  2162. return result;
  2163. }
  2164. inline const TTmDocPos& TCursorPosition::TmDocPos() const
  2165. {
  2166. return iDocPos;
  2167. }
  2168. inline TInt TCursorPosition::DocPos() const
  2169. {
  2170. return iDocPos.iPos;
  2171. }
  2172. inline void TCursorPosition::SetDocPos(const TTmDocPos& aDocPos)
  2173. {
  2174. iDocPos = aDocPos;
  2175. }
  2176. inline TBool TCursorPosition::DrawHighlight() const
  2177. {
  2178. return iFlags & EDrawHighlight;
  2179. }
  2180. inline TBool TCursorPosition::DrawOldPictureFrame() const
  2181. {
  2182. return iFlags & EDrawOldPictureFrame;
  2183. }
  2184. inline TBool TCursorPosition::DrawNewPictureFrame() const
  2185. {
  2186. return iFlags & EDrawNewPictureFrame;
  2187. }
  2188. inline void TCursorPosition::DontDrawOldPictureFrame()
  2189. {
  2190. iFlags &= ~EDrawOldPictureFrame;
  2191. }
  2192. #line 13 "C:\Symbian\9.1\S60_3rd\epoc32\include\lafmain.h" /* stack depth 3 */
  2193. class CCoeControl;
  2194. class CFont;
  2195. class TLogicalFont;
  2196. class MLafEnv;
  2197. class CLafEdwinCustomDrawBase : public CBase, public MFormCustomDraw
  2198. #line 31
  2199. {
  2200. public:
  2201. __declspec(dllexport) static CLafEdwinCustomDrawBase* NewL(const MLafEnv& aEnv,const CCoeControl& aControl);
  2202. public:
  2203. __declspec(dllexport) void DrawBackground(const TParam& aParam,const TRgb& aBackground,TRect& aDrawn) const;
  2204. __declspec(dllexport) TRgb SystemColor(TUint aColorIndex,TRgb aDefaultColor) const;
  2205. public:
  2206. __declspec(dllexport) virtual void LineSpacingChanged();
  2207. protected:
  2208. __declspec(dllexport) CLafEdwinCustomDrawBase(const MLafEnv& aEnv,const CCoeControl& aControl);
  2209. protected:
  2210. const MLafEnv& iEnv;
  2211. const CCoeControl& iControl;
  2212. private:
  2213. TInt iSpare;
  2214. };
  2215. class CLafEdwinCustomWrapBase : public CBase, public MFormCustomWrap
  2216. #line 90
  2217. {
  2218. public:
  2219. __declspec(dllexport) static CLafEdwinCustomWrapBase* NewL(const CCoeControl& aControl);
  2220. __declspec(dllexport) ~CLafEdwinCustomWrapBase();
  2221. public:
  2222. #line 111
  2223. __declspec(dllexport) TUint LineBreakClass(TUint aCode,TUint& aRangeStart,TUint& aRangeEnd) const;
  2224. #line 123
  2225. __declspec(dllexport) TBool LineBreakPossible(TUint aPrevClass,TUint aNextClass,TBool aHaveSpaces) const;
  2226. #line 142
  2227. __declspec(dllexport) TBool GetLineBreakInContext(const TDesC& aText,TInt aMinBreakPos,TInt aMaxBreakPos,TBool aForwards,TInt& aBreakPos) const;
  2228. __declspec(dllexport) TBool IsHangingCharacter(TUint aChar) const;
  2229. private:
  2230. __declspec(dllexport) void MFormCustomWrap_Reserved_1();
  2231. __declspec(dllexport) void MFormCustomWrap_Reserved_2();
  2232. protected:
  2233. __declspec(dllexport) CLafEdwinCustomWrapBase(const CCoeControl& aControl);
  2234. protected:
  2235. const CCoeControl& iControl;
  2236. private:
  2237. TInt iSpare;
  2238. };
  2239. class MLafEnv
  2240. #line 178
  2241. {
  2242. public:
  2243. virtual const CFont* Font(const TLogicalFont& aLogicalFont) const=0;
  2244. virtual const CFbsBitmap* Bitmap(TUid aBmpUid) const=0;
  2245. #line 201
  2246. virtual TRgb ControlColor(TLogicalColor aLogicalColor, const CCoeControl& aControl) const=0;
  2247. #line 210
  2248. virtual TRgb Color(TLogicalColor aLogicalColor, TUid aColorListUid=TUid::Null() ) const=0;
  2249. virtual TDisplayMode DefaultDisplayMode() const=0;
  2250. };
  2251. class MLafClientRectResolver
  2252. #line 228
  2253. {
  2254. public:
  2255. enum TScreenFurniture
  2256. {
  2257. EMenuBar,
  2258. EButtonGroup,
  2259. EToolBand,
  2260. ETitleBand,
  2261. EStatusPane,
  2262. ECba
  2263. };
  2264. public:
  2265. virtual void ReduceRect(TScreenFurniture aScreenFurniture,TRect& aRect) const=0;
  2266. };
  2267. #line 23 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikenv.h" /* stack depth 2 */
  2268. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikvcurs.h" /* stack depth 3 */
  2269. #line 16
  2270. class TEikVirtualCursor
  2271. {
  2272. public:
  2273. enum TState
  2274. {
  2275. EOff=0,
  2276. EOn,
  2277. ESuspended
  2278. };
  2279. public:
  2280. TEikVirtualCursor();
  2281. private:
  2282. inline TEikVirtualCursor(const TEikVirtualCursor&);
  2283. public:
  2284. __declspec(dllexport) void SetCursorStateL(TState aState, CCoeEnv& aEnv);
  2285. __declspec(dllexport) TState CursorState(CCoeEnv& aEnv);
  2286. public:
  2287. void HandleAppToForeground(CCoeEnv& aEnv);
  2288. private:
  2289. void SwitchOffEmulationAndBitmap(CCoeEnv& aEnv);
  2290. void SwitchOnEmulationAndBitmap(CCoeEnv& aEnv);
  2291. private:
  2292. TState iState;
  2293. };
  2294. inline TEikVirtualCursor::TEikVirtualCursor(const TEikVirtualCursor&)
  2295. {}
  2296. #line 24 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikenv.h" /* stack depth 2 */
  2297. class CEikProcess;
  2298. class MEikInfoMsgWin;
  2299. class MEikBusyMsgWin;
  2300. class CEikAppUi;
  2301. class CEikHotKeyTable;
  2302. class CCoeControl;
  2303. class CParaFormatLayer;
  2304. class CCharFormatLayer;
  2305. class CCoeBrushAndPenContext;
  2306. class CEikCommandButton;
  2307. class CPrintSetup;
  2308. class CDictionaryStore;
  2309. class CApaWindowGroupName;
  2310. class CEikErrorIdler;
  2311. class CEikApplication;
  2312. class MEikInfoDialog;
  2313. class MEikAlertWin;
  2314. class CEikDialog;
  2315. class MEikDebugKeys;
  2316. class CEikLibrary;
  2317. class MEikAppUiFactory;
  2318. class MEikIrFactory;
  2319. class CGulIcon;
  2320. class CApaMaskedBitmap;
  2321. class CEikLogicalBorder;
  2322. class CEikLafEnv;
  2323. class TLogicalFont;
  2324. class CEikPictureFactory;
  2325. class CEikEnvExtra;
  2326. class TApaApplicationFactory;
  2327. class CEikAppServer;
  2328. class CLafSystemFont;
  2329. const TInt KEikDefaultCursorWidth=2;
  2330. const TInt KTimeBetweenClicks=1000000;
  2331. const TInt KDoubleClickDistance=10;
  2332. const TInt KKeyboardRepeatRate=50000;
  2333. const TInt KKeyboardRepeatInitialDelay=800000;
  2334. const TUid KSystemIniFileUid = {0x1000010C};
  2335. const TUid KUikonLibraryUid = {0x10004CC1 };
  2336. const TInt KEikErrorResolverMaxTextLength = 256;
  2337. const TInt KLastSystemWideErrCode = KErrPermissionDenied;
  2338. typedef void (*TRequestDialogFunc)();
  2339. const static TLitC8<sizeof( "-DebugMemFail:")> KDebugStart={sizeof( "-DebugMemFail:")-1, "-DebugMemFail:"} ;
  2340. #line 132
  2341. typedef CEikLibrary* (*EikLibraryEntryPoint)();
  2342. class MEikPictureFactory
  2343. {
  2344. public:
  2345. __declspec(dllexport) virtual TUid Id() const;
  2346. virtual TBool SupportsPictureType(TUid aPictureType) const=0;
  2347. virtual const MPictureFactory* PictureFactory(TUid aPictureType) const=0;
  2348. virtual TPictureHeader InsertL(TUid aPictureType,CBase* aData)=0;
  2349. virtual void EditL(const TPictureHeader& aPictureHeader,TBool aReadOnly)=0;
  2350. private:
  2351. __declspec(dllexport) virtual void MEikPictureFactory_Reserved_1();
  2352. __declspec(dllexport) virtual void MEikPictureFactory_Reserved_2();
  2353. };
  2354. class CEikonEnv : public CCoeEnv
  2355. #line 188
  2356. {
  2357. public:
  2358. enum TErrorValidity
  2359. { EErrorNumValid, EErrorNumInvalid };
  2360. public:
  2361. __declspec(dllexport) ~CEikonEnv();
  2362. __declspec(dllexport) CEikonEnv();
  2363. __declspec(dllexport) void ConstructL();
  2364. __declspec(dllexport) void ConstructL(TBool aInitialFocusState);
  2365. __declspec(dllexport) void ConstructL(TBool aInitialFocusState, TInt aWindowGroupID);
  2366. __declspec(dllexport) void ConstructAppFromCommandLineL(const TApaApplicationFactory& aApplicationFactory,const CApaCommandLine& aCommandLine);
  2367. __declspec(dllexport) void ControlStackReadyL();
  2368. __declspec(dllexport) static TVersion Version();
  2369. inline static CEikonEnv* Static();
  2370. __declspec(dllexport) const CFont* AnnotationFont() const;
  2371. __declspec(dllexport) const CFont* TitleFont() const;
  2372. __declspec(dllexport) const CFont* LegendFont() const;
  2373. __declspec(dllexport) const CFont* SymbolFont() const;
  2374. __declspec(dllexport) const CFont* DenseFont() const;
  2375. __declspec(dllexport) const CFont* Font(const TLogicalFont& aLogicalFont) const;
  2376. public:
  2377. __declspec(dllexport) const CFbsBitmap* TexturedBitmap() const;
  2378. public:
  2379. __declspec(dllexport) const CFbsBitmap* GrayBitmap() const;
  2380. __declspec(dllexport) const CFbsBitmap* OptionBitmap() const;
  2381. __declspec(dllexport) const CFbsBitmap* HighlightedOptionBitmap() const;
  2382. __declspec(dllexport) const CFbsBitmap* OptionMaskBitmap() const;
  2383. public:
  2384. __declspec(dllexport) const CFbsBitmap* Bitmap(TUid aUidBmp) const;
  2385. void InitSystemBitmapsL();
  2386. public:
  2387. __declspec(dllexport) MLafEnv& LafEnv() const;
  2388. inline TInt EditableControlStandardHeight() const;
  2389. public:
  2390. inline CEikProcess* Process() const;
  2391. inline const MEikAlertWin* Alert() const;
  2392. __declspec(dllexport) MPictureFactory* PictureFactory()const;
  2393. __declspec(dllexport) MEikPictureFactory* ExtendedPictureFactory(TUid aPictureType) const;
  2394. __declspec(dllexport) void AddPictureFactoryL(MEikPictureFactory& aFactory);
  2395. __declspec(dllexport) void RemovePictureFactory(TUid aFactoryId);
  2396. __declspec(dllexport) void SetAlertWin(MEikAlertWin* aAlertWin);
  2397. __declspec(dllexport) void AlertWin(const TDesC& aMsg);
  2398. __declspec(dllexport) void AlertWin(const TDesC& aMsg1,const TDesC& aMsg2);
  2399. __declspec(dllexport) void LeaveWithInfoMsg(TInt aResourceId,...);
  2400. public:
  2401. __declspec(dllexport) void LeaveWithErrorContext(TInt aError,const TDesC& aContextText);
  2402. __declspec(dllexport) void GetErrorText(TDes& aDes,TInt aError) const;
  2403. __declspec(dllexport) TErrorValidity GetErrorText(TDes& aDes,TInt aError,TUid aAppUid) const;
  2404. public:
  2405. __declspec(dllexport) void ResolveError(TInt aError,TUid aAppUid=TUid::Null() ) const;
  2406. __declspec(dllexport) void InfoMsg(const TDesC& aDes);
  2407. __declspec(dllexport) void InfoMsgWithAlignment(TGulAlignment aCorner,const TDesC& aDes);
  2408. __declspec(dllexport) void InfoMsg(TInt aResourceId,...);
  2409. __declspec(dllexport) void InfoMsg(TInt aResourceId,VA_LIST aList);
  2410. __declspec(dllexport) void InfoMsgWithAlignment(TGulAlignment aCorner,TInt aResourceId,...);
  2411. __declspec(dllexport) void InfoMsgWithAlignment(TGulAlignment aCorner,TInt aResourceId,VA_LIST aList);
  2412. __declspec(dllexport) void InfoMsgWithDuration(const TDesC& aDes, TTimeIntervalMicroSeconds32 aDuration);
  2413. __declspec(dllexport) void InfoMsgWithDuration(TInt aResourceId, TTimeIntervalMicroSeconds32 aDuration,...);
  2414. __declspec(dllexport) void InfoMsgWithDuration(TInt aResourceId, TTimeIntervalMicroSeconds32 aDuration, VA_LIST aList);
  2415. __declspec(dllexport) void InfoMsgWithAlignmentAndDuration(TGulAlignment aCorner,const TDesC& aDes, TTimeIntervalMicroSeconds32 aDuration);
  2416. __declspec(dllexport) void InfoMsgWithAlignmentAndDuration(TGulAlignment aCorner,TInt aResourceId, TTimeIntervalMicroSeconds32 aDuration,...);
  2417. __declspec(dllexport) void InfoMsgWithAlignmentAndDuration(TGulAlignment aCorner,TInt aResourceId, TTimeIntervalMicroSeconds32 aDuration,VA_LIST aList);
  2418. __declspec(dllexport) void InfoMsgCancel();
  2419. __declspec(dllexport) void VerboseInfoMsg(const TDesC& aDes);
  2420. public:
  2421. __declspec(dllexport) void SetVerboseInfoReporting(TBool aVerbose);
  2422. public:
  2423. __declspec(dllexport) void BusyMsgL(const TDesC& aDes);
  2424. __declspec(dllexport) void BusyMsgL(const TDesC& aDes,TGulAlignment aCorner);
  2425. __declspec(dllexport) void BusyMsgL(TInt aResourceId);
  2426. __declspec(dllexport) void BusyMsgL(const TDesC& aDes,TTimeIntervalMicroSeconds32 aInitialDelay);
  2427. __declspec(dllexport) void BusyMsgL(const TDesC& aDes,TGulAlignment aCorner,TTimeIntervalMicroSeconds32 aInitialDelay);
  2428. __declspec(dllexport) void BusyMsgL(TInt aResourceId,TTimeIntervalMicroSeconds32 aInitialDelay);
  2429. __declspec(dllexport) void BusyMsgCancel();
  2430. __declspec(dllexport) TBool ConfirmLossOfAllChangesL() const;
  2431. __declspec(dllexport) static TBool QueryWinL(const TDesC& aFirstLine,const TDesC& aSecondLine);
  2432. __declspec(dllexport) TBool QueryWinL(TInt aFirstLineId,TInt aSecondLineId=0) const;
  2433. __declspec(dllexport) static void InfoWinL(const TDesC& aFirstLine,const TDesC& aSecondLine);
  2434. __declspec(dllexport) void InfoWinL(TInt aFirstLineId,TInt aSecondLineId=0) const;
  2435. __declspec(dllexport) void SetQueryDialog(MEikInfoDialog* aQueryDialog);
  2436. __declspec(dllexport) void SetInfoDialog(MEikInfoDialog* aInfoDialog);
  2437. __declspec(dllexport) void SetRequestQueryDialogFunc(TRequestDialogFunc aQueryDialogFunc);
  2438. __declspec(dllexport) void SetRequestInfoDialogFunc(TRequestDialogFunc aInfoDialogFunc);
  2439. __declspec(dllexport) void AllocInfoMsg();
  2440. __declspec(dllexport) void WservAllocInfoMsg();
  2441. __declspec(dllexport) void FservAllocInfoMsg();
  2442. __declspec(dllexport) static void Beep();
  2443. __declspec(dllexport) CWsBitmap* CreateBitmapL(const TDesC& aFileName,TInt aId);
  2444. __declspec(dllexport) CWsBitmap* CreateBitmapL(const TDesC& aFileName,TInt aId, TBool aShowDlgIfErr);
  2445. __declspec(dllexport) CGulIcon* CreateIconL(const TDesC& aFileName,TInt aBitmapId,TInt aMaskId=-1);
  2446. __declspec(dllexport) static CGulIcon* CreateIconFromMaskedBitmapL(const CApaMaskedBitmap& aApaMaskedBitmap);
  2447. public:
  2448. __declspec(dllexport) void SetDebugKeys(MEikDebugKeys* aDebugKeys);
  2449. __declspec(dllexport) void LaunchPopupMenuL(TInt aResourceId,const TPoint& aTargetPos,TPopupTargetPosType aTargetType=EPopupTargetTopLeft,const CEikHotKeyTable* aHotKeyTable=0 );
  2450. public:
  2451. __declspec(dllexport) static void AddWindowShadow(CCoeControl* aWinArea);
  2452. __declspec(dllexport) RAnimDll& ClockDllL();
  2453. __declspec(dllexport) CParaFormatLayer* SystemSingleLineParaFormatLayerL();
  2454. __declspec(dllexport) CParaFormatLayer* SystemParaFormatLayerL();
  2455. __declspec(dllexport) CCharFormatLayer* SystemCharFormatLayerL();
  2456. __declspec(dllexport) static CParaFormatLayer* NewDefaultSingleLineParaFormatLayerL();
  2457. __declspec(dllexport) static CParaFormatLayer* NewDefaultParaFormatLayerL();
  2458. __declspec(dllexport) static CCharFormatLayer* NewDefaultCharFormatLayerL();
  2459. __declspec(dllexport) static void GetPrinterNamesL(CPrinterModelList* aModelNameList,CDesCArray& aPrinterNameList);
  2460. inline CEikAppUi* EikAppUi() const;
  2461. __declspec(dllexport) void AddDialogLikeControlToStackL(CCoeControl* aControl);
  2462. __declspec(dllexport) void AddAlertDialogLikeControlToStackL(CCoeControl* aControl);
  2463. __declspec(dllexport) void RemoveFromStack(CCoeControl* aControl);
  2464. __declspec(dllexport) void AddSleepingDialogToStackL(CCoeControl* aControl);
  2465. __declspec(dllexport) void AddSleepingAlertDialogToStackL(CCoeControl* aControl);
  2466. __declspec(dllexport) void RouseSleepingDialog(CCoeControl* aControl,TBool aRoused);
  2467. __declspec(dllexport) void DrawCursor(const CCoeControl* aControl,const TPoint& aPosition,TInt aWidth);
  2468. __declspec(dllexport) void DrawCursor(const CCoeControl* aControl,const TPoint& aPosition,TInt aWidth,TInt aAscent,TInt aHeight);
  2469. __declspec(dllexport) void HideCursor(const CCoeControl* aControl);
  2470. __declspec(dllexport) void UpdateTaskNameL();
  2471. __declspec(dllexport) void BringForwards(TBool aForwards,TInt aPriority=ECoeWinPriorityAlwaysAtFront);
  2472. __declspec(dllexport) void SetAutoForwarding(TBool aForwarding);
  2473. public:
  2474. __declspec(dllexport) TPtrC KeyPressLabel(TInt aIndex) const;
  2475. public:
  2476. __declspec(dllexport) CPrintSetup* NewDefaultPrintSetupL();
  2477. public:
  2478. __declspec(dllexport) void DisplayTaskList();
  2479. __declspec(dllexport) void DismissTaskList();
  2480. __declspec(dllexport) void SendEventToEikonServer(TInt aEvent,const TAny* aPtr,TInt aLength);
  2481. public:
  2482. __declspec(dllexport) void SetBusy(TBool aBusy);
  2483. __declspec(dllexport) TBool IsBusy() const;
  2484. __declspec(dllexport) void SetSystem(TBool aSystem);
  2485. __declspec(dllexport) TBool IsSystem() const;
  2486. __declspec(dllexport) void SetDocNameIsAFile(TBool aDocNameIsAFile);
  2487. __declspec(dllexport) TBool DocNameIsAFile() const;
  2488. __declspec(dllexport) void SetRespondsToShutdownEvent(TBool aRespondsToShutdownEvent);
  2489. __declspec(dllexport) TBool RespondsToShutdownEvent() const;
  2490. __declspec(dllexport) void SetRespondsToSwitchFilesEvent(TBool aRespondsToSwitchFilesEvent);
  2491. __declspec(dllexport) TBool RespondsToSwitchFilesEvent() const;
  2492. __declspec(dllexport) TEikVirtualCursor& VirtualCursor();
  2493. __declspec(dllexport) void NotifyIdleErrorWhileRedrawing(TInt aError);
  2494. __declspec(dllexport) void NotifyIdleError(TInt aError,TInt aContextRid);
  2495. __declspec(dllexport) void HandleErrorWithContext(TInt aError,TInt aContextRid);
  2496. __declspec(dllexport) MEikAppUiFactory* AppUiFactory() const;
  2497. __declspec(dllexport) MEikAppUiFactory* AppUiFactory(const CEikAppUi& aAppUi) const;
  2498. public:
  2499. __declspec(dllexport) void SetAppUiFactoryL(MEikAppUiFactory* aAppUiFactory);
  2500. __declspec(dllexport) void AddAppUiFactoryL(MEikAppUiFactory* aAppUiFactory);
  2501. __declspec(dllexport) void RemoveAppUiFactory();
  2502. __declspec(dllexport) CColorList* PopulateColorArrayL();
  2503. public:
  2504. __declspec(dllexport) TInt AddLibraryL(TCreateByTypeFunction aControlFactory, TFileName* aResourceFile);
  2505. inline TInt AddLibraryL(TCreateByTypeFunction aControlFactory);
  2506. inline TInt AddLibraryL(TFileName* aResourceFile);
  2507. __declspec(dllexport) void RemoveLibrary(TCreateByTypeFunction aControlFactory, TInt aResourceFileOffset);
  2508. inline void RemoveLibrary(TCreateByTypeFunction aControlFactory);
  2509. inline void RemoveLibrary(TInt aResourceFileOffset);
  2510. inline TChar NudgeCharMinus() const;
  2511. inline TChar NudgeCharPlus() const;
  2512. inline CColorList& ColorList() const;
  2513. inline TRgb Color(TLogicalColor aLogicalColor) const;
  2514. inline void SetColor(TLogicalColor aLogicalColor, TRgb aColor);
  2515. __declspec(dllexport) TRgb ControlColor(TLogicalColor aLogicalColor,const CCoeControl& aControl) const;
  2516. inline CColorArray& CustomColorArray() const;
  2517. __declspec(dllexport) CColorList* CreateSystemColorListL();
  2518. __declspec(dllexport) CColorList* CreateSystemColorListL(const CColorList& aColorList);
  2519. __declspec(dllexport) void UpdateSystemColorListL(const CColorList& aColorList);
  2520. __declspec(dllexport) void UpdateSystemFontsL();
  2521. public:
  2522. inline void SetCDlgDialogFactory(MEikCDlgDialogFactory* aDialogFactory);
  2523. inline void SetPrintDialogFactory(MEikPrintDialogFactory* aDialogFactory);
  2524. inline void SetFileDialogFactory(MEikFileDialogFactory* aDialogFactory);
  2525. inline void SetIrFactory(MEikIrFactory* aIrFactory);
  2526. inline MEikCDlgDialogFactory* CDlgDialogFactory() const;
  2527. inline MEikPrintDialogFactory* PrintDialogFactory() const;
  2528. inline MEikFileDialogFactory* FileDialogFactory() const;
  2529. inline MEikIrFactory* IrFactory() const;
  2530. CArrayFix<TCreateByTypeFunction> * ControlFactoryFuncArray() const;
  2531. inline TInt StatusPaneCoreResId() const;
  2532. inline void SetStatusPaneCoreResId(TInt aStatusPaneCoreResId);
  2533. __declspec(dllexport) void AddAutoMenuTitleL(CEikAutoMenuTitle* aTitle);
  2534. inline CEikAutoMenuTitleArray* AutoMenuTitleArray() const;
  2535. public:
  2536. __declspec(dllexport) TDisplayMode DefaultDisplayMode() const;
  2537. public:
  2538. __declspec(dllexport) void SetExtension(CBase* aExtension);
  2539. inline CBase* Extension() const;
  2540. public:
  2541. __declspec(dllexport) void HandleError(TInt aError);
  2542. public:
  2543. __declspec(dllexport) void WriteInternalStateOfStackedControlsL();
  2544. public:
  2545. void UpdateColorListL();
  2546. void PostAppUiInitializeL();
  2547. __declspec(dllexport) void DoGetErrorText(TDes& aDes,TInt aError) const;
  2548. public:
  2549. __declspec(dllexport) void DestroyEnvironment();
  2550. private:
  2551. __declspec(dllexport) virtual void CEikonEnv_Reserved_1();
  2552. __declspec(dllexport) virtual void CEikonEnv_Reserved_2();
  2553. __declspec(dllexport) virtual void CEikonEnv_Reserved_3();
  2554. __declspec(dllexport) virtual void CEikonEnv_Reserved_4();
  2555. __declspec(dllexport) virtual void CEikonEnv_Reserved_5();
  2556. private:
  2557. __declspec(dllexport) void DestroyScreen();
  2558. __declspec(dllexport) void InitSystemFontsL();
  2559. __declspec(dllexport) TInt ResourceFileVersionNumber() const;
  2560. __declspec(dllexport) void Reserved_1();
  2561. __declspec(dllexport) void Reserved_2();
  2562. public:
  2563. __declspec(dllexport) MEikInfoDialog* QueryDialog() const;
  2564. __declspec(dllexport) MEikInfoDialog* InfoDialog() const;
  2565. public:
  2566. __declspec(dllexport) CEikAppServer* AppServer() const;
  2567. __declspec(dllexport) TBool StartedAsServerApp() const;
  2568. protected:
  2569. friend class CEikServAppUi;
  2570. private:
  2571. void InitSystemResourceFileL();
  2572. void InitPrivateResourceFileL();
  2573. void InitInfoMsgL();
  2574. void PrepareBusyMsgL();
  2575. void InitAlertWinL();
  2576. TErrorHandlerResponse PrepareToHandleError(TInt aError);
  2577. void DoHandleError(TErrorHandlerResponse aType);
  2578. static TInt IdleErrorCallBack(TAny* aThis);
  2579. void InitColorsL();
  2580. void LoadParserListL();
  2581. void LoadLibrariesL();
  2582. void CloseLibraries();
  2583. TRequestDialogFunc RequestQueryDialogFunc();
  2584. TRequestDialogFunc RequestInfoDialogFunc();
  2585. void SetAppReady();
  2586. TBool IsEiksrvThread() const;
  2587. TBool InfoWinOrQueryWinL(TInt aFirstLineId,TInt aSecondLineId,TBool aIsQueryWin=EFalse) const;
  2588. void SetCommandLineDebugMemFailL(const CApaCommandLine& aCommandLine);
  2589. void StoreAppLanguageL();
  2590. public:
  2591. TLanguage ApplicationLanguage() const;
  2592. public:
  2593. void PostAppUiDestroy();
  2594. private:
  2595. __declspec(dllexport) virtual void CEikonEnv_Reserved_6();
  2596. __declspec(dllexport) virtual void CEikonEnv_Reserved_7();
  2597. __declspec(dllexport) virtual void CEikonEnv_Reserved_8();
  2598. __declspec(dllexport) virtual void CEikonEnv_Reserved_9();
  2599. __declspec(dllexport) virtual void CEikonEnv_Reserved_10();
  2600. private:
  2601. class TEikAppUiFactory
  2602. {
  2603. public:
  2604. MEikAppUiFactory* iFactory;
  2605. CEikAppUi* iAppUi;
  2606. };
  2607. private:
  2608. TBitFlags iEikonEnvFlags;
  2609. TInt iForwardsCount;
  2610. TInt iBusyCount;
  2611. CEikProcess* iProcess;
  2612. RAnimDll* iClockDll;
  2613. CArrayPtr<
  2614. CLafSystemFont
  2615. > * iFontArray;
  2616. MEikInfoMsgWin* iInfoMsgWin;
  2617. MEikBusyMsgWin* iBusyMsgWin;
  2618. MEikAlertWin* iAlertWin;
  2619. TInt iSystemResourceFileOffset;
  2620. HBufC8* iKeyPressLabels;
  2621. CParaFormatLayer* iSingleLineParaFormatLayer;
  2622. CParaFormatLayer* iParaFormatLayer;
  2623. CCharFormatLayer* iCharFormatLayer;
  2624. const CCoeControl* iCursorWindow;
  2625. TInt iEditableControlStandardHeight;
  2626. CApaWindowGroupName* iWgName;
  2627. CEikErrorIdler* iErrorIdler;
  2628. TInt iPrivateResourceFileOffset;
  2629. CColorList* iColorList;
  2630. CEikPictureFactory* iPictureFactory;
  2631. TBuf<2> iNudgeChars;
  2632. MEikInfoDialog* iQueryDialog;
  2633. MEikInfoDialog* iInfoDialog;
  2634. TRequestDialogFunc iQueryDialogFunc;
  2635. TRequestDialogFunc iInfoDialogFunc;
  2636. CArrayFix<TCreateByTypeFunction> * iControlFactoryFuncArray;
  2637. CArrayFix<TInt> * iResourceFileOffsetArray;
  2638. TBool iAlertWinInitialized;
  2639. MEikDebugKeys* iDebugKeys;
  2640. MEikCDlgDialogFactory* iCDlgDialogFactory;
  2641. MEikPrintDialogFactory* iPrintDialogFactory;
  2642. MEikFileDialogFactory* iFileDialogFactory;
  2643. CArrayFix<TEikAppUiFactory> * iAppUiFactoryArray;
  2644. MEikIrFactory* iIrFactory;
  2645. CArrayPtr<CEikLibrary> * iLibraries;
  2646. TInt iEmbeddedAppLevel;
  2647. TInt iAutoLoadedResourceFiles;
  2648. TInt iAutoLoadedControlFactories;
  2649. CBase* iExtension;
  2650. TInt iStatusPaneCoreResId;
  2651. CEikAutoMenuTitleArray* iAutoMenuTitleArray;
  2652. TEikVirtualCursor iVirtualCursor;
  2653. CEikLogicalBorder* iLogicalBorder;
  2654. CEikLafEnv* iLafEnv;
  2655. CArrayPtrFlat<CFbsBitmap> * iBitmapArray;
  2656. CEikEnvExtra* iEikEnvExtra;
  2657. HBufC* iOOMErrorText;
  2658. TInt iSpare3;
  2659. };
  2660. class MEikInfoDialog
  2661. #line 542
  2662. {
  2663. public:
  2664. #line 553
  2665. virtual TBool RunDlgLD(TInt aResource, const TDesC& aTitle, const TDesC& aMsg) = 0;
  2666. };
  2667. class MEikAlertWin
  2668. {
  2669. public:
  2670. virtual void ConstructL() = 0;
  2671. virtual void RunAlert(const TDesC& aTitle, const TDesC& aMsg) = 0;
  2672. virtual void Release() = 0;
  2673. virtual CEikDialog* AsEikDialog() = 0;
  2674. inline const CEikDialog* AsEikDialog() const;
  2675. __declspec(dllexport) virtual CCoeControl* AsCoeControl();
  2676. inline const CCoeControl* AsCoeControl() const;
  2677. private:
  2678. __declspec(dllexport) virtual void MEikAlertWin_Reserved2();
  2679. __declspec(dllexport) virtual void MEikAlertWin_Reserved3();
  2680. };
  2681. class MEikDebugKeys
  2682. {
  2683. public:
  2684. virtual void ConstructL() = 0;
  2685. virtual void Release() = 0;
  2686. private:
  2687. __declspec(dllexport) virtual void MEikDebugKeys_Reserved1();
  2688. __declspec(dllexport) virtual void MEikDebugKeys_Reserved2();
  2689. __declspec(dllexport) virtual void MEikDebugKeys_Reserved3();
  2690. };
  2691. inline CEikonEnv* CEikonEnv::Static()
  2692. #line 604
  2693. { return((CEikonEnv*)(CCoeEnv::Static())); }
  2694. inline TInt CEikonEnv::EditableControlStandardHeight() const
  2695. { return(iEditableControlStandardHeight); }
  2696. inline CEikProcess* CEikonEnv::Process() const
  2697. { return(iProcess); }
  2698. inline CEikAppUi* CEikonEnv::EikAppUi() const
  2699. { return((CEikAppUi*)iAppUi); }
  2700. inline const MEikAlertWin* CEikonEnv::Alert() const
  2701. { return(iAlertWin); }
  2702. inline TChar CEikonEnv::NudgeCharMinus() const
  2703. {return(iNudgeChars[0]);}
  2704. inline TChar CEikonEnv::NudgeCharPlus() const
  2705. {return(iNudgeChars[1]);}
  2706. inline TRgb CEikonEnv::Color(TLogicalColor aLogicalColor) const
  2707. {return ColorList().Color(aLogicalColor); }
  2708. inline CColorArray& CEikonEnv::CustomColorArray() const
  2709. {return *(ColorList().ColorArray(TUid::Uid(KEikCustomColorsArrayValue)));}
  2710. inline CColorList& CEikonEnv::ColorList() const
  2711. {(void)((iColorList)||(User::Invariant(),0)) ; return *iColorList; }
  2712. inline void CEikonEnv::SetColor(TLogicalColor aLogicalColor, TRgb aColor)
  2713. { ColorList().SetColor(aLogicalColor, aColor); }
  2714. inline void CEikonEnv::SetCDlgDialogFactory(MEikCDlgDialogFactory* aDialogFactory)
  2715. {iCDlgDialogFactory=aDialogFactory;}
  2716. inline void CEikonEnv::SetPrintDialogFactory(MEikPrintDialogFactory* aDialogFactory)
  2717. {iPrintDialogFactory=aDialogFactory;}
  2718. inline void CEikonEnv::SetFileDialogFactory(MEikFileDialogFactory* aDialogFactory)
  2719. {iFileDialogFactory=aDialogFactory;}
  2720. inline void CEikonEnv::SetIrFactory(MEikIrFactory* aIrFactory)
  2721. {iIrFactory=aIrFactory;}
  2722. inline MEikCDlgDialogFactory* CEikonEnv::CDlgDialogFactory() const
  2723. {return iCDlgDialogFactory;}
  2724. inline MEikPrintDialogFactory* CEikonEnv::PrintDialogFactory() const
  2725. {return iPrintDialogFactory;}
  2726. inline MEikFileDialogFactory* CEikonEnv::FileDialogFactory() const
  2727. {return iFileDialogFactory;}
  2728. inline MEikIrFactory* CEikonEnv::IrFactory() const
  2729. {return iIrFactory;}
  2730. inline TInt CEikonEnv::AddLibraryL(TCreateByTypeFunction aControlFactory)
  2731. {return(AddLibraryL(aControlFactory, 0 ));}
  2732. inline TInt CEikonEnv::AddLibraryL(TFileName* aResourceFile)
  2733. {return(AddLibraryL(0 , aResourceFile));}
  2734. inline void CEikonEnv::RemoveLibrary(TCreateByTypeFunction aControlFactory)
  2735. {RemoveLibrary(aControlFactory, 0 );}
  2736. inline void CEikonEnv::RemoveLibrary(TInt aResourceFileOffset)
  2737. {RemoveLibrary(0 , aResourceFileOffset);}
  2738. inline CBase* CEikonEnv::Extension() const
  2739. {return iExtension;}
  2740. inline TInt CEikonEnv::StatusPaneCoreResId() const
  2741. {return iStatusPaneCoreResId;}
  2742. inline void CEikonEnv::SetStatusPaneCoreResId(TInt aStatusPaneCoreResId)
  2743. {iStatusPaneCoreResId=aStatusPaneCoreResId;}
  2744. inline CEikAutoMenuTitleArray* CEikonEnv::AutoMenuTitleArray() const
  2745. {return iAutoMenuTitleArray;}
  2746. inline const CEikDialog* MEikAlertWin::AsEikDialog() const
  2747. {return (const CEikDialog*)const_cast<MEikAlertWin*>(this)->AsEikDialog();}
  2748. inline const CCoeControl* MEikAlertWin::AsCoeControl() const
  2749. {return (const CCoeControl*)const_cast<MEikAlertWin*>(this)->AsCoeControl();}
  2750. enum TEikPortFlag
  2751. {
  2752. ESerialPort =0x01,
  2753. EParallelPort =0x02,
  2754. EIrdaPort= 0x04,
  2755. EFilePort=0x08,
  2756. EViaPCPort=0x10
  2757. };
  2758. __declspec(dllexport) void InternalizeL(TEikPortFlag& aThing,RReadStream& aStream);
  2759. inline RWriteStream& operator<<(RWriteStream& aStream,const TEikPortFlag& aThing)
  2760. {aStream.WriteUint8L(aThing);return aStream;}
  2761. inline RReadStream& operator>>(RReadStream& aStream,TEikPortFlag& aThing)
  2762. {InternalizeL(aThing,aStream);return aStream;}
  2763. #line 36 "C:\Symbian\9.1\S60_3rd\epoc32\include\aknutils.h" /* stack depth 1 */
  2764. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eiksbfrm.h" /* stack depth 2 */
  2765. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\lafpublc.h" /* stack depth 3 */
  2766. #line 25
  2767. const TInt KLafScrollBarButtonPositionMask = 0x00C0;
  2768. struct SLafScrollButton
  2769. {
  2770. enum TType
  2771. {
  2772. ENudgeLeft,
  2773. ENudgeUp,
  2774. ENudgeRight,
  2775. ENudgeDown,
  2776. EPageLeft,
  2777. EPageUp,
  2778. EPageRight,
  2779. EPageDown,
  2780. EHome,
  2781. ETop,
  2782. EEnd,
  2783. EBottom
  2784. };
  2785. };
  2786. struct SLafScrollBar
  2787. {
  2788. enum TEikScrollBarFlags
  2789. {
  2790. EEikScrollBarDefaultBehaviour =0x0000,
  2791. EEikScrollBarNoNudgeButtons =0x0001,
  2792. EEikScrollBarHasPageButtons =0x0002,
  2793. EEikScrollBarHasHomeEndButtons  =0x0004,
  2794. EEikScrollBarNoShaftOrThumb  =0x0008,
  2795. EEikScrollBarShaftButNoThumb  =0x0010,
  2796. EButtonsAtStartOfShaft   =0x0040,
  2797. EButtonsAtEndOfShaft  =0x0080,
  2798. EButtonsEitherSideOfShaft  =EButtonsAtStartOfShaft|EButtonsAtEndOfShaft,
  2799. ENoAutoDimming =0x0100
  2800. };
  2801. enum TOrientation
  2802. {
  2803. EVertical,
  2804. EHorizontal
  2805. };
  2806. };
  2807. struct SLafListBox
  2808. {
  2809. enum TFlags
  2810. {
  2811. EMultipleSelection = 0x0001,
  2812. ENoExtendedSelection = 0x0002,
  2813. EIncrementalMatching = 0x0004,
  2814. EPopout = 0x0008,
  2815. ELeftDownInViewRect = 0x0010,
  2816. EItemDoubleClicked = 0x0020,
  2817. EKeepModel = 0x0040,
  2818. EScrollBarSizeExcluded = 0x0080,
  2819. EStateChanged = 0x0100,
  2820. ECreateOwnWindow = 0x0200,
  2821.         ENoFirstLetterMatching      = 0x0400,
  2822. EPaintedSelection = 0x0800,
  2823. ES60StyleMultiselection     = 0x00010000,
  2824. ES60StyleMarkable           = 0x00020000
  2825. };
  2826.     enum TListItemAttribute
  2827.         {
  2828. ECurrent    = 0x0001,
  2829. EEmphasized = 0x0002,
  2830. ESelected   = 0x0004,
  2831. EMask = 0x0007
  2832.         };
  2833. enum TListItemFlags
  2834. {
  2835. EItemDrawMarkSelection = 0x0001,
  2836. EItemPaintedSelection = 0x0002,
  2837. EItemDrawOnlyActiveSelection = 0x0004
  2838. };
  2839. };
  2840. struct SLafScrollThumb
  2841. {
  2842. enum TOrientation
  2843. {
  2844. EVertical,
  2845. EHorizontal
  2846. };
  2847. };
  2848. struct SLafScrollBarFrame
  2849. {
  2850. enum TScrollBarVisibility
  2851. {
  2852. EOff,
  2853. EOn,
  2854. EAuto
  2855. };
  2856. enum TScrollBarSide
  2857. {
  2858. EBottomOrRight,
  2859. ETopOrLeft
  2860. };
  2861. enum TScrollBarManagement
  2862. {
  2863. EComponent,
  2864. EFloating,
  2865. EApplicationScrollBar
  2866. };
  2867. };
  2868. struct SLafControlGroup
  2869. {
  2870. enum TStartCorner
  2871. {
  2872. EFromTopLeft=0x1,
  2873. EFromTopRight=0x2,
  2874. EFromBottomLeft=0x3,
  2875. EFromBottomRight=0x4
  2876. };
  2877. enum TOrientation
  2878. {
  2879. ELayHorizontally=0x10,
  2880. ELayVertically=0x20
  2881. };
  2882. };
  2883. struct SLafButtonGroupContainer
  2884. {
  2885. enum TUse
  2886. {
  2887. EView,
  2888. EDialog,
  2889. EToolbar,
  2890. ECba,
  2891. EDialogButtons
  2892. };
  2893. enum TOrientation
  2894. {
  2895. EVertical,
  2896. EHorizontal
  2897. };
  2898. enum TLocation
  2899. {
  2900. EInternal,
  2901. EExternal
  2902. };
  2903. };
  2904. struct SLafMenuBar
  2905. {
  2906. enum { ENominalTextLength = 40 };
  2907. };
  2908. struct SLafMenuPane
  2909. {
  2910. enum THighlightType
  2911. {
  2912. ENoHighlight,
  2913. EDrawHighlight,
  2914. ERemoveHighlight
  2915. };
  2916. };
  2917. struct SLafButtonBase
  2918. {
  2919. enum TDrawState
  2920. {
  2921. EDrawClear =0x00,
  2922. EDrawSet =0x01,
  2923. EDrawIndeterminate =0x02,
  2924. EDrawClearPressed =0x10,
  2925. EDrawSetPressed =0x11,
  2926. EDrawIndeterminatePressed =0x12
  2927. };
  2928. };
  2929. #line 9 "C:\Symbian\9.1\S60_3rd\epoc32\include\eiksbfrm.h" /* stack depth 2 */
  2930. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\aknscrlb.h" /* stack depth 3 */
  2931. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikscrlb.h" /* stack depth 4 */
  2932. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikbctrl.h" /* stack depth 5 */
  2933. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\AknControl.h" /* stack depth 6 */
  2934. #line 33
  2935. class CAknControl : public CCoeControl
  2936.   {
  2937.   public:
  2938.       __declspec(dllexport) CAknControl();
  2939.       __declspec(dllexport) ~CAknControl();
  2940.   private:
  2941.       __declspec(dllexport) virtual void* ExtensionInterface( TUid aInterface );
  2942.   private:
  2943.       TInt iSpare[6];
  2944.   };
  2945. #line 17 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikbctrl.h" /* stack depth 5 */
  2946. class CEikBorderedControl : public CAknControl
  2947. {
  2948. public:
  2949. __declspec(dllexport) CEikBorderedControl();
  2950. __declspec(dllexport) CEikBorderedControl(const TGulBorder& aBorder);
  2951. public:
  2952. __declspec(dllexport) TBool HasBorder() const;
  2953. __declspec(dllexport) void SetAdjacent(TInt aAdjacent);
  2954. __declspec(dllexport) void GetColorUseListL(CArrayFix<TCoeColorUse>& aColorUseList) const;
  2955. __declspec(dllexport) void HandleResourceChange(TInt aType);
  2956.     __declspec(dllexport) void HandlePointerEventL(const TPointerEvent& aPointerEvent);
  2957. public:
  2958. __declspec(dllexport) void SetBorder(TGulBorder::TBorderType aBorderType);
  2959. __declspec(dllexport) void SetBorder(TInt aBorderType);
  2960. __declspec(dllexport) TGulBorder Border() const;
  2961. protected:
  2962. __declspec(dllexport) void Draw(const TRect& aRect) const;
  2963. __declspec(dllexport) void WriteInternalStateL(RWriteStream& aWriteStream) const;
  2964. private:
  2965.     __declspec(dllexport) void* ExtensionInterface( TUid aInterface );
  2966. protected:
  2967. TGulBorder iBorder;
  2968. private:
  2969.     TInt iSpare[2];
  2970. };
  2971. #line 10 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikscrlb.h" /* stack depth 4 */
  2972. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eiksbobs.h" /* stack depth 5 */
  2973. #line 12
  2974. enum TEikScrollEvent
  2975. {
  2976. EEikScrollLeft=1,
  2977. EEikScrollUp,
  2978. EEikScrollRight,
  2979. EEikScrollDown,
  2980. EEikScrollPageLeft,
  2981. EEikScrollPageUp,
  2982. EEikScrollPageRight,
  2983. EEikScrollPageDown,
  2984. EEikScrollHome,
  2985. EEikScrollTop,
  2986. EEikScrollEnd,
  2987. EEikScrollBottom,
  2988. EEikScrollThumbDragHoriz,
  2989. EEikScrollThumbDragVert,
  2990. EEikScrollThumbReleaseHoriz,
  2991. EEikScrollThumbReleaseVert
  2992. };
  2993. class CEikScrollBar;
  2994. class MEikScrollBarObserver
  2995. {
  2996. public:
  2997. virtual void HandleScrollEventL(CEikScrollBar* aScrollBar, TEikScrollEvent aEventType)=0;
  2998. };
  2999. #line 14 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikscrlb.h" /* stack depth 4 */
  3000. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\aknscbut.h" /* stack depth 5 */
  3001. #line 31
  3002. class CAknScrollIndicator;
  3003. class CAknScrollButton : public CAknControl
  3004. {
  3005. public:
  3006. enum TType
  3007. {
  3008. ENudgeLeft,
  3009. ENudgeUp,
  3010. ENudgeRight,
  3011. ENudgeDown,
  3012. EPageLeft,
  3013. EPageUp,
  3014. EPageRight,