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

Symbian

开发平台:

C/C++

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