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

Symbian

开发平台:

C/C++

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