00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #pragma once
00020
00021 #include "ATESuites.h"
00022 #include "ATEException.h"
00023 #include "SloTextdomTypes.h"
00024
00025 namespace ATE
00026 {
00027 class IApplicationPaint;
00028 class ICompFont;
00029 class ICompFontClass;
00030 class ICompFontClassSet;
00031 class ICompFontComponent;
00032 class ICompFontSet;
00033 class IGlyphRun;
00034 class IGlyphRunsIterator;
00035 class IMojiKumi;
00036 class IMojiKumiSet;
00037 class ITextFrame;
00038 class ITextFramesIterator;
00039 class ITextLine;
00040 class ITextLinesIterator;
00041 class ITextResources;
00042 class IApplicationTextResources;
00043 class IDocumentTextResources;
00044 class IVersionInfo;
00045 class IArrayApplicationPaintRef;
00046 class IArrayReal;
00047 class IArrayBool;
00048 class IArrayInteger;
00049 class IArrayLineCapType;
00050 class IArrayFigureStyle;
00051 class IArrayLineJoinType;
00052 class IArrayWariChuJustification;
00053 class IArrayStyleRunAlignment;
00054 class IArrayAutoKernType;
00055 class IArrayBaselineDirection;
00056 class IArrayLanguage;
00057 class IArrayFontCapsOption;
00058 class IArrayFontBaselineOption;
00059 class IArrayFontOpenTypePositionOption;
00060 class IArrayUnderlinePosition;
00061 class IArrayStrikethroughPosition;
00062 class IArrayParagraphJustification;
00063 class IArrayArrayReal;
00064 class IArrayBurasagariType;
00065 class IArrayPreferredKinsokuOrder;
00066 class IArrayKinsokuRef;
00067 class IArrayMojiKumiRef;
00068 class IArrayMojiKumiSetRef;
00069 class IArrayTabStopsRef;
00070 class IArrayLeadingType;
00071 class IArrayFontRef;
00072 class IArrayGlyphID;
00073 class IArrayRealPoint;
00074 class IArrayRealMatrix;
00075 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
00076 class IArrayParagraphDirection;
00077 class IArrayJustificationMethod;
00078 class IArrayKashidaWidth;
00079 class IArrayKashidas;
00080 class IArrayDirOverride;
00081 class IArrayDigitSet;
00082 class IArrayDiacVPos;
00083 #endif
00084 class ICharFeatures;
00085 class ICharInspector;
00086 class ICharStyle;
00087 class ICharStyles;
00088 class ICharStylesIterator;
00089 class IFind;
00090 class IFont;
00091 class IGlyph;
00092 class IGlyphs;
00093 class IGlyphsIterator;
00094 class IKinsoku;
00095 class IKinsokuSet;
00096 class IParaFeatures;
00097 class IParagraph;
00098 class IParagraphsIterator;
00099 class IParaInspector;
00100 class IParaStyle;
00101 class IParaStyles;
00102 class IParaStylesIterator;
00103 class ISpell;
00104 class IStories;
00105 class IStory;
00106 class ITabStop;
00107 class ITabStops;
00108 class ITabStopsIterator;
00109 class ITextRange;
00110 class ITextRanges;
00111 class ITextRangesIterator;
00112 class ITextRunsIterator;
00113 class IWordsIterator;
00114 class IArrayLine;
00115 class IArrayComposerEngine;
00117
00119
00124 class IApplicationPaint
00125 {
00126 private:
00127 ApplicationPaintRef fApplicationPaint;
00128 public:
00131 IApplicationPaint();
00135 IApplicationPaint(const IApplicationPaint& src);
00139 IApplicationPaint& operator=(const IApplicationPaint& rhs);
00143 bool operator==(const IApplicationPaint& rhs) const;
00147 bool operator!=(const IApplicationPaint& rhs) const;
00154 explicit IApplicationPaint(ApplicationPaintRef applicationpaint);
00156 virtual ~IApplicationPaint();
00159 ApplicationPaintRef GetRef() const;
00162 bool IsNull() const;
00163
00164
00165 };
00166
00168
00170
00174 class ICompFont
00175 {
00176 private:
00177 CompFontRef fCompFont;
00178 public:
00181 ICompFont();
00185 ICompFont(const ICompFont& src);
00189 ICompFont& operator=(const ICompFont& rhs);
00193 bool operator==(const ICompFont& rhs) const;
00197 bool operator!=(const ICompFont& rhs) const;
00203 explicit ICompFont(CompFontRef compfont);
00205 virtual ~ICompFont();
00208 CompFontRef GetRef() const;
00211 bool IsNull() const;
00212
00216 ICompFont( ITextResources pResources);
00217
00218
00219
00220
00221
00228 void GetNativeName( ATETextDOM::Unicode* name, ATETextDOM::Int32 maxLength) const;
00229
00235 void SetNativeName( const ATETextDOM::Unicode* name);
00236
00243 void GetPostScriptName( ATETextDOM::Unicode* name, ATETextDOM::Int32 maxLength) const;
00244
00251 void GetPostScriptName( char* name, ATETextDOM::Int32 maxLength) const;
00252
00258 void SetFontDictionary( void* fontDictionary);
00259
00264 void* GetFontDictionary( ) const;
00265
00266
00267
00268
00272 ICompFont Duplicate( ) const;
00273
00277 bool IsModified( ) const;
00278
00282 bool IsEditable( ) const;
00283
00287 bool IsCommitted( ) const;
00288
00292 bool VerifyState( ) const;
00293
00297 bool IsATCFileLoaded( ) const;
00298
00303 ATETextDOM::Int32 GetComponentCount( ) const;
00304
00310 ICompFontComponent GetComponent( ATETextDOM::Int32 index) const;
00311
00317 ATETextDOM::Int32 Find( ICompFontComponent component) const;
00318
00323 bool RemoveComponent( ATETextDOM::Int32 index);
00324
00330 ATETextDOM::Int32 AddComponent( ICompFontComponent component);
00331
00337 bool ReplaceComponent( ATETextDOM::Int32 index, ICompFontComponent component);
00338
00339 };
00340
00342
00344
00348 class ICompFontClass
00349 {
00350 private:
00351 CompFontClassRef fCompFontClass;
00352 public:
00355 ICompFontClass();
00359 ICompFontClass(const ICompFontClass& src);
00363 ICompFontClass& operator=(const ICompFontClass& rhs);
00367 bool operator==(const ICompFontClass& rhs) const;
00371 bool operator!=(const ICompFontClass& rhs) const;
00377 explicit ICompFontClass(CompFontClassRef compfontclass);
00379 virtual ~ICompFontClass();
00382 CompFontClassRef GetRef() const;
00385 bool IsNull() const;
00386
00387
00388
00389
00390
00397 void GetNativeName( ATETextDOM::Unicode* name, ATETextDOM::Int32 maxLength) const;
00398
00403 void SetNativeName( const ATETextDOM::Unicode* name);
00404
00411 ATETextDOM::Int32 GetCodes( ATETextDOM::Unicode* codes, ATETextDOM::Int32 maxLength) const;
00412
00417 ATETextDOM::Int32 SetCodes( const ATETextDOM::Unicode* codes);
00418
00419
00420
00421
00422
00426 ICompFontClass Duplicate( ) const;
00427
00431 ATETextDOM::Int32 GetCharacterCount( ) const;
00432
00436 CompositeFontClassType GetClassType( ) const;
00437
00442 bool IsCodeInClass( ATETextDOM::Unicode code) const;
00443
00448 bool IsEditable( ) const;
00449
00454 bool IsCustomOverride( ) const;
00455
00459 bool IsModified( ) const;
00460
00464 bool VerifyState( ) const;
00465
00466 };
00467
00469
00471
00475 class ICompFontClassSet
00476 {
00477 private:
00478 CompFontClassSetRef fCompFontClassSet;
00479 public:
00482 ICompFontClassSet();
00486 ICompFontClassSet(const ICompFontClassSet& src);
00490 ICompFontClassSet& operator=(const ICompFontClassSet& rhs);
00494 bool operator==(const ICompFontClassSet& rhs) const;
00498 bool operator!=(const ICompFontClassSet& rhs) const;
00504 explicit ICompFontClassSet(CompFontClassSetRef compfontclassset);
00506 virtual ~ICompFontClassSet();
00509 CompFontClassSetRef GetRef() const;
00512 bool IsNull() const;
00513
00514
00515
00516
00517
00521 ATETextDOM::Int32 GetSize( ) const;
00525 ICompFontClass GetFirst( ) const;
00529 ICompFontClass GetLast( ) const;
00530
00531
00532
00533
00534
00540 ICompFontClass Item( ATETextDOM::Int32 nIndex) const;
00541
00547 ATETextDOM::Int32 Find( ICompFontClass compFontClass) const;
00548
00554 ATETextDOM::Int32 FindPredefined( CompositeFontClassType predefinedType) const;
00555
00556 };
00557
00559
00561
00565 class ICompFontComponent
00566 {
00567 private:
00568 CompFontComponentRef fCompFontComponent;
00569 public:
00572 ICompFontComponent();
00576 ICompFontComponent(const ICompFontComponent& src);
00580 ICompFontComponent& operator=(const ICompFontComponent& rhs);
00584 bool operator==(const ICompFontComponent& rhs) const;
00588 bool operator!=(const ICompFontComponent& rhs) const;
00594 explicit ICompFontComponent(CompFontComponentRef compfontcomponent);
00596 virtual ~ICompFontComponent();
00599 CompFontComponentRef GetRef() const;
00602 bool IsNull() const;
00603
00607 ICompFontComponent( ITextResources pResources);
00608
00609
00610
00611
00612
00616 ICompFontClass GetClass( ) const;
00617
00622 void SetClass( ICompFontClass charClass);
00623
00627 IFont GetFont( ) const;
00628
00633 void SetFont( IFont font);
00634
00638 ATETextDOM::Real GetSize( ) const;
00639
00643 void SetSize( ATETextDOM::Real size);
00644
00648 ATETextDOM::Real GetBaseline( ) const;
00649
00653 void SetBaseline( ATETextDOM::Real baseline);
00654
00658 ATETextDOM::Real GetHorizontalScale( ) const;
00659
00663 void SetHorizontalScale( ATETextDOM::Real horizontalScale);
00664
00668 ATETextDOM::Real GetVerticalScale( ) const;
00669
00673 void SetVerticalScale( ATETextDOM::Real verticalScale);
00674
00678 bool GetCenterGlyph( ) const;
00679
00684 void SetCenterGlyph( bool centerglyph);
00685
00686
00687
00688
00689
00693 bool IsModified( ) const;
00694
00695 };
00696
00698
00700
00704 class ICompFontSet
00705 {
00706 private:
00707 CompFontSetRef fCompFontSet;
00708 public:
00711 ICompFontSet();
00715 ICompFontSet(const ICompFontSet& src);
00719 ICompFontSet& operator=(const ICompFontSet& rhs);
00723 bool operator==(const ICompFontSet& rhs) const;
00727 bool operator!=(const ICompFontSet& rhs) const;
00733 explicit ICompFontSet(CompFontSetRef compfontset);
00735 virtual ~ICompFontSet();
00738 CompFontSetRef GetRef() const;
00741 bool IsNull() const;
00742
00743
00744
00745
00746
00750 ATETextDOM::Int32 GetSize( ) const;
00754 ICompFont GetFirst( ) const;
00758 ICompFont GetLast( ) const;
00759
00760
00761
00762
00768 ICompFont Item( ATETextDOM::Int32 nIndex) const;
00769
00775 ATETextDOM::Int32 Find( ICompFont font) const;
00776
00781 bool Remove( ATETextDOM::Int32 nIndex);
00782
00788 ATETextDOM::Int32 Add( ICompFont font);
00789
00795 bool Replace( ATETextDOM::Int32 nIndex, ICompFont newFont);
00796
00802 void Update( ) const;
00803
00804 };
00805
00807
00809
00815 class IGlyphRun
00816 {
00817 private:
00818 GlyphRunRef fGlyphRun;
00819 public:
00822 IGlyphRun();
00826 IGlyphRun(const IGlyphRun& src);
00830 IGlyphRun& operator=(const IGlyphRun& rhs);
00834 bool operator==(const IGlyphRun& rhs) const;
00838 bool operator!=(const IGlyphRun& rhs) const;
00844 explicit IGlyphRun(GlyphRunRef glyphrun);
00846 virtual ~IGlyphRun();
00849 GlyphRunRef GetRef() const;
00852 bool IsNull() const;
00853
00854
00855
00856
00857
00861 ITextLine GetTextLine( ) const;
00862
00868 ATETextDOM::Int32 GetSize( ) const;
00869
00875 ATETextDOM::Int32 GetCharacterCount( ) const;
00876
00880 IArrayRealPoint GetOrigins( ) const;
00881
00885 IArrayGlyphID GetGlyphIDs( ) const;
00886
00894 ATETextDOM::RealMatrix GetMatrix( ) const;
00895
00922 ICharFeatures GetCharFeatures( ) const;
00923
00927 GlyphOrientation GetGlyphOrientation( ) const;
00928
00932 ATETextDOM::Real GetAscent( ) const;
00933
00937 ATETextDOM::Real GetDescent( ) const;
00938
00942 ATETextDOM::Real GetTracking( ) const;
00943
00947 ATETextDOM::Real GetSpaceGlyphWidth( ) const;
00948
00952 ATETextDOM::Real GetDistanceToBaseline( ) const;
00953
00957 ATETextDOM::Real GetUnderlinePosition( ) const;
00958
00962 ATETextDOM::Real GetUnderlineThickness( ) const;
00963
00967 ATETextDOM::Real GetMaxCapHeight( ) const;
00968
00972 ATETextDOM::Real GetMinCapHeight( ) const;
00973
00978 IFont GetFlattenedFont( ) const;
00979
00986 ATETextDOM::Int32 GetContents( ATETextDOM::Unicode* text, ATETextDOM::Int32 maxLength) const;
00987
00994 ATETextDOM::Int32 GetContents( char* text, ATETextDOM::Int32 maxLength) const;
00995
00996 };
00997
00999
01001
01005 class IGlyphRunsIterator
01006 {
01007 private:
01008 GlyphRunsIteratorRef fGlyphRunsIterator;
01009 public:
01012 IGlyphRunsIterator();
01016 IGlyphRunsIterator(const IGlyphRunsIterator& src);
01020 IGlyphRunsIterator& operator=(const IGlyphRunsIterator& rhs);
01024 bool operator==(const IGlyphRunsIterator& rhs) const;
01028 bool operator!=(const IGlyphRunsIterator& rhs) const;
01034 explicit IGlyphRunsIterator(GlyphRunsIteratorRef glyphrunsiterator);
01036 virtual ~IGlyphRunsIterator();
01039 GlyphRunsIteratorRef GetRef() const;
01042 bool IsNull() const;
01043
01044
01045
01046
01049 bool IsNotDone( ) const;
01052 bool IsDone( ) const;
01055 void Next( );
01058 IGlyphRun Item( ) const;
01059
01060 };
01061
01063
01065
01069 class IMojiKumi
01070 {
01071 private:
01072 MojiKumiRef fMojiKumi;
01073 public:
01076 IMojiKumi();
01080 IMojiKumi(const IMojiKumi& src);
01084 IMojiKumi& operator=(const IMojiKumi& rhs);
01088 bool operator==(const IMojiKumi& rhs) const;
01092 bool operator!=(const IMojiKumi& rhs) const;
01098 explicit IMojiKumi(MojiKumiRef mojikumi);
01100 virtual ~IMojiKumi();
01103 MojiKumiRef GetRef() const;
01106 bool IsNull() const;
01107
01108
01109
01110
01111
01118 ATETextDOM::Int32 GetName( ATETextDOM::Unicode * name, ATETextDOM::Int32 maxLength) const;
01123 ATETextDOM::Int32 GetNameSize( ) const;
01128 void SetName( const ATETextDOM::Unicode * name);
01134 bool MatchesPredefinedResourceTag( ATE::MojikumiTablePredefinedTag tag) const;
01142 void GetEntry( ATETextDOM::Int32 index, ATETextDOM::Float * minExpansion, ATETextDOM::Float * maxExpansion, ATETextDOM::Float * desiredExpansion) const;
01150 void SetEntry( ATETextDOM::Int32 index, ATETextDOM::Real minExpansion, ATETextDOM::Real maxExpansion, ATETextDOM::Real desiredExpansion);
01151
01152
01153
01154
01155
01160 bool IsEquivalent( IMojiKumi rhsMojiKumi) const;
01164 bool IsModified( ) const;
01168 bool IsPredefined( ) const;
01172 IMojiKumi Duplicate( ) const;
01173
01174 };
01175
01177
01179
01183 class IMojiKumiSet
01184 {
01185 private:
01186 MojiKumiSetRef fMojiKumiSet;
01187 public:
01190 IMojiKumiSet();
01194 IMojiKumiSet(const IMojiKumiSet& src);
01198 IMojiKumiSet& operator=(const IMojiKumiSet& rhs);
01202 bool operator==(const IMojiKumiSet& rhs) const;
01206 bool operator!=(const IMojiKumiSet& rhs) const;
01212 explicit IMojiKumiSet(MojiKumiSetRef mojikumiset);
01214 virtual ~IMojiKumiSet();
01217 MojiKumiSetRef GetRef() const;
01220 bool IsNull() const;
01221
01222
01223
01224
01225
01228 ATETextDOM::Int32 GetSize( );
01231 IMojiKumi GetFirst( );
01234 IMojiKumi GetLast( );
01235
01236
01237
01238
01239
01245 IMojiKumi Item( ATETextDOM::Int32 nIndex) const;
01251 ATETextDOM::Int32 Find( const IMojiKumi mojiKumi);
01257 ATETextDOM::Int32 Find( const ATETextDOM::Unicode* name);
01264 ATETextDOM::Int32 Find( MojikumiTablePredefinedTag tag);
01269 bool Remove( ATETextDOM::Int32 nIndex);
01277 ATETextDOM::Int32 Add( IMojiKumi mojiKumi);
01283 bool Replace( ATETextDOM::Int32 nIndex, IMojiKumi mojiKumi);
01292 IMojiKumi CreateNewMojiKumi( const ATETextDOM::Unicode* name, ATETextDOM::Int32* nIndex);
01293
01294 };
01295
01297
01299
01306 class ITextFrame
01307 {
01308 private:
01309 TextFrameRef fTextFrame;
01310 public:
01313 ITextFrame();
01317 ITextFrame(const ITextFrame& src);
01321 ITextFrame& operator=(const ITextFrame& rhs);
01325 bool operator==(const ITextFrame& rhs) const;
01329 bool operator!=(const ITextFrame& rhs) const;
01335 explicit ITextFrame(TextFrameRef textframe);
01337 virtual ~ITextFrame();
01340 TextFrameRef GetRef() const;
01343 bool IsNull() const;
01344
01345
01346
01347
01351 IStory GetStory( ) const;
01358 ITextRange GetTextRange( bool bIncludeOverflow = true) const;
01363 ITextLinesIterator GetTextLinesIterator( ) const;
01367 FrameType GetType( ) const;
01371 LineOrientation GetLineOrientation( ) const;
01376 bool GetSelected( ) const;
01380 ATETextDOM::RealMatrix GetMatrix( ) const;
01384 ATETextDOM::Int32 GetRowCount( ) const;
01388 ATETextDOM::Int32 GetColumnCount( ) const;
01392 bool GetRowMajorOrder( ) const;
01396 ATETextDOM::Real GetRowGutter( ) const;
01400 ATETextDOM::Real GetColumnGutter( ) const;
01404 ATETextDOM::Real GetSpacing( ) const;
01408 bool GetOpticalAlignment( ) const;
01409 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
01410
01413 ParagraphDirection GetStoryDirection( ) const;
01414 #endif
01415
01419 void SetRowCount( ATETextDOM::Int32 rowCount);
01424 void SetColumnCount( ATETextDOM::Int32 columnCount);
01430 void SetRowMajorOrder( bool isRowMajor);
01435 void SetRowGutter( ATETextDOM::Real gutter);
01440 void SetColumnGutter( ATETextDOM::Real gutter);
01445 void SetSpacing( ATETextDOM::Real spacing);
01451 void SetOpticalAlignment( bool isActive);
01456 void SetLineOrientation( LineOrientation lineOrientation);
01457
01458 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
01459
01463 void SetStoryDirection( ParagraphDirection direction);
01464 #endif
01465 };
01466
01468
01470
01473 class ITextFramesIterator
01474 {
01475 private:
01476 TextFramesIteratorRef fTextFramesIterator;
01477 public:
01480 ITextFramesIterator();
01484 ITextFramesIterator(const ITextFramesIterator& src);
01488 ITextFramesIterator& operator=(const ITextFramesIterator& rhs);
01492 bool operator==(const ITextFramesIterator& rhs) const;
01496 bool operator!=(const ITextFramesIterator& rhs) const;
01502 explicit ITextFramesIterator(TextFramesIteratorRef textframesiterator);
01504 virtual ~ITextFramesIterator();
01507 TextFramesIteratorRef GetRef() const;
01510 bool IsNull() const;
01511
01517 ITextFramesIterator( const ITextRange& range);
01518
01519
01520
01521
01522
01525 bool IsNotDone( ) const;
01528 bool IsDone( ) const;
01531 bool IsEmpty( ) const;
01534 void Next( );
01537 void Previous( );
01540 ITextFrame Item( ) const;
01541
01542 };
01543
01545
01547
01553 class ITextLine
01554 {
01555 private:
01556 TextLineRef fTextLine;
01557 public:
01560 ITextLine();
01564 ITextLine(const ITextLine& src);
01568 ITextLine& operator=(const ITextLine& rhs);
01572 bool operator==(const ITextLine& rhs) const;
01576 bool operator!=(const ITextLine& rhs) const;
01582 explicit ITextLine(TextLineRef textline);
01584 virtual ~ITextLine();
01587 TextLineRef GetRef() const;
01590 bool IsNull() const;
01591
01592
01593
01594
01595
01601 IGlyphRunsIterator GetGlyphRunsIterator( ) const;
01608 IGlyphRunsIterator GetVisualGlyphRunsIterator( ) const;
01612 ITextFrame GetTextFrame( ) const;
01616 ITextRange GetTextRange( ) const;
01623 IArrayLine GetBaselines() const;
01624 };
01625
01627
01629
01632 class ITextLinesIterator
01633 {
01634 private:
01635 TextLinesIteratorRef fTextLinesIterator;
01636 public:
01639 ITextLinesIterator();
01643 ITextLinesIterator(const ITextLinesIterator& src);
01647 ITextLinesIterator& operator=(const ITextLinesIterator& rhs);
01651 bool operator==(const ITextLinesIterator& rhs) const;
01655 bool operator!=(const ITextLinesIterator& rhs) const;
01661 explicit ITextLinesIterator(TextLinesIteratorRef textlinesiterator);
01663 virtual ~ITextLinesIterator();
01666 TextLinesIteratorRef GetRef() const;
01669 bool IsNull() const;
01670
01671
01672
01673
01674
01677 bool IsNotDone( ) const;
01680 bool IsDone( ) const;
01683 bool IsEmpty( ) const;
01686 void Next( );
01689 void Previous( );
01692 ITextLine Item( ) const;
01693
01694 };
01695
01697
01699
01701 class ITextResources
01702 {
01703 private:
01704 TextResourcesRef fTextResources;
01705 public:
01706 ITextResources();
01707 ITextResources(const ITextResources& src);
01708 ITextResources& operator=(const ITextResources& rhs);
01709 bool operator==(const ITextResources& rhs) const;
01710 bool operator!=(const ITextResources& rhs) const;
01711 explicit ITextResources(TextResourcesRef textresources);
01712 virtual ~ITextResources();
01713 TextResourcesRef GetRef() const;
01714 bool IsNull() const;
01715
01716 ITextResources GetTextResources( );
01717
01718 };
01719
01721
01723
01724 class IApplicationTextResources
01725 {
01726 private:
01727 ApplicationTextResourcesRef fApplicationTextResources;
01728 public:
01731 IApplicationTextResources();
01735 IApplicationTextResources(const IApplicationTextResources& src);
01739 IApplicationTextResources& operator=(const IApplicationTextResources& rhs);
01743 bool operator==(const IApplicationTextResources& rhs) const;
01747 bool operator!=(const IApplicationTextResources& rhs) const;
01753 explicit IApplicationTextResources(ApplicationTextResourcesRef applicationtextresources);
01755 virtual ~IApplicationTextResources();
01758 ApplicationTextResourcesRef GetRef() const;
01761 bool IsNull() const;
01762
01763
01764 ITextResources GetTextResources( );
01765
01766
01767
01768 IKinsokuSet GetKinsokuSet( ) const;
01769 IMojiKumiSet GetMojiKumiSet( ) const;
01770 ICompFontClassSet GetCompFontClassSet( ) const;
01771 ICompFontSet GetCompFontSet( ) const;
01772
01773 };
01774
01776
01778
01781 class IDocumentTextResources
01782 {
01783 private:
01784 DocumentTextResourcesRef fDocumentTextResources;
01785 public:
01788 IDocumentTextResources();
01792 IDocumentTextResources(const IDocumentTextResources& src);
01796 IDocumentTextResources& operator=(const IDocumentTextResources& rhs);
01800 bool operator==(const IDocumentTextResources& rhs) const;
01804 bool operator!=(const IDocumentTextResources& rhs) const;
01810 explicit IDocumentTextResources(DocumentTextResourcesRef documenttextresources);
01812 virtual ~IDocumentTextResources();
01815 DocumentTextResourcesRef GetRef() const;
01818 bool IsNull() const;
01819
01820
01824 IKinsokuSet GetKinsokuSet( ) const;
01828 IMojiKumiSet GetMojiKumiSet( ) const;
01832 ICompFontClassSet GetCompFontClassSet( ) const;
01836 ICompFontSet GetCompFontSet( ) const;
01840 ITextResources GetTextResources( );
01841
01845 IFind GetFind( );
01849 ISpell GetSpell( );
01850
01854 IGlyph GetGlyphAndAlternates( ) const;
01858 IGlyph GetAlternateGlyph( ) const;
01868 void InsertAlternateGlyph( const ATETextDOM::Unicode* theCharacters, const ATEGlyphID glyphID, const char* otFeatureArray, ATETextDOM::Int32 otFeatureCount, const ATETextDOM::Int32* otFeatureIndexArray, bool leaveSelected);
01869
01873 IArrayInteger GetAlternatesAvailableThroughoutSelection( ) const;
01874
01879 JapaneseAlternateFeature GetJapaneseAlternateFeatureInSelection( bool* isFeature) const;
01884 void SetJapaneseAlternateFeatureInSelection( JapaneseAlternateFeature feature);
01885
01889 ICharStyles GetCharStylesInDocument( ) const;
01893 IParaStyles GetParaStylesInDocument( ) const;
01898 ICharStyle GetCharStyle( const ATETextDOM::Unicode* pName) const;
01903 IParaStyle GetParaStyle( const ATETextDOM::Unicode* pName) const;
01907 ICharStyle GetNormalCharStyle( ) const;
01911 IParaStyle GetNormalParaStyle( ) const;
01916 void ResetNormalCharStyle( );
01921 void ResetNormalParaStyle( );
01922
01929 ICharStyle CreateCharStyle( const ATETextDOM::Unicode* pName);
01936 IParaStyle CreateParaStyle( const ATETextDOM::Unicode* pName);
01945 ICharStyle CreateCharStyleWithFeatures( const ATETextDOM::Unicode* pName, ICharFeatures pFeatures);
01954 IParaStyle CreateParaStyleWithFeatures( const ATETextDOM::Unicode* pName, IParaFeatures pFeatures);
01955
01961 bool RemoveCharStyle( const ATETextDOM::Unicode* pName);
01967 bool RemoveParaStyle( const ATETextDOM::Unicode* pName);
01968
01974 void ImportCharStyles( ITextResources pSrcResources);
01980 void ImportParaStyles( ITextResources pSrcResources);
01981
01986 void SetUseSmartQuotes( bool smartQuotesAreOn);
01993 void SetSmartDoubleQuoteCharacters( ATETextDOM::Unicode openQuote, ATETextDOM::Unicode closeQuote, Language language);
02000 void SetSmartSingleQuoteCharacters( ATETextDOM::Unicode openQuote, ATETextDOM::Unicode closeQuote, Language language);
02004 bool UseSmartQuotes( );
02011 void GetSmartDoubleQuoteCharacters( ATETextDOM::Unicode* openQuote, ATETextDOM::Unicode* closeQuote, Language language);
02018 void GetSmartSingleQuoteCharacters( ATETextDOM::Unicode* openQuote, ATETextDOM::Unicode* closeQuote, Language language);
02019
02024 ICharFeatures GetInsertionCharFeatures( ) const;
02029 ICharStyle GetInsertionCharStyle( ) const;
02035 void SetInsertionFeaturesAndStyle( const ICharFeatures& pFeatures, const ATETextDOM::Unicode* pStyleName);
02036
02040 ATETextDOM::Real GetSuperscriptSize( ) const;
02045 void SetSuperscriptSize( ATETextDOM::Real value);
02049 ATETextDOM::Real GetSuperscriptPosition( ) const;
02054 void SetSuperscriptPosition( ATETextDOM::Real value);
02058 ATETextDOM::Real GetSubscriptSize( ) const;
02063 void SetSubscriptSize( ATETextDOM::Real value);
02067 ATETextDOM::Real GetSubscriptPosition( ) const;
02072 void SetSubscriptPosition( ATETextDOM::Real value);
02073
02077 ATETextDOM::Real GetSmallCapSize( ) const;
02082 void SetSmallCapSize( ATETextDOM::Real value);
02083
02087 bool GetShowHiddenCharacters( ) const;
02091 void SetShowHiddenCharacters( bool value);
02092
02096 ATETextDOM::Int32 GetGreekingSize( ) const;
02101 void SetGreekingSize( ATETextDOM::Int32 value);
02102
02106 bool GetHighlightSubstituteFonts( ) const;
02110 void SetHighlightSubstituteFonts( bool value);
02114 bool GetHighlightAlternateGlyphs( ) const;
02118 void SetHighlightAlternateGlyphs( bool value);
02119
02120 };
02121
02123
02125
02128 class IVersionInfo
02129 {
02130 private:
02131 VersionInfoRef fVersionInfo;
02132 public:
02135 IVersionInfo();
02139 IVersionInfo(const IVersionInfo& src);
02143 IVersionInfo& operator=(const IVersionInfo& rhs);
02147 bool operator==(const IVersionInfo& rhs) const;
02151 bool operator!=(const IVersionInfo& rhs) const;
02157 explicit IVersionInfo(VersionInfoRef versioninfo);
02159 virtual ~IVersionInfo();
02162 VersionInfoRef GetRef() const;
02165 bool IsNull() const;
02166
02169 int GetMajorVersion( );
02172 int GetMinorVersion( );
02175 int GetSubMinorVersion( );
02176
02186 int GetVersionAsUTF16( ASUTF16* versionString, int maxLength);
02187
02188 };
02189
02191
02193
02199 class IArrayApplicationPaintRef
02200 {
02201 private:
02202 ArrayApplicationPaintRefRef fArrayApplicationPaintRef;
02203 public:
02206 IArrayApplicationPaintRef();
02210 IArrayApplicationPaintRef(const IArrayApplicationPaintRef& src);
02214 IArrayApplicationPaintRef& operator=(const IArrayApplicationPaintRef& rhs);
02218 bool operator==(const IArrayApplicationPaintRef& rhs) const;
02222 bool operator!=(const IArrayApplicationPaintRef& rhs) const;
02228 explicit IArrayApplicationPaintRef(ArrayApplicationPaintRefRef arrayapplicationpaintref);
02230 virtual ~IArrayApplicationPaintRef();
02233 ArrayApplicationPaintRefRef GetRef() const;
02236 bool IsNull() const;
02237
02238
02239
02240
02241
02244 ATETextDOM::Int32 GetSize( ) const;
02247 IApplicationPaint GetFirst( ) const;
02250 IApplicationPaint GetLast( ) const;
02251
02252
02253
02254
02255
02261 IApplicationPaint Item( ATETextDOM::Int32 index) const;
02262
02263 };
02264
02266
02268
02269 class IArrayReal
02270 {
02271 private:
02272 ArrayRealRef fArrayReal;
02273 public:
02276 IArrayReal();
02280 IArrayReal(const IArrayReal& src);
02284 IArrayReal& operator=(const IArrayReal& rhs);
02288 bool operator==(const IArrayReal& rhs) const;
02292 bool operator!=(const IArrayReal& rhs) const;
02298 explicit IArrayReal(ArrayRealRef arrayreal);
02300 virtual ~IArrayReal();
02303 ArrayRealRef GetRef() const;
02306 bool IsNull() const;
02307
02308
02309
02310
02311
02314 ATETextDOM::Int32 GetSize( ) const;
02317 ATETextDOM::Real GetFirst( ) const;
02320 ATETextDOM::Real GetLast( ) const;
02321
02322
02323
02324
02325
02331 ATETextDOM::Real Item( ATETextDOM::Int32 index) const;
02332
02333 };
02334
02336
02338
02339 class IArrayBool
02340 {
02341 private:
02342 ArrayBoolRef fArrayBool;
02343 public:
02346 IArrayBool();
02350 IArrayBool(const IArrayBool& src);
02354 IArrayBool& operator=(const IArrayBool& rhs);
02358 bool operator==(const IArrayBool& rhs) const;
02362 bool operator!=(const IArrayBool& rhs) const;
02368 explicit IArrayBool(ArrayBoolRef arraybool);
02370 virtual ~IArrayBool();
02373 ArrayBoolRef GetRef() const;
02376 bool IsNull() const;
02377
02378
02379
02380
02381
02384 ATETextDOM::Int32 GetSize( ) const;
02387 bool GetFirst( ) const;
02390 bool GetLast( ) const;
02391
02392
02393
02394
02395
02401 bool Item( ATETextDOM::Int32 index) const;
02402
02403 };
02404
02406
02408
02409 class IArrayInteger
02410 {
02411 private:
02412 ArrayIntegerRef fArrayInteger;
02413 public:
02416 IArrayInteger();
02420 IArrayInteger(const IArrayInteger& src);
02424 IArrayInteger& operator=(const IArrayInteger& rhs);
02428 bool operator==(const IArrayInteger& rhs) const;
02432 bool operator!=(const IArrayInteger& rhs) const;
02438 explicit IArrayInteger(ArrayIntegerRef arrayinteger);
02440 virtual ~IArrayInteger();
02443 ArrayIntegerRef GetRef() const;
02446 bool IsNull() const;
02447
02448
02449
02450
02451
02454 ATETextDOM::Int32 GetSize( ) const;
02457 ATETextDOM::Int32 GetFirst( ) const;
02460 ATETextDOM::Int32 GetLast( ) const;
02461
02462
02463
02464
02465
02471 ATETextDOM::Int32 Item( ATETextDOM::Int32 index) const;
02472
02473 };
02474
02476
02478
02480 class IArrayLineCapType
02481 {
02482 private:
02483 ArrayLineCapTypeRef fArrayLineCapType;
02484 public:
02487 IArrayLineCapType();
02491 IArrayLineCapType(const IArrayLineCapType& src);
02495 IArrayLineCapType& operator=(const IArrayLineCapType& rhs);
02499 bool operator==(const IArrayLineCapType& rhs) const;
02503 bool operator!=(const IArrayLineCapType& rhs) const;
02509 explicit IArrayLineCapType(ArrayLineCapTypeRef arraylinecaptype);
02511 virtual ~IArrayLineCapType();
02514 ArrayLineCapTypeRef GetRef() const;
02517 bool IsNull() const;
02518
02519
02520
02521
02522
02525 ATETextDOM::Int32 GetSize( ) const;
02528 LineCapType GetFirst( ) const;
02531 LineCapType GetLast( ) const;
02532
02533
02534
02535
02536
02542 LineCapType Item( ATETextDOM::Int32 index) const;
02543
02544 };
02545
02547
02549
02551 class IArrayFigureStyle
02552 {
02553 private:
02554 ArrayFigureStyleRef fArrayFigureStyle;
02555 public:
02558 IArrayFigureStyle();
02562 IArrayFigureStyle(const IArrayFigureStyle& src);
02566 IArrayFigureStyle& operator=(const IArrayFigureStyle& rhs);
02570 bool operator==(const IArrayFigureStyle& rhs) const;
02574 bool operator!=(const IArrayFigureStyle& rhs) const;
02580 explicit IArrayFigureStyle(ArrayFigureStyleRef arrayfigurestyle);
02582 virtual ~IArrayFigureStyle();
02585 ArrayFigureStyleRef GetRef() const;
02588 bool IsNull() const;
02589
02590
02591
02592
02593
02596 ATETextDOM::Int32 GetSize( ) const;
02599 FigureStyle GetFirst( ) const;
02602 FigureStyle GetLast( ) const;
02603
02604
02605
02606
02607
02613 FigureStyle Item( ATETextDOM::Int32 index) const;
02614
02615 };
02616
02618
02620
02622 class IArrayLineJoinType
02623 {
02624 private:
02625 ArrayLineJoinTypeRef fArrayLineJoinType;
02626 public:
02629 IArrayLineJoinType();
02633 IArrayLineJoinType(const IArrayLineJoinType& src);
02637 IArrayLineJoinType& operator=(const IArrayLineJoinType& rhs);
02641 bool operator==(const IArrayLineJoinType& rhs) const;
02645 bool operator!=(const IArrayLineJoinType& rhs) const;
02651 explicit IArrayLineJoinType(ArrayLineJoinTypeRef arraylinejointype);
02653 virtual ~IArrayLineJoinType();
02656 ArrayLineJoinTypeRef GetRef() const;
02659 bool IsNull() const;
02660
02661
02662
02663
02664
02667 ATETextDOM::Int32 GetSize( ) const;
02670 LineJoinType GetFirst( ) const;
02673 LineJoinType GetLast( ) const;
02674
02675
02676
02677
02678
02684 LineJoinType Item( ATETextDOM::Int32 index) const;
02685
02686 };
02687
02689
02691
02693 class IArrayWariChuJustification
02694 {
02695 private:
02696 ArrayWariChuJustificationRef fArrayWariChuJustification;
02697 public:
02700 IArrayWariChuJustification();
02704 IArrayWariChuJustification(const IArrayWariChuJustification& src);
02708 IArrayWariChuJustification& operator=(const IArrayWariChuJustification& rhs);
02712 bool operator==(const IArrayWariChuJustification& rhs) const;
02716 bool operator!=(const IArrayWariChuJustification& rhs) const;
02722 explicit IArrayWariChuJustification(ArrayWariChuJustificationRef arraywarichujustification);
02724 virtual ~IArrayWariChuJustification();
02727 ArrayWariChuJustificationRef GetRef() const;
02730 bool IsNull() const;
02731
02732
02733
02734
02735
02738 ATETextDOM::Int32 GetSize( ) const;
02741 WariChuJustification GetFirst( ) const;
02744 WariChuJustification GetLast( ) const;
02745
02746
02747
02748
02749
02755 WariChuJustification Item( ATETextDOM::Int32 index) const;
02756
02757 };
02758
02760
02762
02764 class IArrayStyleRunAlignment
02765 {
02766 private:
02767 ArrayStyleRunAlignmentRef fArrayStyleRunAlignment;
02768 public:
02771 IArrayStyleRunAlignment();
02775 IArrayStyleRunAlignment(const IArrayStyleRunAlignment& src);
02779 IArrayStyleRunAlignment& operator=(const IArrayStyleRunAlignment& rhs);
02783 bool operator==(const IArrayStyleRunAlignment& rhs) const;
02787 bool operator!=(const IArrayStyleRunAlignment& rhs) const;
02793 explicit IArrayStyleRunAlignment(ArrayStyleRunAlignmentRef arraystylerunalignment);
02795 virtual ~IArrayStyleRunAlignment();
02798 ArrayStyleRunAlignmentRef GetRef() const;
02801 bool IsNull() const;
02802
02803
02804
02805
02806
02809 ATETextDOM::Int32 GetSize( ) const;
02812 StyleRunAlignment GetFirst( ) const;
02815 StyleRunAlignment GetLast( ) const;
02816
02817
02818
02819
02820
02826 StyleRunAlignment Item( ATETextDOM::Int32 index) const;
02827
02828 };
02829
02831
02833
02835 class IArrayAutoKernType
02836 {
02837 private:
02838 ArrayAutoKernTypeRef fArrayAutoKernType;
02839 public:
02842 IArrayAutoKernType();
02846 IArrayAutoKernType(const IArrayAutoKernType& src);
02850 IArrayAutoKernType& operator=(const IArrayAutoKernType& rhs);
02854 bool operator==(const IArrayAutoKernType& rhs) const;
02858 bool operator!=(const IArrayAutoKernType& rhs) const;
02864 explicit IArrayAutoKernType(ArrayAutoKernTypeRef arrayautokerntype);
02866 virtual ~IArrayAutoKernType();
02869 ArrayAutoKernTypeRef GetRef() const;
02872 bool IsNull() const;
02873
02874
02875
02876
02877
02880 ATETextDOM::Int32 GetSize( ) const;
02883 AutoKernType GetFirst( ) const;
02886 AutoKernType GetLast( ) const;
02887
02888
02889
02890
02891
02897 AutoKernType Item( ATETextDOM::Int32 index) const;
02898
02899 };
02900
02902
02904
02906 class IArrayBaselineDirection
02907 {
02908 private:
02909 ArrayBaselineDirectionRef fArrayBaselineDirection;
02910 public:
02913 IArrayBaselineDirection();
02917 IArrayBaselineDirection(const IArrayBaselineDirection& src);
02921 IArrayBaselineDirection& operator=(const IArrayBaselineDirection& rhs);
02925 bool operator==(const IArrayBaselineDirection& rhs) const;
02929 bool operator!=(const IArrayBaselineDirection& rhs) const;
02935 explicit IArrayBaselineDirection(ArrayBaselineDirectionRef arraybaselinedirection);
02937 virtual ~IArrayBaselineDirection();
02940 ArrayBaselineDirectionRef GetRef() const;
02943 bool IsNull() const;
02944
02945
02946
02947
02948
02951 ATETextDOM::Int32 GetSize( ) const;
02954 BaselineDirection GetFirst( ) const;
02957 BaselineDirection GetLast( ) const;
02958
02959
02960
02961
02962
02968 BaselineDirection Item( ATETextDOM::Int32 index) const;
02969
02970 };
02971
02973
02975
02977 class IArrayLanguage
02978 {
02979 private:
02980 ArrayLanguageRef fArrayLanguage;
02981 public:
02984 IArrayLanguage();
02988 IArrayLanguage(const IArrayLanguage& src);
02992 IArrayLanguage& operator=(const IArrayLanguage& rhs);
02996 bool operator==(const IArrayLanguage& rhs) const;
03000 bool operator!=(const IArrayLanguage& rhs) const;
03006 explicit IArrayLanguage(ArrayLanguageRef arraylanguage);
03008 virtual ~IArrayLanguage();
03011 ArrayLanguageRef GetRef() const;
03014 bool IsNull() const;
03015
03016
03017
03018
03019
03022 ATETextDOM::Int32 GetSize( ) const;
03025 Language GetFirst( ) const;
03028 Language GetLast( ) const;
03029
03030
03031
03032
03033
03039 Language Item( ATETextDOM::Int32 index) const;
03040
03041 };
03042
03044
03046
03048 class IArrayFontCapsOption
03049 {
03050 private:
03051 ArrayFontCapsOptionRef fArrayFontCapsOption;
03052 public:
03055 IArrayFontCapsOption();
03059 IArrayFontCapsOption(const IArrayFontCapsOption& src);
03063 IArrayFontCapsOption& operator=(const IArrayFontCapsOption& rhs);
03067 bool operator==(const IArrayFontCapsOption& rhs) const;
03071 bool operator!=(const IArrayFontCapsOption& rhs) const;
03077 explicit IArrayFontCapsOption(ArrayFontCapsOptionRef arrayfontcapsoption);
03079 virtual ~IArrayFontCapsOption();
03082 ArrayFontCapsOptionRef GetRef() const;
03085 bool IsNull() const;
03086
03087
03088
03089
03090
03093 ATETextDOM::Int32 GetSize( ) const;
03096 FontCapsOption GetFirst( ) const;
03099 FontCapsOption GetLast( ) const;
03100
03101
03102
03103
03104
03110 FontCapsOption Item( ATETextDOM::Int32 index) const;
03111
03112 };
03113
03115
03117
03119 class IArrayFontBaselineOption
03120 {
03121 private:
03122 ArrayFontBaselineOptionRef fArrayFontBaselineOption;
03123 public:
03126 IArrayFontBaselineOption();
03130 IArrayFontBaselineOption(const IArrayFontBaselineOption& src);
03134 IArrayFontBaselineOption& operator=(const IArrayFontBaselineOption& rhs);
03138 bool operator==(const IArrayFontBaselineOption& rhs) const;
03142 bool operator!=(const IArrayFontBaselineOption& rhs) const;
03148 explicit IArrayFontBaselineOption(ArrayFontBaselineOptionRef arrayfontbaselineoption);
03150 virtual ~IArrayFontBaselineOption();
03153 ArrayFontBaselineOptionRef GetRef() const;
03156 bool IsNull() const;
03157
03158
03159
03160
03161
03164 ATETextDOM::Int32 GetSize( ) const;
03167 FontBaselineOption GetFirst( ) const;
03170 FontBaselineOption GetLast( ) const;
03171
03172
03173
03174
03175
03181 FontBaselineOption Item( ATETextDOM::Int32 index) const;
03182
03183 };
03184
03186
03188
03190 class IArrayFontOpenTypePositionOption
03191 {
03192 private:
03193 ArrayFontOpenTypePositionOptionRef fArrayFontOpenTypePositionOption;
03194 public:
03197 IArrayFontOpenTypePositionOption();
03201 IArrayFontOpenTypePositionOption(const IArrayFontOpenTypePositionOption& src);
03205 IArrayFontOpenTypePositionOption& operator=(const IArrayFontOpenTypePositionOption& rhs);
03209 bool operator==(const IArrayFontOpenTypePositionOption& rhs) const;
03213 bool operator!=(const IArrayFontOpenTypePositionOption& rhs) const;
03219 explicit IArrayFontOpenTypePositionOption(ArrayFontOpenTypePositionOptionRef arrayfontopentypepositionoption);
03221 virtual ~IArrayFontOpenTypePositionOption();
03224 ArrayFontOpenTypePositionOptionRef GetRef() const;
03227 bool IsNull() const;
03228
03229
03230
03231
03232
03235 ATETextDOM::Int32 GetSize( ) const;
03238 FontOpenTypePositionOption GetFirst( ) const;
03241 FontOpenTypePositionOption GetLast( ) const;
03242
03243
03244
03245
03246
03252 FontOpenTypePositionOption Item( ATETextDOM::Int32 index) const;
03253
03254 };
03255
03257
03259
03261 class IArrayUnderlinePosition
03262 {
03263 private:
03264 ArrayUnderlinePositionRef fArrayUnderlinePosition;
03265 public:
03268 IArrayUnderlinePosition();
03272 IArrayUnderlinePosition(const IArrayUnderlinePosition& src);
03276 IArrayUnderlinePosition& operator=(const IArrayUnderlinePosition& rhs);
03280 bool operator==(const IArrayUnderlinePosition& rhs) const;
03284 bool operator!=(const IArrayUnderlinePosition& rhs) const;
03290 explicit IArrayUnderlinePosition(ArrayUnderlinePositionRef arrayunderlineposition);
03292 virtual ~IArrayUnderlinePosition();
03295 ArrayUnderlinePositionRef GetRef() const;
03298 bool IsNull() const;
03299
03300
03301
03302
03303
03306 ATETextDOM::Int32 GetSize( ) const;
03309 UnderlinePosition GetFirst( ) const;
03312 UnderlinePosition GetLast( ) const;
03313
03314
03315
03316
03317
03323 UnderlinePosition Item( ATETextDOM::Int32 index) const;
03324
03325 };
03326
03328
03330
03332 class IArrayStrikethroughPosition
03333 {
03334 private:
03335 ArrayStrikethroughPositionRef fArrayStrikethroughPosition;
03336 public:
03339 IArrayStrikethroughPosition();
03343 IArrayStrikethroughPosition(const IArrayStrikethroughPosition& src);
03347 IArrayStrikethroughPosition& operator=(const IArrayStrikethroughPosition& rhs);
03351 bool operator==(const IArrayStrikethroughPosition& rhs) const;
03355 bool operator!=(const IArrayStrikethroughPosition& rhs) const;
03361 explicit IArrayStrikethroughPosition(ArrayStrikethroughPositionRef arraystrikethroughposition);
03363 virtual ~IArrayStrikethroughPosition();
03366 ArrayStrikethroughPositionRef GetRef() const;
03369 bool IsNull() const;
03370
03371
03372
03373
03374
03377 ATETextDOM::Int32 GetSize( ) const;
03380 StrikethroughPosition GetFirst( ) const;
03383 StrikethroughPosition GetLast( ) const;
03384
03385
03386
03387
03388
03394 StrikethroughPosition Item( ATETextDOM::Int32 index) const;
03395
03396 };
03397
03399
03401
03403 class IArrayParagraphJustification
03404 {
03405 private:
03406 ArrayParagraphJustificationRef fArrayParagraphJustification;
03407 public:
03410 IArrayParagraphJustification();
03414 IArrayParagraphJustification(const IArrayParagraphJustification& src);
03418 IArrayParagraphJustification& operator=(const IArrayParagraphJustification& rhs);
03422 bool operator==(const IArrayParagraphJustification& rhs) const;
03426 bool operator!=(const IArrayParagraphJustification& rhs) const;
03432 explicit IArrayParagraphJustification(ArrayParagraphJustificationRef arrayparagraphjustification);
03434 virtual ~IArrayParagraphJustification();
03437 ArrayParagraphJustificationRef GetRef() const;
03440 bool IsNull() const;
03441
03442
03443
03444
03445
03448 ATETextDOM::Int32 GetSize( ) const;
03451 ParagraphJustification GetFirst( ) const;
03454 ParagraphJustification GetLast( ) const;
03455
03456
03457
03458
03459
03465 ParagraphJustification Item( ATETextDOM::Int32 index) const;
03466
03467 };
03468
03470
03472
03473 class IArrayArrayReal
03474 {
03475 private:
03476 ArrayArrayRealRef fArrayArrayReal;
03477 public:
03480 IArrayArrayReal();
03484 IArrayArrayReal(const IArrayArrayReal& src);
03488 IArrayArrayReal& operator=(const IArrayArrayReal& rhs);
03492 bool operator==(const IArrayArrayReal& rhs) const;
03496 bool operator!=(const IArrayArrayReal& rhs) const;
03502 explicit IArrayArrayReal(ArrayArrayRealRef arrayarrayreal);
03504 virtual ~IArrayArrayReal();
03507 ArrayArrayRealRef GetRef() const;
03510 bool IsNull() const;
03511
03512
03513
03514
03515
03518 ATETextDOM::Int32 GetSize( ) const;
03521 IArrayReal GetFirst( ) const;
03524 IArrayReal GetLast( ) const;
03525
03526
03527
03528
03529
03535 IArrayReal Item( ATETextDOM::Int32 index) const;
03536
03537 };
03538
03540
03542
03544 class IArrayBurasagariType
03545 {
03546 private:
03547 ArrayBurasagariTypeRef fArrayBurasagariType;
03548 public:
03551 IArrayBurasagariType();
03555 IArrayBurasagariType(const IArrayBurasagariType& src);
03559 IArrayBurasagariType& operator=(const IArrayBurasagariType& rhs);
03563 bool operator==(const IArrayBurasagariType& rhs) const;
03567 bool operator!=(const IArrayBurasagariType& rhs) const;
03573 explicit IArrayBurasagariType(ArrayBurasagariTypeRef arrayburasagaritype);
03575 virtual ~IArrayBurasagariType();
03578 ArrayBurasagariTypeRef GetRef() const;
03581 bool IsNull() const;
03582
03583
03584
03585
03586
03589 ATETextDOM::Int32 GetSize( ) const;
03592 BurasagariType GetFirst( ) const;
03595 BurasagariType GetLast( ) const;
03596
03597
03598
03599
03600
03606 BurasagariType Item( ATETextDOM::Int32 index) const;
03607
03608 };
03609
03611
03613
03615 class IArrayPreferredKinsokuOrder
03616 {
03617 private:
03618 ArrayPreferredKinsokuOrderRef fArrayPreferredKinsokuOrder;
03619 public:
03622 IArrayPreferredKinsokuOrder();
03626 IArrayPreferredKinsokuOrder(const IArrayPreferredKinsokuOrder& src);
03630 IArrayPreferredKinsokuOrder& operator=(const IArrayPreferredKinsokuOrder& rhs);
03634 bool operator==(const IArrayPreferredKinsokuOrder& rhs) const;
03638 bool operator!=(const IArrayPreferredKinsokuOrder& rhs) const;
03644 explicit IArrayPreferredKinsokuOrder(ArrayPreferredKinsokuOrderRef arraypreferredkinsokuorder);
03646 virtual ~IArrayPreferredKinsokuOrder();
03649 ArrayPreferredKinsokuOrderRef GetRef() const;
03652 bool IsNull() const;
03653
03654
03655
03656
03657
03660 ATETextDOM::Int32 GetSize( ) const;
03663 PreferredKinsokuOrder GetFirst( ) const;
03666 PreferredKinsokuOrder GetLast( ) const;
03667
03668
03669
03670
03671
03677 PreferredKinsokuOrder Item( ATETextDOM::Int32 index) const;
03678
03679 };
03680
03682
03684
03685 class IArrayKinsokuRef
03686 {
03687 private:
03688 ArrayKinsokuRefRef fArrayKinsokuRef;
03689 public:
03692 IArrayKinsokuRef();
03696 IArrayKinsokuRef(const IArrayKinsokuRef& src);
03700 IArrayKinsokuRef& operator=(const IArrayKinsokuRef& rhs);
03704 bool operator==(const IArrayKinsokuRef& rhs) const;
03708 bool operator!=(const IArrayKinsokuRef& rhs) const;
03714 explicit IArrayKinsokuRef(ArrayKinsokuRefRef arraykinsokuref);
03716 virtual ~IArrayKinsokuRef();
03719 ArrayKinsokuRefRef GetRef() const;
03722 bool IsNull() const;
03723
03724
03725
03726
03727
03730 ATETextDOM::Int32 GetSize( ) const;
03733 IKinsoku GetFirst( ) const;
03736 IKinsoku GetLast( ) const;
03737
03738
03739
03740
03741
03747 IKinsoku Item( ATETextDOM::Int32 index) const;
03748
03749 };
03750
03752
03754
03755 class IArrayMojiKumiRef
03756 {
03757 private:
03758 ArrayMojiKumiRefRef fArrayMojiKumiRef;
03759 public:
03762 IArrayMojiKumiRef();
03766 IArrayMojiKumiRef(const IArrayMojiKumiRef& src);
03770 IArrayMojiKumiRef& operator=(const IArrayMojiKumiRef& rhs);
03774 bool operator==(const IArrayMojiKumiRef& rhs) const;
03778 bool operator!=(const IArrayMojiKumiRef& rhs) const;
03784 explicit IArrayMojiKumiRef(ArrayMojiKumiRefRef arraymojikumiref);
03786 virtual ~IArrayMojiKumiRef();
03789 ArrayMojiKumiRefRef GetRef() const;
03792 bool IsNull() const;
03793
03794
03795
03796
03797
03800 ATETextDOM::Int32 GetSize( ) const;
03803 IMojiKumi GetFirst( ) const;
03806 IMojiKumi GetLast( ) const;
03807
03808
03809
03810
03811
03817 IMojiKumi Item( ATETextDOM::Int32 index) const;
03818
03819 };
03820
03822
03824
03825 class IArrayMojiKumiSetRef
03826 {
03827 private:
03828 ArrayMojiKumiSetRefRef fArrayMojiKumiSetRef;
03829 public:
03832 IArrayMojiKumiSetRef();
03836 IArrayMojiKumiSetRef(const IArrayMojiKumiSetRef& src);
03840 IArrayMojiKumiSetRef& operator=(const IArrayMojiKumiSetRef& rhs);
03844 bool operator==(const IArrayMojiKumiSetRef& rhs) const;
03848 bool operator!=(const IArrayMojiKumiSetRef& rhs) const;
03854 explicit IArrayMojiKumiSetRef(ArrayMojiKumiSetRefRef arraymojikumisetref);
03856 virtual ~IArrayMojiKumiSetRef();
03859 ArrayMojiKumiSetRefRef GetRef() const;
03862 bool IsNull() const;
03863
03864
03865
03866
03867
03870 ATETextDOM::Int32 GetSize( ) const;
03873 IMojiKumiSet GetFirst( ) const;
03876 IMojiKumiSet GetLast( ) const;
03877
03878
03879
03880
03881
03887 IMojiKumiSet Item( ATETextDOM::Int32 index) const;
03888
03889 };
03890
03892
03894
03895 class IArrayTabStopsRef
03896 {
03897 private:
03898 ArrayTabStopsRefRef fArrayTabStopsRef;
03899 public:
03902 IArrayTabStopsRef();
03906 IArrayTabStopsRef(const IArrayTabStopsRef& src);
03910 IArrayTabStopsRef& operator=(const IArrayTabStopsRef& rhs);
03914 bool operator==(const IArrayTabStopsRef& rhs) const;
03918 bool operator!=(const IArrayTabStopsRef& rhs) const;
03924 explicit IArrayTabStopsRef(ArrayTabStopsRefRef arraytabstopsref);
03926 virtual ~IArrayTabStopsRef();
03929 ArrayTabStopsRefRef GetRef() const;
03932 bool IsNull() const;
03933
03934
03935
03936
03937
03940 ATETextDOM::Int32 GetSize( ) const;
03943 ITabStops GetFirst( ) const;
03946 ITabStops GetLast( ) const;
03947
03948
03949
03950
03951
03957 ITabStops Item( ATETextDOM::Int32 index) const;
03958
03959 };
03960
03962
03964
03966 class IArrayLeadingType
03967 {
03968 private:
03969 ArrayLeadingTypeRef fArrayLeadingType;
03970 public:
03973 IArrayLeadingType();
03977 IArrayLeadingType(const IArrayLeadingType& src);
03981 IArrayLeadingType& operator=(const IArrayLeadingType& rhs);
03985 bool operator==(const IArrayLeadingType& rhs) const;
03989 bool operator!=(const IArrayLeadingType& rhs) const;
03995 explicit IArrayLeadingType(ArrayLeadingTypeRef arrayleadingtype);
03997 virtual ~IArrayLeadingType();
04000 ArrayLeadingTypeRef GetRef() const;
04003 bool IsNull() const;
04004
04005
04006
04007
04008
04011 ATETextDOM::Int32 GetSize( ) const;
04014 LeadingType GetFirst( ) const;
04017 LeadingType GetLast( ) const;
04018
04019
04020
04021
04022
04028 LeadingType Item( ATETextDOM::Int32 index) const;
04029
04030 };
04031
04033
04035
04036 class IArrayFontRef
04037 {
04038 private:
04039 ArrayFontRefRef fArrayFontRef;
04040 public:
04043 IArrayFontRef();
04047 IArrayFontRef(const IArrayFontRef& src);
04051 IArrayFontRef& operator=(const IArrayFontRef& rhs);
04055 bool operator==(const IArrayFontRef& rhs) const;
04059 bool operator!=(const IArrayFontRef& rhs) const;
04065 explicit IArrayFontRef(ArrayFontRefRef arrayfontref);
04067 virtual ~IArrayFontRef();
04070 ArrayFontRefRef GetRef() const;
04073 bool IsNull() const;
04074
04075
04076
04077
04078
04081 ATETextDOM::Int32 GetSize( ) const;
04084 IFont GetFirst( ) const;
04087 IFont GetLast( ) const;
04088
04089
04090
04091
04092
04098 IFont Item( ATETextDOM::Int32 index) const;
04099
04100 };
04101
04103
04105
04106 class IArrayGlyphID
04107 {
04108 private:
04109 ArrayGlyphIDRef fArrayGlyphID;
04110 public:
04113 IArrayGlyphID();
04117 IArrayGlyphID(const IArrayGlyphID& src);
04121 IArrayGlyphID& operator=(const IArrayGlyphID& rhs);
04125 bool operator==(const IArrayGlyphID& rhs) const;
04129 bool operator!=(const IArrayGlyphID& rhs) const;
04135 explicit IArrayGlyphID(ArrayGlyphIDRef arrayglyphid);
04137 virtual ~IArrayGlyphID();
04140 ArrayGlyphIDRef GetRef() const;
04143 bool IsNull() const;
04144
04145
04146
04147
04148
04151 ATETextDOM::Int32 GetSize( ) const;
04154 ATEGlyphID GetFirst( ) const;
04157 ATEGlyphID GetLast( ) const;
04158
04159
04160
04161
04162
04168 ATEGlyphID Item( ATETextDOM::Int32 index) const;
04169
04170 };
04171
04173
04175
04177 class IArrayRealPoint
04178 {
04179 private:
04180 ArrayRealPointRef fArrayRealPoint;
04181 public:
04184 IArrayRealPoint();
04188 IArrayRealPoint(const IArrayRealPoint& src);
04192 IArrayRealPoint& operator=(const IArrayRealPoint& rhs);
04196 bool operator==(const IArrayRealPoint& rhs) const;
04200 bool operator!=(const IArrayRealPoint& rhs) const;
04206 explicit IArrayRealPoint(ArrayRealPointRef arrayrealpoint);
04208 virtual ~IArrayRealPoint();
04211 ArrayRealPointRef GetRef() const;
04214 bool IsNull() const;
04215
04216
04217
04218
04219
04222 ATETextDOM::Int32 GetSize( ) const;
04225 ATETextDOM::RealPoint GetFirst( ) const;
04228 ATETextDOM::RealPoint GetLast( ) const;
04229
04230
04231
04232
04233
04239 ATETextDOM::RealPoint Item( ATETextDOM::Int32 index) const;
04240
04241 };
04242
04244
04246
04247 class IArrayRealMatrix
04248 {
04249 private:
04250 ArrayRealMatrixRef fArrayRealMatrix;
04251 public:
04254 IArrayRealMatrix();
04258 IArrayRealMatrix(const IArrayRealMatrix& src);
04262 IArrayRealMatrix& operator=(const IArrayRealMatrix& rhs);
04266 bool operator==(const IArrayRealMatrix& rhs) const;
04270 bool operator!=(const IArrayRealMatrix& rhs) const;
04276 explicit IArrayRealMatrix(ArrayRealMatrixRef arrayrealmatrix);
04278 virtual ~IArrayRealMatrix();
04281 ArrayRealMatrixRef GetRef() const;
04284 bool IsNull() const;
04285
04286
04287
04288
04289
04292 ATETextDOM::Int32 GetSize( ) const;
04295 ATETextDOM::RealMatrix GetFirst( ) const;
04298 ATETextDOM::RealMatrix GetLast( ) const;
04299
04300
04301
04302
04303
04309 ATETextDOM::RealMatrix Item( ATETextDOM::Int32 index) const;
04310
04311 };
04312
04314
04316
04319 class IArrayLine
04320 {
04321 private:
04322 ArrayLineRef fArrayLine;
04323 public:
04326 IArrayLine();
04330 IArrayLine(const IArrayLine& src);
04334 IArrayLine& operator=(const IArrayLine& rhs);
04338 bool operator==(const IArrayLine& rhs) const;
04342 bool operator!=(const IArrayLine& rhs) const;
04348 explicit IArrayLine(ArrayLineRef ArrayLineRef);
04350 virtual ~IArrayLine();
04353 ArrayLineRef GetRef() const;
04356 bool IsNull() const;
04357
04358
04359
04360
04361
04364 ATETextDOM::Int32 GetSize( ) const;
04365
04366
04367
04368
04376 void Item( ATETextDOM::Int32 index, ATETextDOM::FloatPoint* lineStart, ATETextDOM::FloatPoint* lineEnd) const;
04377 };
04378
04380
04382
04384 class IArrayComposerEngine
04385 {
04386 private:
04387 ArrayComposerEngineRef fArrayComposerEngine;
04388 public:
04391 IArrayComposerEngine();
04395 IArrayComposerEngine(const IArrayComposerEngine& src);
04399 IArrayComposerEngine& operator=(const IArrayComposerEngine& rhs);
04403 bool operator==(const IArrayComposerEngine& rhs) const;
04407 bool operator!=(const IArrayComposerEngine& rhs) const;
04413 explicit IArrayComposerEngine(ArrayComposerEngineRef arraycomposerengine);
04415 virtual ~IArrayComposerEngine();
04418 ArrayComposerEngineRef GetRef() const;
04421 bool IsNull() const;
04422
04423
04424
04425
04426
04429 ATETextDOM::Int32 GetSize( ) const;
04432 ComposerEngine GetFirst( ) const;
04435 ComposerEngine GetLast( ) const;
04436
04437
04438
04439
04440
04446 ComposerEngine Item( ATETextDOM::Int32 index) const;
04447
04448 };
04449 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
04451 // --IArrayParagraphDirection--
04453
04455 class IArrayParagraphDirection
04456 {
04457 private:
04458 ArrayParagraphDirectionRef fArrayParagraphDirection;
04459 public:
04462 IArrayParagraphDirection();
04466 IArrayParagraphDirection(const IArrayParagraphDirection& src);
04470 IArrayParagraphDirection& operator=(const IArrayParagraphDirection& rhs);
04474 bool operator==(const IArrayParagraphDirection& rhs) const;
04478 bool operator!=(const IArrayParagraphDirection& rhs) const;
04484 explicit IArrayParagraphDirection(ArrayParagraphDirectionRef arrayparagraphdirection);
04486 virtual ~IArrayParagraphDirection();
04489 ArrayParagraphDirectionRef GetRef() const;
04492 bool IsNull() const;
04493
04494
04495
04496
04497
04500 ATETextDOM::Int32 GetSize( ) const;
04503 ParagraphDirection GetFirst( ) const;
04506 ParagraphDirection GetLast( ) const;
04507
04508
04509
04510
04511
04517 ParagraphDirection Item( ATETextDOM::Int32 index) const;
04518
04519 };
04520
04522
04524
04526 class IArrayJustificationMethod
04527 {
04528 private:
04529 ArrayJustificationMethodRef fArrayJustificationMethod;
04530 public:
04533 IArrayJustificationMethod();
04537 IArrayJustificationMethod(const IArrayJustificationMethod& src);
04541 IArrayJustificationMethod& operator=(const IArrayJustificationMethod& rhs);
04545 bool operator==(const IArrayJustificationMethod& rhs) const;
04549 bool operator!=(const IArrayJustificationMethod& rhs) const;
04555 explicit IArrayJustificationMethod(ArrayJustificationMethodRef arrayjustificationmethod);
04557 virtual ~IArrayJustificationMethod();
04560 ArrayJustificationMethodRef GetRef() const;
04563 bool IsNull() const;
04564
04565
04566
04567
04568
04571 ATETextDOM::Int32 GetSize( ) const;
04574 JustificationMethod GetFirst( ) const;
04577 JustificationMethod GetLast( ) const;
04578
04579
04580
04581
04582
04588 JustificationMethod Item( ATETextDOM::Int32 index) const;
04589
04590 };
04591
04593
04595
04597 class IArrayKashidaWidth
04598 {
04599 private:
04600 ArrayKashidaWidthRef fArrayKashidaWidth;
04601 public:
04604 IArrayKashidaWidth();
04608 IArrayKashidaWidth(const IArrayKashidaWidth& src);
04612 IArrayKashidaWidth& operator=(const IArrayKashidaWidth& rhs);
04616 bool operator==(const IArrayKashidaWidth& rhs) const;
04620 bool operator!=(const IArrayKashidaWidth& rhs) const;
04626 explicit IArrayKashidaWidth(ArrayKashidaWidthRef arraykashidawidth);
04628 virtual ~IArrayKashidaWidth();
04631 ArrayKashidaWidthRef GetRef() const;
04634 bool IsNull() const;
04635
04636
04637
04638
04639
04642 ATETextDOM::Int32 GetSize( ) const;
04645 KashidaWidth GetFirst( ) const;
04648 KashidaWidth GetLast( ) const;
04649
04650
04651
04652
04653
04659 KashidaWidth Item( ATETextDOM::Int32 index) const;
04660
04661 };
04662
04664
04666
04668 class IArrayKashidas
04669 {
04670 private:
04671 ArrayKashidasRef fArrayKashidas;
04672 public:
04675 IArrayKashidas();
04679 IArrayKashidas(const IArrayKashidas& src);
04683 IArrayKashidas& operator=(const IArrayKashidas& rhs);
04687 bool operator==(const IArrayKashidas& rhs) const;
04691 bool operator!=(const IArrayKashidas& rhs) const;
04697 explicit IArrayKashidas(ArrayKashidasRef arraykashidas);
04699 virtual ~IArrayKashidas();
04702 ArrayKashidasRef GetRef() const;
04705 bool IsNull() const;
04706
04707
04708
04709
04710
04713 ATETextDOM::Int32 GetSize( ) const;
04716 Kashidas GetFirst( ) const;
04719 Kashidas GetLast( ) const;
04720
04721
04722
04723
04724
04730 Kashidas Item( ATETextDOM::Int32 index) const;
04731
04732 };
04733
04735
04737
04739 class IArrayDirOverride
04740 {
04741 private:
04742 ArrayDirOverrideRef fArrayDirOverride;
04743 public:
04746 IArrayDirOverride();
04750 IArrayDirOverride(const IArrayDirOverride& src);
04754 IArrayDirOverride& operator=(const IArrayDirOverride& rhs);
04758 bool operator==(const IArrayDirOverride& rhs) const;
04762 bool operator!=(const IArrayDirOverride& rhs) const;
04768 explicit IArrayDirOverride(ArrayDirOverrideRef arraydiroverride);
04770 virtual ~IArrayDirOverride();
04773 ArrayDirOverrideRef GetRef() const;
04776 bool IsNull() const;
04777
04778
04779
04780
04781
04784 ATETextDOM::Int32 GetSize( ) const;
04787 DirOverride GetFirst( ) const;
04790 DirOverride GetLast( ) const;
04791
04792
04793
04794
04795
04801 DirOverride Item( ATETextDOM::Int32 index) const;
04802
04803 };
04804
04806
04808
04810 class IArrayDigitSet
04811 {
04812 private:
04813 ArrayDigitSetRef fArrayDigitSet;
04814 public:
04817 IArrayDigitSet();
04821 IArrayDigitSet(const IArrayDigitSet& src);
04825 IArrayDigitSet& operator=(const IArrayDigitSet& rhs);
04829 bool operator==(const IArrayDigitSet& rhs) const;
04833 bool operator!=(const IArrayDigitSet& rhs) const;
04839 explicit IArrayDigitSet(ArrayDigitSetRef arraydigitset);
04841 virtual ~IArrayDigitSet();
04844 ArrayDigitSetRef GetRef() const;
04847 bool IsNull() const;
04848
04849
04850
04851
04852
04855 ATETextDOM::Int32 GetSize( ) const;
04858 DigitSet GetFirst( ) const;
04861 DigitSet GetLast( ) const;
04862
04863
04864
04865
04866
04872 DigitSet Item( ATETextDOM::Int32 index) const;
04873
04874 };
04875
04877
04879
04881 class IArrayDiacVPos
04882 {
04883 private:
04884 ArrayDiacVPosRef fArrayDiacVPos;
04885 public:
04888 IArrayDiacVPos();
04892 IArrayDiacVPos(const IArrayDiacVPos& src);
04896 IArrayDiacVPos& operator=(const IArrayDiacVPos& rhs);
04900 bool operator==(const IArrayDiacVPos& rhs) const;
04904 bool operator!=(const IArrayDiacVPos& rhs) const;
04910 explicit IArrayDiacVPos(ArrayDiacVPosRef arraydiacvpos);
04912 virtual ~IArrayDiacVPos();
04915 ArrayDiacVPosRef GetRef() const;
04918 bool IsNull() const;
04919
04920
04921
04922
04923
04926 ATETextDOM::Int32 GetSize( ) const;
04929 DiacVPos GetFirst( ) const;
04932 DiacVPos GetLast( ) const;
04933
04934
04935
04936
04937
04943 DiacVPos Item( ATETextDOM::Int32 index) const;
04944
04945 };
04946 #endif
04947
04948
04950
04952
04974 class ICharFeatures
04975 {
04976 private:
04977 CharFeaturesRef fCharFeatures;
04978 public:
04982 ICharFeatures();
04986 ICharFeatures(const ICharFeatures& src);
04990 ICharFeatures& operator=(const ICharFeatures& rhs);
04994 bool operator==(const ICharFeatures& rhs) const;
04998 bool operator!=(const ICharFeatures& rhs) const;
05004 explicit ICharFeatures(CharFeaturesRef charfeatures);
05006 virtual ~ICharFeatures();
05009 CharFeaturesRef GetRef() const;
05012 bool IsNull() const;
05013
05016 ICharFeatures Clone( ) const;
05017
05019
05021
05026 IFont GetFont( bool* isAssigned) const;
05031 ATETextDOM::Real GetFontSize( bool* isAssigned) const;
05036 ATETextDOM::Real GetHorizontalScale( bool* isAssigned) const;
05041 ATETextDOM::Real GetVerticalScale( bool* isAssigned) const;
05046 bool GetAutoLeading( bool* isAssigned) const;
05051 ATETextDOM::Real GetLeading( bool* isAssigned) const;
05056 ATETextDOM::Int32 GetTracking( bool* isAssigned) const;
05061 ATETextDOM::Real GetBaselineShift( bool* isAssigned) const;
05066 ATETextDOM::Real GetCharacterRotation( bool* isAssigned) const;
05075 AutoKernType GetAutoKernType( bool* isAssigned) const;
05076
05081 FontCapsOption GetFontCapsOption( bool* isAssigned) const;
05086 FontBaselineOption GetFontBaselineOption( bool* isAssigned) const;
05091 FontOpenTypePositionOption GetFontOpenTypePositionOption( bool* isAssigned) const;
05096 StrikethroughPosition GetStrikethroughPosition( bool* isAssigned) const;
05101 UnderlinePosition GetUnderlinePosition( bool* isAssigned) const;
05106 ATETextDOM::Real GetUnderlineOffset( bool* isAssigned) const;
05107
05108
05109
05114 bool GetLigature( bool* isAssigned) const;
05119 bool GetDiscretionaryLigatures( bool* isAssigned) const;
05124 bool GetContextualLigatures( bool* isAssigned) const;
05129 bool GetAlternateLigatures( bool* isAssigned) const;
05134 bool GetOldStyle( bool* isAssigned) const;
05139 bool GetFractions( bool* isAssigned) const;
05144 bool GetOrdinals( bool* isAssigned) const;
05149 bool GetSwash( bool* isAssigned) const;
05154 bool GetTitling( bool* isAssigned) const;
05159 bool GetConnectionForms( bool* isAssigned) const;
05164 bool GetStylisticAlternates( bool* isAssigned) const;
05169 bool GetOrnaments( bool* isAssigned) const;
05174 FigureStyle GetFigureStyle( bool* isAssigned) const;
05175
05176
05177
05182 bool GetProportionalMetrics( bool* isAssigned) const;
05187 bool GetKana( bool* isAssigned) const;
05192 bool GetRuby( bool* isAssigned) const;
05197 bool GetItalics( bool* isAssigned) const;
05202 BaselineDirection GetBaselineDirection( bool* isAssigned) const;
05207 Language GetLanguage( bool* isAssigned) const;
05212 JapaneseAlternateFeature GetJapaneseAlternateFeature( bool* isAssigned) const;
05217 ATETextDOM::Real GetTsume( bool* isAssigned) const;
05222 StyleRunAlignment GetStyleRunAlignment( bool* isAssigned) const;
05223
05224
05225
05230 bool GetWariChuEnabled( bool* isAssigned) const;
05235 ATETextDOM::Int32 GetWariChuLineCount( bool* isAssigned) const;
05240 ATETextDOM::Int32 GetWariChuLineGap( bool* isAssigned) const;
05245 ATETextDOM::Real GetWariChuScale( bool* isAssigned) const;
05250 ATETextDOM::Real GetWariChuSize( bool* isAssigned) const;
05255 ATETextDOM::Int32 GetWariChuWidowAmount( bool* isAssigned) const;
05260 ATETextDOM::Int32 GetWariChuOrphanAmount( bool* isAssigned) const;
05265 WariChuJustification GetWariChuJustification( bool* isAssigned) const;
05270 ATETextDOM::Int32 GetTCYUpDownAdjustment( bool* isAssigned) const;
05275 ATETextDOM::Int32 GetTCYLeftRightAdjustment( bool* isAssigned) const;
05280 ATETextDOM::Real GetLeftAki( bool* isAssigned) const;
05285 ATETextDOM::Real GetRightAki( bool* isAssigned) const;
05286
05287
05288
05293 bool GetNoBreak( bool* isAssigned) const;
05298 IApplicationPaint GetFillColor( bool* isAssigned) const;
05303 IApplicationPaint GetStrokeColor( bool* isAssigned) const;
05308 bool GetFill( bool* isAssigned) const;
05313 bool GetFillVisible( bool* isAssigned) const;
05318 bool GetStroke( bool* isAssigned) const;
05323 bool GetStrokeVisible( bool* isAssigned) const;
05328 bool GetFillFirst( bool* isAssigned) const;
05333 bool GetFillOverPrint( bool* isAssigned) const;
05338 bool GetStrokeOverPrint( bool* isAssigned) const;
05343 IApplicationPaint GetFillBackgroundColor( bool* isAssigned) const;
05348 bool GetFillBackground( bool* isAssigned) const;
05353 LineCapType GetLineCap( bool* isAssigned) const;
05358 LineJoinType GetLineJoin( bool* isAssigned) const;
05363 ATETextDOM::Real GetLineWidth( bool* isAssigned) const;
05368 ATETextDOM::Real GetMiterLimit( bool* isAssigned) const;
05373 ATETextDOM::Real GetLineDashOffset( bool* isAssigned) const;
05378 IArrayReal GetLineDashArray( bool* isAssigned) const;
05379
05380 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
05381
05382
05383
05384
05390 Kashidas GetKashidas( bool* isAssigned) const;
05396 DirOverride GetDirOverride( bool* isAssigned) const;
05402 DigitSet GetDigitSet( bool* isAssigned) const;
05409 DiacVPos GetDiacVPos( bool* isAssigned) const;
05416 ATETextDOM::Real GetDiacXOffset( bool* isAssigned) const;
05423 ATETextDOM::Real GetDiacYOffset( bool* isAssigned) const;
05429 bool GetAutoMydfb( bool* isAssigned) const;
05436 ATETextDOM::Real GetMarkYDistFromBaseline( bool* isAssigned) const;
05443 bool GetOverlapSwash( bool* isAssigned) const;
05450 bool GetJustificationAlternates( bool* isAssigned) const;
05456 bool GetStretchedAlternates( bool* isAssigned) const;
05457 #endif
05458
05460
05462
05467 void SetFont( IFont newVal);
05472 void SetFontSize( ATETextDOM::Real newVal);
05477 void SetHorizontalScale( ATETextDOM::Real newVal);
05482 void SetVerticalScale( ATETextDOM::Real newVal);
05487 void SetAutoLeading( bool newVal);
05492 void SetLeading( ATETextDOM::Real newVal);
05497 void SetTracking( ATETextDOM::Int32 newVal);
05502 void SetBaselineShift( ATETextDOM::Real newVal);
05507 void SetCharacterRotation( ATETextDOM::Real newVal);
05513 void SetAutoKernType( AutoKernType newVal);
05518 void SetFontCapsOption( FontCapsOption newVal);
05523 void SetFontBaselineOption( FontBaselineOption newVal);
05528 void SetFontOpenTypePositionOption( FontOpenTypePositionOption newVal);
05533 void SetStrikethroughPosition( StrikethroughPosition newVal);
05538 void SetUnderlinePosition( UnderlinePosition newVal);
05543 void SetUnderlineOffset( ATETextDOM::Real newVal);
05544
05545
05546
05551 void SetLigature( bool newVal);
05556 void SetDiscretionaryLigatures( bool newVal);
05561 void SetContextualLigatures( bool newVal);
05566 void SetAlternateLigatures( bool newVal);
05571 void SetOldStyle( bool newVal);
05576 void SetFractions( bool newVal);
05581 void SetOrdinals( bool newVal);
05586 void SetSwash( bool newVal);
05591 void SetTitling( bool newVal);
05596 void SetConnectionForms( bool newVal);
05601 void SetStylisticAlternates( bool newVal);
05606 void SetOrnaments( bool newVal);
05611 void SetFigureStyle( FigureStyle newVal);
05612
05613
05614
05618 void SetProportionalMetrics( bool newVal);
05622 void SetKana( bool newVal);
05626 void SetItalics( bool newVal);
05630 void SetRuby( bool newVal);
05634 void SetBaselineDirection( BaselineDirection newVal);
05638 void SetLanguage( Language newVal);
05642 void SetJapaneseAlternateFeature( JapaneseAlternateFeature newVal);
05646 void SetTsume( ATETextDOM::Real newVal);
05650 void SetStyleRunAlignment( StyleRunAlignment newVal);
05651
05652
05653
05657 void SetWariChuEnabled( bool newVal);
05661 void SetWariChuLineCount( ATETextDOM::Int32 newVal);
05665 void SetWariChuLineGap( ATETextDOM::Int32 newVal);
05669 void SetWariChuScale( ATETextDOM::Real newVal);
05673 void SetWariChuSize( ATETextDOM::Real newVal);
05677 void SetWariChuWidowAmount( ATETextDOM::Int32 newVal);
05681 void SetWariChuOrphanAmount( ATETextDOM::Int32 newVal);
05685 void SetWariChuJustification( WariChuJustification newVal);
05689 void SetTCYUpDownAdjustment( ATETextDOM::Int32 newVal);
05693 void SetTCYLeftRightAdjustment( ATETextDOM::Int32 newVal);
05697 void SetLeftAki( ATETextDOM::Real newVal);
05701 void SetRightAki( ATETextDOM::Real newVal);
05702
05703
05704
05708 void SetNoBreak( bool newVal);
05712 void SetFillColor( IApplicationPaint newVal);
05716 void SetStrokeColor( IApplicationPaint newVal);
05720 void SetFill( bool newVal);
05724 void SetFillVisible( bool newVal);
05728 void SetStroke( bool newVal);
05732 void SetStrokeVisible( bool newVal);
05736 void SetFillFirst( bool newVal);
05740 void SetFillOverPrint( bool newVal);
05744 void SetStrokeOverPrint( bool newVal);
05748 void SetFillBackgroundColor( IApplicationPaint newVal);
05752 void SetFillBackground( bool newVal);
05756 void SetLineCap( LineCapType newVal);
05760 void SetLineJoin( LineJoinType newVal);
05764 void SetLineWidth( ATETextDOM::Real newVal);
05768 void SetMiterLimit( ATETextDOM::Real newVal);
05772 void SetLineDashOffset( ATETextDOM::Real newVal);
05776 void SetLineDashArray( IArrayReal newVal);
05777
05778 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
05779
05780
05781
05782
05787 void SetKashidas( Kashidas newVal);
05792 void SetDirOverride( DirOverride newVal);
05797 void SetDigitSet( DigitSet newVal);
05802 void SetDiacVPos( DiacVPos newVal);
05807 void SetDiacXOffset( ATETextDOM::Real newVal);
05812 void SetDiacYOffset( ATETextDOM::Real newVal);
05817 void SetAutoMydfb( bool newVal);
05822 void SetMarkYDistFromBaseline( ATETextDOM::Real newVal);
05827 void SetOverlapSwash( bool newVal);
05832 void SetJustificationAlternates( bool newVal);
05837 void SetStretchedAlternates( bool newVal);
05838 #endif
05839
05840
05841
05842
05843
05846 void ClearFont( );
05849 void ClearFontSize( );
05852 void ClearHorizontalScale( );
05855 void ClearVerticalScale( );
05858 void ClearAutoLeading( );
05861 void ClearLeading( );
05864 void ClearTracking( );
05867 void ClearBaselineShift( );
05870 void ClearCharacterRotation( );
05874 void ClearAutoKernType( );
05877 void ClearFontCapsOption( );
05880 void ClearFontBaselineOption( );
05883 void ClearFontOpenTypePositionOption( );
05886 void ClearStrikethroughPosition( );
05889 void ClearUnderlinePosition( );
05892 void ClearUnderlineOffset( );
05893
05894
05895
05898 void ClearLigature( );
05901 void ClearDiscretionaryLigatures( );
05904 void ClearContextualLigatures( );
05907 void ClearAlternateLigatures( );
05910 void ClearOldStyle( );
05913 void ClearFractions( );
05916 void ClearOrdinals( );
05919 void ClearSwash( );
05922 void ClearTitling( );
05925 void ClearConnectionForms( );
05928 void ClearStylisticAlternates( );
05931 void ClearOrnaments( );
05934 void ClearFigureStyle( );
05935
05936
05937
05940 void ClearProportionalMetrics( );
05943 void ClearKana( );
05946 void ClearItalics( );
05949 void ClearRuby( );
05952 void ClearBaselineDirection( );
05955 void ClearLanguage( );
05958 void ClearJapaneseAlternateFeature( );
05961 void ClearTsume( );
05964 void ClearStyleRunAlignment( );
05965
05966
05967
05970 void ClearWariChuEnabled( );
05973 void ClearWariChuLineCount( );
05976 void ClearWariChuLineGap( );
05979 void ClearWariChuSubLineAmount( );
05982 void ClearWariChuWidowAmount( );
05985 void ClearWariChuOrphanAmount( );
05988 void ClearWariChuJustification( );
05991 void ClearTCYUpDownAdjustment( );
05994 void ClearTCYLeftRightAdjustment( );
05997 void ClearLeftAki( );
06000 void ClearRightAki( );
06001
06002
06003
06006 void ClearNoBreak( );
06009 void ClearFillColor( );
06012 void ClearStrokeColor( );
06015 void ClearFill( );
06018 void ClearFillVisible( );
06021 void ClearStroke( );
06024 void ClearStrokeVisible( );
06027 void ClearFillFirst( );
06030 void ClearFillOverPrint( );
06033 void ClearStrokeOverPrint( );
06036 void ClearFillBackgroundColor( );
06039 void ClearFillBackground( );
06042 void ClearLineCap( );
06045 void ClearLineJoin( );
06048 void ClearLineWidth( );
06051 void ClearMiterLimit( );
06054 void ClearLineDashOffset( );
06057 void ClearLineDashArray( );
06058
06059 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
06060
06061
06062
06063
06067 void ClearKashidas( );
06071 void ClearDirOverride( );
06075 void ClearDigitSet( );
06079 void ClearDiacVPos( );
06083 void ClearDiacXOffset( );
06087 void ClearDiacYOffset( );
06091 void ClearAutoMydfb( );
06095 void ClearMarkYDistFromBaseline( );
06099 void ClearOverlapSwash( );
06103 void ClearJustificationAlternates( );
06107 void ClearStretchedAlternates( );
06108 #endif
06109
06111
06113
06120 bool IntersectFeatures( ICharFeatures rhs);
06125 bool ReplaceOrAddFeatures( ICharFeatures rhs);
06130 bool UnassignEachIfEqual( ICharFeatures rhs);
06131
06134 bool IsEachNotAssigned( ) const;
06137 bool IsEachAssigned( ) const;
06138
06139 };
06140
06142
06144
06155 class ICharInspector
06156 {
06157 private:
06158 CharInspectorRef fCharInspector;
06159 public:
06163 ICharInspector();
06167 ICharInspector(const ICharInspector& src);
06171 ICharInspector& operator=(const ICharInspector& rhs);
06175 bool operator==(const ICharInspector& rhs) const;
06179 bool operator!=(const ICharInspector& rhs) const;
06185 explicit ICharInspector(CharInspectorRef charinspector);
06187 virtual ~ICharInspector();
06190 CharInspectorRef GetRef() const;
06193 bool IsNull() const;
06194
06195
06196
06197
06198
06201 IArrayFontRef GetFont( ) const;
06204 IArrayReal GetFontSize( ) const;
06207 IArrayReal GetHorizontalScale( ) const;
06210 IArrayReal GetVerticalScale( ) const;
06213 IArrayBool GetSyntheticBold( ) const;
06216 IArrayBool GetSyntheticItalic( ) const;
06219 IArrayBool GetAutoLeading( ) const;
06222 IArrayReal GetLeading( ) const;
06225 IArrayInteger GetTracking( ) const;
06228 IArrayReal GetBaselineShift( ) const;
06231 IArrayReal GetCharacterRotation( ) const;
06234 IArrayFontCapsOption GetFontCapsOption( ) const;
06237 IArrayFontBaselineOption GetFontBaselineOption( ) const;
06240 IArrayFontOpenTypePositionOption GetFontOpenTypePositionOption( ) const;
06243 IArrayStrikethroughPosition GetStrikethroughPosition( ) const;
06246 IArrayUnderlinePosition GetUnderlinePosition( ) const;
06249 IArrayReal GetUnderlineOffset( ) const;
06250
06251
06252
06253
06256 IArrayBool GetLigature( ) const;
06259 IArrayBool GetDiscretionaryLigatures( ) const;
06262 IArrayBool GetContextualLigatures( ) const;
06265 IArrayBool GetAlternateLigatures( ) const;
06268 IArrayBool GetOldStyle( ) const;
06271 IArrayBool GetFractions( ) const;
06274 IArrayBool GetOrdinals( ) const;
06277 IArrayBool GetSwash( ) const;
06280 IArrayBool GetTitling( ) const;
06283 IArrayBool GetConnectionForms( ) const;
06286 IArrayBool GetStylisticAlternates( ) const;
06289 IArrayBool GetOrnaments( ) const;
06292 IArrayFigureStyle GetFigureStyle( ) const;
06293
06294
06295
06298 IArrayBool GetProportionalMetrics( ) const;
06301 IArrayBool GetKana( ) const;
06304 IArrayBool GetItalics( ) const;
06307 IArrayBool GetRuby( ) const;
06310 IArrayBaselineDirection GetBaselineDirection( ) const;
06313 IArrayLanguage GetLanguage( ) const;
06316 IArrayReal GetTsume( ) const;
06319 IArrayStyleRunAlignment GetStyleRunAlignment( ) const;
06320
06321
06322
06325 IArrayInteger GetWariChuLineCount( ) const;
06328 IArrayInteger GetWariChuLineGap( ) const;
06331 IArrayReal GetWariChuScale( ) const;
06334 IArrayReal GetWariChuSize( ) const;
06337 IArrayInteger GetWariChuWidowAmount( ) const;
06340 IArrayInteger GetWariChuOrphanAmount( ) const;
06343 IArrayWariChuJustification GetWariChuJustification( ) const;
06346 IArrayBool GetWariChuEnabled( ) const;
06349 IArrayInteger GetTCYUpDownAdjustment( ) const;
06352 IArrayInteger GetTCYLeftRightAdjustment( ) const;
06355 IArrayReal GetLeftAki( ) const;
06358 IArrayReal GetRightAki( ) const;
06359
06360
06361
06362
06363
06366 IArrayBool GetNoBreak( ) const;
06369 IArrayApplicationPaintRef GetFillColor( ) const;
06372 IArrayApplicationPaintRef GetStrokeColor( ) const;
06375 IArrayBool GetFill( ) const;
06378 IArrayBool GetFillVisible( ) const;
06381 IArrayBool GetStroke( ) const;
06384 IArrayBool GetStrokeVisible( ) const;
06387 IArrayBool GetFillFirst( ) const;
06390 IArrayBool GetFillOverPrint( ) const;
06393 IArrayBool GetStrokeOverPrint( ) const;
06396 IArrayApplicationPaintRef GetFillBackgroundColor( ) const;
06399 IArrayBool GetFillBackground( ) const;
06402 IArrayLineCapType GetLineCap( ) const;
06405 IArrayLineJoinType GetLineJoin( ) const;
06408 IArrayReal GetLineWidth( ) const;
06411 IArrayReal GetMiterLimit( ) const;
06414 IArrayReal GetLineDashOffset( ) const;
06417 IArrayArrayReal GetLineDashArray( ) const;
06418
06419 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
06420
06421
06422
06423
06427 IArrayKashidas GetKashidas( ) const;
06431 IArrayDirOverride GetDirOverride( ) const;
06435 IArrayDigitSet GetDigitSet( ) const;
06439 IArrayDiacVPos GetDiacVPos( ) const;
06443 IArrayReal GetDiacXOffset( ) const;
06447 IArrayReal GetDiacYOffset( ) const;
06451 IArrayBool GetAutoMydfb( ) const;
06455 IArrayReal GetMarkYDistFromBaseline( ) const;
06459 IArrayBool GetOverlapSwash( ) const;
06463 IArrayBool GetJustificationAlternates( ) const;
06467 IArrayBool GetStretchedAlternates( ) const;
06468 #endif
06469
06470 };
06471
06473
06475
06491 class ICharStyle
06492 {
06493 private:
06494 CharStyleRef fCharStyle;
06495 public:
06499 ICharStyle();
06503 ICharStyle(const ICharStyle& src);
06507 ICharStyle& operator=(const ICharStyle& rhs);
06511 bool operator==(const ICharStyle& rhs) const;
06515 bool operator!=(const ICharStyle& rhs) const;
06521 explicit ICharStyle(CharStyleRef charstyle);
06523 virtual ~ICharStyle();
06526 CharStyleRef GetRef() const;
06529 bool IsNull() const;
06530
06531
06532
06533
06534
06540 ATETextDOM::Int32 GetName( ATETextDOM::Unicode* pName, ATETextDOM::Int32 maxLength) const;
06546 bool SetName( const ATETextDOM::Unicode* pName);
06550 ICharStyle GetParent( ) const;
06556 bool SetParent( const ICharStyle pStyle);
06560 bool HasParent( ) const;
06564 ICharFeatures GetFeatures( ) const;
06571 void SetFeatures( ICharFeatures pFeatures);
06579 void ReplaceOrAddFeatures( ICharFeatures pFeatures);
06580
06581 };
06582
06584
06586
06590 class ICharStyles
06591 {
06592 private:
06593 CharStylesRef fCharStyles;
06594 public:
06597 ICharStyles();
06601 ICharStyles(const ICharStyles& src);
06605 ICharStyles& operator=(const ICharStyles& rhs);
06609 bool operator==(const ICharStyles& rhs) const;
06613 bool operator!=(const ICharStyles& rhs) const;
06619 explicit ICharStyles(CharStylesRef charstyles);
06621 virtual ~ICharStyles();
06624 CharStylesRef GetRef() const;
06627 bool IsNull() const;
06628
06629
06630
06631
06632
06635 bool IsEmpty( ) const;
06636
06639 ATETextDOM::Int32 GetSize( ) const;
06640
06645 void ShowAllStyles( ) const;
06650 void ShowOnlyUnreferencedStyles( ) const;
06656 void ShowOnlyStylesReferencedIn( ITextRange pRange) const;
06662 void MoveStyleTo( ICharStyle pStyle, ATETextDOM::Int32 position);
06663
06664 };
06665
06667
06669
06672 class ICharStylesIterator
06673 {
06674 private:
06675 CharStylesIteratorRef fCharStylesIterator;
06676 public:
06679 ICharStylesIterator();
06683 ICharStylesIterator(const ICharStylesIterator& src);
06687 ICharStylesIterator& operator=(const ICharStylesIterator& rhs);
06691 bool operator==(const ICharStylesIterator& rhs) const;
06695 bool operator!=(const ICharStylesIterator& rhs) const;
06701 explicit ICharStylesIterator(CharStylesIteratorRef charstylesiterator);
06703 virtual ~ICharStylesIterator();
06706 CharStylesIteratorRef GetRef() const;
06709 bool IsNull() const;
06710
06717 ICharStylesIterator( ICharStyles pStyles, Direction direction = kForward);
06718
06719
06720
06721
06724 bool IsNotDone( ) const;
06727 bool IsDone( ) const;
06730 bool IsEmpty( ) const;
06733 void MoveToFirst( );
06736 void MoveToLast( );
06739 void Next( );
06742 void Previous( );
06745 ICharStyle Item( ) const;
06746
06747 };
06748
06750
06752
06769 class IFind
06770 {
06771 private:
06772 FindRef fFind;
06773 public:
06776 IFind();
06780 IFind(const IFind& src);
06784 IFind& operator=(const IFind& rhs);
06788 bool operator==(const IFind& rhs) const;
06792 bool operator!=(const IFind& rhs) const;
06798 explicit IFind(FindRef find);
06800 virtual ~IFind();
06803 FindRef GetRef() const;
06806 bool IsNull() const;
06807
06808
06809
06810
06815 Direction GetSearchDirection( ) const;
06820 bool GetIgnoreCase( ) const;
06824 bool GetWholeWord( ) const;
06828 bool GetWrap( ) const;
06832 bool GetFindWordsOutOfBounds( ) const;
06833
06834 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
06835
06838 bool GetIgnoreAccents( ) const;
06842 bool GetIgnoreKashidas( ) const;
06843 #endif
06844
06849 void SetSearchDirection( Direction newValue);
06855 void SetIgnoreCase( bool newValue);
06861 void SetWholeWord( bool newValue);
06867 void SetWrap( bool newValue);
06873 void SetFindWordsOutOfBounds( bool newValue);
06874
06875 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
06876
06880 void SetIgnoreAccents( bool newValue);
06885 void SetIgnoreKashidas( bool newValue);
06886 #endif
06887
06892 SearchScope GetSearchScope( ) const;
06898 void SetSearchScope( SearchScope searchScope);
06905 void SetSearchRange( ITextRange pRange);
06911 void SetSearchChars( ATETextDOM::Unicode* pSearchChars);
06918 void GetSearchChars( ATETextDOM::Unicode* pSearchChars, ATETextDOM::Int32 length) const;
06924 void SetReplaceChars( ATETextDOM::Unicode* pSearchChars);
06932 void GetReplaceChars( ATETextDOM::Unicode* pSearchChars, ATETextDOM::Int32 length) const;
06933
06934 void Reset( );
06935
06936
06937
06938
06944 bool FindMatch( ITextRange pTextRange);
06945
06952 bool FindNextMatch( ITextRange pTextRange);
06953
06965 bool ReplaceMatch( ITextRange pTextRange, bool findNext);
06966
06968 bool FindAndReplaceAllMatches( ATETextDOM::Int32* pReplaceCount);
06969
06980 void GetPreReplaceAllSettings( ATETextDOM::Int32* pCurrentPoint, ATETextDOM::Int32* pStartPoint) const;
06981
06989 void RestorePreReplaceAllSettings( const ATETextDOM::Int32 currentPoint, const ATETextDOM::Int32 startPoint);
06990
06991 };
06992
06994
06996
07000 class IFont
07001 {
07002 private:
07003 FontRef fFont;
07004 public:
07007 IFont();
07011 IFont(const IFont& src);
07015 IFont& operator=(const IFont& rhs);
07019 bool operator==(const IFont& rhs) const;
07023 bool operator!=(const IFont& rhs) const;
07029 explicit IFont(FontRef font);
07031 virtual ~IFont();
07034 FontRef GetRef() const;
07037 bool IsNull() const;
07038
07039
07040
07041
07045 bool IsCoolTypeTechnology( ) const;
07046
07052 bool IsVerticalRomanGlyphsOnSideByDefault( bool withItalics, StyleRunAlignment characterAlignment) const;
07053
07056 void* GetCTFontDict( );
07057
07058 };
07059
07061
07063
07066 class IGlyph
07067 {
07068 private:
07069 GlyphRef fGlyph;
07070 public:
07073 IGlyph();
07077 IGlyph(const IGlyph& src);
07081 IGlyph& operator=(const IGlyph& rhs);
07085 bool operator==(const IGlyph& rhs) const;
07089 bool operator!=(const IGlyph& rhs) const;
07095 explicit IGlyph(GlyphRef glyph);
07097 virtual ~IGlyph();
07100 GlyphRef GetRef() const;
07103 bool IsNull() const;
07104
07105
07106
07107
07108
07111 ATEGlyphID GetGlyphID( ) const;
07114 IGlyphs GetAlternateGlyphs( ) const;
07120 void GetOTFeatures( char** otFeatures, ATETextDOM::Int32* otFeatureCount, ATETextDOM::Int32** otFeatureIndex);
07121
07122
07123 };
07124
07126
07128
07132 class IGlyphs
07133 {
07134 private:
07135 GlyphsRef fGlyphs;
07136 public:
07139 IGlyphs();
07143 IGlyphs(const IGlyphs& src);
07147 IGlyphs& operator=(const IGlyphs& rhs);
07151 bool operator==(const IGlyphs& rhs) const;
07155 bool operator!=(const IGlyphs& rhs) const;
07161 explicit IGlyphs(GlyphsRef glyphs);
07163 virtual ~IGlyphs();
07166 GlyphsRef GetRef() const;
07169 bool IsNull() const;
07170
07171
07172
07175 ATETextDOM::Int32 GetSize( );
07178 IGlyph GetFirst( );
07181 IGlyph GetLast( );
07182
07185 ITextRanges GetTextRanges( ) const;
07188 ITextRanges GetTextSelection( ) const;
07192 IParagraphsIterator GetParagraphsIterator( ) const;
07196 ITextRunsIterator GetTextRunsIterator( ) const;
07200 IWordsIterator GetWordsIterator( ) const;
07201
07202
07203
07211 void Add( const IGlyph& glyph);
07217 IGlyph Item( ATETextDOM::Int32 nIndex) const;
07220 void RemoveAll( );
07224 void Remove( ATETextDOM::Int32 nIndex);
07225
07226 };
07227
07229
07231
07233 class IGlyphsIterator
07234 {
07235 private:
07236 GlyphsIteratorRef fGlyphsIterator;
07237 public:
07240 IGlyphsIterator();
07244 IGlyphsIterator(const IGlyphsIterator& src);
07248 IGlyphsIterator& operator=(const IGlyphsIterator& rhs);
07252 bool operator==(const IGlyphsIterator& rhs) const;
07256 bool operator!=(const IGlyphsIterator& rhs) const;
07262 explicit IGlyphsIterator(GlyphsIteratorRef glyphsiterator);
07264 virtual ~IGlyphsIterator();
07267 GlyphsIteratorRef GetRef() const;
07270 bool IsNull() const;
07271
07278 IGlyphsIterator( IGlyphs glyphs, Direction direction = kForward);
07279
07280
07281
07282
07285 bool IsNotDone( ) const;
07288 bool IsDone( ) const;
07291 bool IsEmpty( ) const;
07294 IGlyph GetFirst( );
07297 IGlyph GetLast( );
07300 IGlyph GetNext( );
07303 IGlyph Item( ) const;
07306 void Next( );
07309 void Previous( );
07310
07311 };
07312
07314
07316
07320 class IKinsoku
07321 {
07322 private:
07323 KinsokuRef fKinsoku;
07324 public:
07327 IKinsoku();
07331 IKinsoku(const IKinsoku& src);
07335 IKinsoku& operator=(const IKinsoku& rhs);
07339 bool operator==(const IKinsoku& rhs) const;
07343 bool operator!=(const IKinsoku& rhs) const;
07349 explicit IKinsoku(KinsokuRef kinsoku);
07351 virtual ~IKinsoku();
07354 KinsokuRef GetRef() const;
07357 bool IsNull() const;
07358
07359
07360
07361
07366 ATETextDOM::Int32 GetName( ATETextDOM::Unicode* name, ATETextDOM::Int32 maxLength) const;
07369 ATETextDOM::Int32 GetNameSize( ) const;
07373 void SetName( const ATETextDOM::Unicode* name);
07378 bool MatchesPredefinedResourceTag( ATE::KinsokuPredefinedTag tag) const;
07383 ATETextDOM::Int32 GetNoStartCharSet( ATETextDOM::Unicode* noStartCharSet, ATETextDOM::Int32 maxLength) const;
07386 ATETextDOM::Int32 GetNoStartCharSetSize( ) const;
07390 void SetNoStartCharSet( const ATETextDOM::Unicode* noStartCharSet);
07395 ATETextDOM::Int32 GetNoEndCharSet( ATETextDOM::Unicode* noEndCharSet, ATETextDOM::Int32 maxLength) const;
07398 ATETextDOM::Int32 GetNoEndCharSetSize( ) const;
07402 void SetNoEndCharSet( const ATETextDOM::Unicode* noEndCharSet);
07407 ATETextDOM::Int32 GetNoBreakCharSet( ATETextDOM::Unicode* noBreakCharSet, ATETextDOM::Int32 maxLength) const;
07410 ATETextDOM::Int32 GetNoBreakCharSetSize( ) const;
07414 void SetNoBreakCharSet( const ATETextDOM::Unicode* noBreakCharSet);
07419 ATETextDOM::Int32 GetHangingCharSet( ATETextDOM::Unicode* hangingCharSet, ATETextDOM::Int32 maxLength) const;
07422 ATETextDOM::Int32 GetHangingCharSetSize( ) const;
07426 void SetHangingCharSet( const ATETextDOM::Unicode* hangingCharSet);
07427
07428
07429
07430
07434 bool IsNoStartChar( ATETextDOM::Unicode character) const;
07438 bool IsNoEndChar( ATETextDOM::Unicode character) const;
07442 bool IsNoBreakChar( ATETextDOM::Unicode character) const;
07446 bool IsHangingChar( ATETextDOM::Unicode character) const;
07447
07450
07453 bool IsEquivalent( IKinsoku rhsKinsoku) const;
07456 bool IsModified( ) const;
07459 bool IsPredefined( ) const;
07462 IKinsoku Duplicate( ) const;
07463
07464 };
07465
07467
07469
07471 class IKinsokuSet
07472 {
07473 private:
07474 KinsokuSetRef fKinsokuSet;
07475 public:
07478 IKinsokuSet();
07482 IKinsokuSet(const IKinsokuSet& src);
07486 IKinsokuSet& operator=(const IKinsokuSet& rhs);
07490 bool operator==(const IKinsokuSet& rhs) const;
07494 bool operator!=(const IKinsokuSet& rhs) const;
07500 explicit IKinsokuSet(KinsokuSetRef kinsokuset);
07502 virtual ~IKinsokuSet();
07505 KinsokuSetRef GetRef() const;
07508 bool IsNull() const;
07509
07510
07511
07512
07515 ATETextDOM::Int32 GetSize( );
07518 IKinsoku GetFirst( );
07521 IKinsoku GetLast( );
07522
07523
07524
07525
07531 IKinsoku Item( ATETextDOM::Int32 nIndex) const;
07537 ATETextDOM::Int32 Find( IKinsoku kinsoku);
07543 ATETextDOM::Int32 Find( const ATETextDOM::Unicode* name);
07550 ATETextDOM::Int32 Find( KinsokuPredefinedTag tag);
07554 bool Remove( ATETextDOM::Int32 nIndex);
07562 ATETextDOM::Int32 Add( IKinsoku kinsoku);
07568 bool Replace( ATETextDOM::Int32 nIndex, IKinsoku kinsoku);
07569
07570 };
07571
07573
07575
07590 class IParaFeatures
07591 {
07592 private:
07593 ParaFeaturesRef fParaFeatures;
07594 public:
07598 IParaFeatures();
07602 IParaFeatures(const IParaFeatures& src);
07606 IParaFeatures& operator=(const IParaFeatures& rhs);
07610 bool operator==(const IParaFeatures& rhs) const;
07614 bool operator!=(const IParaFeatures& rhs) const;
07620 explicit IParaFeatures(ParaFeaturesRef parafeatures);
07622 virtual ~IParaFeatures();
07625 ParaFeaturesRef GetRef() const;
07628 bool IsNull() const;
07631 IParaFeatures Clone( ) const;
07632
07633
07634
07635
07640 ParagraphJustification GetJustification( bool* isAssigned) const;
07645 ATETextDOM::Real GetFirstLineIndent( bool* isAssigned) const;
07650 ATETextDOM::Real GetStartIndent( bool* isAssigned) const;
07655 ATETextDOM::Real GetEndIndent( bool* isAssigned) const;
07660 ATETextDOM::Real GetSpaceBefore( bool* isAssigned) const;
07665 ATETextDOM::Real GetSpaceAfter( bool* isAssigned) const;
07666
07667
07668
07673 bool GetAutoHyphenate( bool* isAssigned) const;
07678 ATETextDOM::Int32 GetHyphenatedWordSize( bool* isAssigned) const;
07683 ATETextDOM::Int32 GetPreHyphenSize( bool* isAssigned) const;
07688 ATETextDOM::Int32 GetPostHyphenSize( bool* isAssigned) const;
07693 ATETextDOM::Int32 GetConsecutiveHyphenLimit( bool* isAssigned) const;
07698 ATETextDOM::Real GetHyphenationZone( bool* isAssigned) const;
07703 bool GetHyphenateCapitalized( bool* isAssigned) const;
07708 ATETextDOM::Real GetHyphenationPreference( bool* isAssigned) const;
07709
07710
07711
07716 ATETextDOM::Real GetDesiredWordSpacing( bool* isAssigned) const;
07721 ATETextDOM::Real GetMaxWordSpacing( bool* isAssigned) const;
07726 ATETextDOM::Real GetMinWordSpacing( bool* isAssigned) const;
07731 ATETextDOM::Real GetDesiredLetterSpacing( bool* isAssigned) const;
07736 ATETextDOM::Real GetMaxLetterSpacing( bool* isAssigned) const;
07741 ATETextDOM::Real GetMinLetterSpacing( bool* isAssigned) const;
07746 ATETextDOM::Real GetDesiredGlyphScaling( bool* isAssigned) const;
07751 ATETextDOM::Real GetMaxGlyphScaling( bool* isAssigned) const;
07756 ATETextDOM::Real GetMinGlyphScaling( bool* isAssigned) const;
07761 ParagraphJustification GetSingleWordJustification( bool* isAssigned) const;
07766 ATETextDOM::Real GetAutoLeadingPercentage( bool* isAssigned) const;
07771 LeadingType GetLeadingType( bool* isAssigned) const;
07776 ITabStops GetTabStops( bool* isAssigned) const;
07781 ATETextDOM::Real GetDefaultTabWidth( bool* isAssigned) const;
07782
07783
07784
07789 bool GetHangingRoman( bool* isAssigned) const;
07794 ATETextDOM::Int32 GetAutoTCY( bool* isAssigned) const;
07799 bool GetBunriKinshi( bool* isAssigned) const;
07804 BurasagariType GetBurasagariType( bool* isAssigned) const;
07809 PreferredKinsokuOrder GetPreferredKinsokuOrder( bool* isAssigned) const;
07814 bool GetKurikaeshiMojiShori( bool* isAssigned) const;
07819 IKinsoku GetKinsoku( bool* isAssigned) const;
07824 IMojiKumi GetMojiKumi( bool* isAssigned) const;
07825
07826
07827
07832 bool GetEveryLineComposer( bool* isAssigned) const;
07837 ICharFeatures GetDefaultCharFeatures( bool* isAssigned) const;
07838
07839 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
07840
07841
07842
07848 ATE::ParagraphDirection GetParagraphDirection( bool* isAssigned) const;
07854 ATE::JustificationMethod GetJustificationMethod( bool* isAssigned) const;
07860 ATE::KashidaWidth GetKashidaWidth( bool* isAssigned) const;
07861 #endif
07862
07867 ATE::ComposerEngine GetComposerEngine( bool* isAssigned ) const;
07868
07869
07870
07871
07872
07873
07874
07878 void SetJustification( ParagraphJustification newVal);
07882 void SetFirstLineIndent( ATETextDOM::Real newVal);
07886 void SetStartIndent( ATETextDOM::Real newVal);
07890 void SetEndIndent( ATETextDOM::Real newVal);
07894 void SetSpaceBefore( ATETextDOM::Real newVal);
07898 void SetSpaceAfter( ATETextDOM::Real newVal);
07899
07900
07901
07905 void SetAutoHyphenate( bool newVal);
07909 void SetHyphenatedWordSize( ATETextDOM::Int32 newVal);
07913 void SetPreHyphenSize( ATETextDOM::Int32 newVal);
07917 void SetPostHyphenSize( ATETextDOM::Int32 newVal);
07921 void SetConsecutiveHyphenLimit( ATETextDOM::Int32 newVal);
07925 void SetHyphenationZone( ATETextDOM::Real newVal);
07929 void SetHyphenateCapitalized( bool newVal);
07933 void SetHyphenationPreference( ATETextDOM::Real newVal);
07934
07935
07936
07940 void SetDesiredWordSpacing( ATETextDOM::Real newVal);
07944 void SetMaxWordSpacing( ATETextDOM::Real newVal);
07948 void SetMinWordSpacing( ATETextDOM::Real newVal);
07952 void SetDesiredLetterSpacing( ATETextDOM::Real newVal);
07956 void SetMaxLetterSpacing( ATETextDOM::Real newVal);
07960 void SetMinLetterSpacing( ATETextDOM::Real newVal);
07964 void SetDesiredGlyphScaling( ATETextDOM::Real newVal);
07968 void SetMaxGlyphScaling( ATETextDOM::Real newVal);
07972 void SetMinGlyphScaling( ATETextDOM::Real newVal);
07976 void SetSingleWordJustification( ParagraphJustification newVal);
07980 void SetAutoLeadingPercentage( ATETextDOM::Real newVal);
07984 void SetLeadingType( LeadingType newVal);
07988 void SetTabStops( ITabStops newVal);
07992 void SetDefaultTabWidth( ATETextDOM::Real newVal);
07993
07994
07995
07999 void SetHangingRoman( bool newVal);
08003 void SetAutoTCY( ATETextDOM::Int32 newVal);
08007 void SetBunriKinshi( bool newVal);
08011 void SetBurasagariType( BurasagariType newVal);
08015 void SetPreferredKinsokuOrder( PreferredKinsokuOrder newVal);
08019 void SetKurikaeshiMojiShori( bool newVal);
08023 void SetKinsoku( IKinsoku newVal);
08027 void SetMojiKumi( IMojiKumi newVal);
08028
08029
08030
08034 void SetEveryLineComposer( bool newVal);
08038 void SetDefaultCharFeatures( ICharFeatures newVal);
08039
08040 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
08041
08042
08043
08048 void SetParagraphDirection( ATE::ParagraphDirection newVal);
08053 void SetJustificationMethod( ATE::JustificationMethod newVal);
08058 void SetKashidaWidth( ATE::KashidaWidth newVal);
08059 #endif
08060
08064 void SetComposerEngine( ATE::ComposerEngine newVal);
08065
08066
08067
08068
08069
08070
08071
08074 void ClearJustification( );
08077 void ClearFirstLineIndent( );
08080 void ClearStartIndent( );
08083 void ClearEndIndent( );
08086 void ClearSpaceBefore( );
08089 void ClearSpaceAfter( );
08090
08091
08092
08095 void ClearAutoHyphenate( );
08098 void ClearHyphenatedWordSize( );
08101 void ClearPreHyphenSize( );
08104 void ClearPostHyphenSize( );
08107 void ClearConsecutiveHyphenLimit( );
08110 void ClearHyphenationZone( );
08113 void ClearHyphenateCapitalized( );
08116 void ClearHyphenationPreference( );
08117
08118
08119
08122 void ClearWordSpacing( );
08125 void ClearLetterSpacing( );
08128 void ClearGlyphScaling( );
08131 void ClearSingleWordJustification( );
08134 void ClearAutoLeadingPercentage( );
08137 void ClearLeadingType( );
08140 void ClearTabStops( );
08141
08142
08143
08146 void ClearHangingRoman( );
08149 void ClearAutoTCY( );
08152 void ClearBunriKinshi( );
08155 void ClearBurasagariType( );
08158 void ClearPreferredKinsokuOrder( );
08161 void ClearKurikaeshiMojiShori( );
08164 void ClearKinsoku( );
08167 void ClearMojiKumi( );
08168
08169
08170
08173 void ClearEveryLineComposer( );
08176 void ClearDefaultCharFeatures( );
08177
08178 #if SLO_COMPLEXSCRIPT // Available for use in Middle Eastern versions of the product only.
08179
08180
08181
08185 void ClearParagraphDirection( );
08189 void ClearJustificationMethod( );
08193 void ClearKashidaWidth( );
08194 #endif
08195
08198 void ClearComposerEngine( );
08199
08201
08203
08210 bool IntersectFeatures( IParaFeatures rhs);
08215 bool ReplaceOrAddFeatures( IParaFeatures rhs);
08220 bool UnassignEachIfEqual( const IParaFeatures rhs);
08221
08224 bool IsEachNotAssigned( ) const;
08227 bool IsEachAssigned( ) const;
08228
08229 };
08230
08232
08234
08244 class IParagraph
08245 {
08246 private:
08247 ParagraphRef fParagraph;
08248 public:
08251 IParagraph();
08255 IParagraph(const IParagraph& src);
08259 IParagraph& operator=(const IParagraph& rhs);
08263 bool operator==(const IParagraph& rhs) const;
08267 bool operator!=(const IParagraph& rhs) const;
08273 explicit IParagraph(ParagraphRef paragraph);
08275 virtual ~IParagraph();
08278 ParagraphRef GetRef() const;
08281 bool IsNull() const;
08282
08283
08284
08285
08288 ATETextDOM::Int32 GetLength( );
08289
08292 IStory GetStory( );
08295 ITextRange GetTextRange( );
08298 ITextRanges GetTextRanges( );
08301 ITextRanges GetTextSelection( );
08304 IWordsIterator GetWordsIterator( );
08305
08306
08307
08310 IParagraph GetNext( );
08313 IParagraph GetPrev( );
08318 ATETextDOM::ATETextDomErr GetContents( ATETextDOM::Unicode* text, ATETextDOM::Int32 maxLength);
08323 ATETextDOM::ATETextDomErr GetContents( char* text, ATETextDOM::Int32 maxLength);
08324
08325 };
08326
08328
08330
08336 class IParagraphsIterator
08337 {
08338 private:
08339 ParagraphsIteratorRef fParagraphsIterator;
08340 public:
08343 IParagraphsIterator();
08347 IParagraphsIterator(const IParagraphsIterator& src);
08351 IParagraphsIterator& operator=(const IParagraphsIterator& rhs);
08355 bool operator==(const IParagraphsIterator& rhs) const;
08359 bool operator!=(const IParagraphsIterator& rhs) const;
08365 explicit IParagraphsIterator(ParagraphsIteratorRef paragraphsiterator);
08367 virtual ~IParagraphsIterator();
08370 ParagraphsIteratorRef GetRef() const;
08373 bool IsNull() const;
08374
08381 IParagraphsIterator( ITextRanges ranges, Direction direction = kForward);
08382
08383
08384
08387 bool IsDone( ) const;
08390 bool IsNotDone( ) const;
08393 bool IsEmpty( ) const;
08396 void MoveToFirst( );
08399 void MoveToLast( );
08402 void Next( );
08405 IParagraph Item( );
08406
08407 };
08408
08410
08412
08422 class IParaInspector
08423 {
08424 private:
08425 ParaInspectorRef fParaInspector;
08426 public:
08429 IParaInspector();
08433 IParaInspector(const IParaInspector& src);
08437 IParaInspector& operator=(const IParaInspector& rhs);
08441 bool operator==(const IParaInspector& rhs) const;
08445 bool operator!=(const IParaInspector& rhs) const;
08451 explicit IParaInspector(ParaInspectorRef parainspector);
08453 virtual ~IParaInspector();
08456 ParaInspectorRef GetRef() const;
08459 bool IsNull() const;
08460
08461
08462
08463
08466 IArrayParagraphJustification GetJustification( ) const;
08469 IArrayReal GetFirstLineIndent( ) const;
08472 IArrayReal GetStartIndent( ) const;
08475 IArrayReal GetEndIndent( ) const;
08478 IArrayReal GetSpaceBefore( ) const;
08481 IArrayReal GetSpaceAfter( ) const;
08482
08483
08484
08487 IArrayBool GetAutoHyphenate( ) const;
08490 IArrayInteger GetHyphenatedWordSize( ) const;
08493 IArrayInteger GetPreHyphenSize( ) const;
08496 IArrayInteger GetPostHyphenSize( ) const;
08499 IArrayInteger GetConsecutiveHyphenLimit( ) const;
08502 IArrayReal GetHyphenationZone( ) const;
08505 IArrayBool GetHyphenateCapitalized( ) const;
08508 IArrayReal GetHyphenationPreference( ) const;
08509
08510
08511
08514 IArrayReal GetDesiredWordSpacing( ) const;
08517 IArrayReal GetMaxWordSpacing( ) const;
08520 IArrayReal GetMinWordSpacing( ) const;
08523 IArrayReal GetDesiredLetterSpacing( ) const;
08526 IArrayReal GetMaxLetterSpacing( ) const;
08529 IArrayReal GetMinLetterSpacing( ) const;
08532 IArrayReal GetDesiredGlyphScaling( ) const;
08535 IArrayReal GetMaxGlyphScaling( ) const;
08538 IArrayReal GetMinGlyphScaling( ) const;
08541 IArrayParagraphJustification GetSingleWordJustification( ) const;
08544 IArrayReal GetAutoLeadingPercentage( ) const;
08547 IArrayLeadingType GetLeadingType( ) const;
08550 IArrayTabStopsRef GetTabStops( ) const;
08553 IArrayReal GetDefaultTabWidth( ) const;
08554
08555
08556
08559 IArrayBool GetHangingRoman( ) const;
08562 IArrayInteger GetAutoTCY( ) const;
08565 IArrayBool GetBunriKinshi( ) const;
08568 IArrayBurasagariType GetBurasagariType( ) const;
08571 IArrayPreferredKinsokuOrder GetPreferredKinsokuOrder( ) const;
08574 IArrayBool GetKurikaeshiMojiShori( ) const;
08577 IArrayKinsokuRef GetKinsoku( ) const;
08580 IArrayMojiKumiRef GetMojiKumi( ) const;
08581
08582
08583
08586 IArrayBool GetEveryLineComposer( ) const;
08587
08588 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
08589
08590
08591
08595 IArrayParagraphDirection GetParagraphDirection( ) const;
08599 IArrayJustificationMethod GetJustificationMethod( ) const;
08603 IArrayKashidaWidth GetKashidaWidth( ) const;
08604 #endif
08605
08608 IArrayComposerEngine GetComposerEngine( ) const;
08609
08610 };
08611
08613
08615
08631 class IParaStyle
08632 {
08633 private:
08634 ParaStyleRef fParaStyle;
08635 public:
08638 IParaStyle();
08642 IParaStyle(const IParaStyle& src);
08646 IParaStyle& operator=(const IParaStyle& rhs);
08650 bool operator==(const IParaStyle& rhs) const;
08654 bool operator!=(const IParaStyle& rhs) const;
08660 explicit IParaStyle(ParaStyleRef parastyle);
08662 virtual ~IParaStyle();
08665 ParaStyleRef GetRef() const;
08668 bool IsNull() const;
08669
08675 ATETextDOM::Int32 GetName( ATETextDOM::Unicode* pName, ATETextDOM::Int32 maxLength) const;
08681 bool SetName( const ATETextDOM::Unicode* pName);
08685 IParaStyle GetParent( ) const;
08691 bool SetParent( const IParaStyle pStyle);
08695 bool HasParent( ) const;
08699 IParaFeatures GetFeatures( ) const;
08706 void SetFeatures( IParaFeatures pFeatures);
08714 void ReplaceOrAddFeatures( IParaFeatures pFeatures);
08715
08716 };
08717
08719
08721
08725 class IParaStyles
08726 {
08727 private:
08728 ParaStylesRef fParaStyles;
08729 public:
08732 IParaStyles();
08736 IParaStyles(const IParaStyles& src);
08740 IParaStyles& operator=(const IParaStyles& rhs);
08744 bool operator==(const IParaStyles& rhs) const;
08748 bool operator!=(const IParaStyles& rhs) const;
08754 explicit IParaStyles(ParaStylesRef parastyles);
08756 virtual ~IParaStyles();
08759 ParaStylesRef GetRef() const;
08762 bool IsNull() const;
08763
08764
08765
08766
08769 bool IsEmpty( ) const;
08772 ATETextDOM::Int32 GetSize( ) const;
08777 void ShowAllStyles( ) const;
08782 void ShowOnlyUnreferencedStyles( ) const;
08788 void ShowOnlyStylesReferencedIn( ITextRange pRange) const;
08794 void MoveStyleTo( IParaStyle pStyle, ATETextDOM::Int32 position);
08795
08796 };
08797
08799
08801
08805 class IParaStylesIterator
08806 {
08807 private:
08808 ParaStylesIteratorRef fParaStylesIterator;
08809 public:
08812 IParaStylesIterator();
08816 IParaStylesIterator(const IParaStylesIterator& src);
08820 IParaStylesIterator& operator=(const IParaStylesIterator& rhs);
08824 bool operator==(const IParaStylesIterator& rhs) const;
08828 bool operator!=(const IParaStylesIterator& rhs) const;
08834 explicit IParaStylesIterator(ParaStylesIteratorRef parastylesiterator);
08836 virtual ~IParaStylesIterator();
08839 ParaStylesIteratorRef GetRef() const;
08842 bool IsNull() const;
08843
08850 IParaStylesIterator( IParaStyles paraStyles, Direction direction = kForward);
08851
08852
08853
08856 bool IsNotDone( ) const;
08859 bool IsDone( ) const;
08862 bool IsEmpty( ) const;
08865 void MoveToFirst( );
08868 void MoveToLast( );
08871 void Next( );
08874 void Previous( );
08877 IParaStyle Item( ) const;
08878
08879 };
08880
08882
08884
08901 class ISpell
08902 {
08903 private:
08904 SpellRef fSpell;
08905 public:
08908 ISpell();
08912 ISpell(const ISpell& src);
08916 ISpell& operator=(const ISpell& rhs);
08920 bool operator==(const ISpell& rhs) const;
08924 bool operator!=(const ISpell& rhs) const;
08930 explicit ISpell(SpellRef spell);
08932 virtual ~ISpell();
08935 SpellRef GetRef() const;
08938 bool IsNull() const;
08939
08940
08941
08942
08945 void Initialize( );
08948 bool IsInitialized( );
08951 bool GetIgnoreWordsInAllUppercase( ) const;
08954 bool GetIgnoreWordsWithNumbers( ) const;
08957 bool GetIgnoreRomanNumerals( ) const;
08960 bool GetIgnoreRepeatedWords( ) const;
08963 bool GetIgnoreUncapitalizedStartOfSentence( ) const;
08964
08965 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
08966
08969 bool GetStrictYeh( ) const;
08973 bool GetStrictAlef( ) const;
08974 #endif
08975
08979 void SetIgnoreWordsInAllUppercase( bool newValue);
08983 void SetIgnoreWordsWithNumbers( bool newValue);
08987 void SetIgnoreRomanNumerals( bool newValue);
08991 void SetIgnoreRepeatedWords( bool newValue);
08995 void SetIgnoreUncapitalizedStartOfSentence( bool newValue);
08996
08997 #if SLO_COMPLEXSCRIPT // Middle Eastern specific features only
08998
09002 void SetStrictYeh( bool newValue);
09007 void SetStrictAlef( bool newValue);
09008 #endif
09009
09013 SearchScope GetSearchScope( ) const;
09017 void SetSearchScope( SearchScope searchScope);
09018
09027 void SetSearchRange( const ITextRange& pRange, const bool resetEndOfSentence = true, const bool resetCurPos = true);
09028
09031 void Reset( );
09039 void ResumeFrom( const ATETextDOM::Int32 resumePoint);
09040
09043 void ResumeFromInsertionPoint( );
09044
09045
09046
09047
09048
09057 bool FindOneMisspelledWord( SpellCheckingResult* pResult, ITextRange pRange, Language* pLanguage = NULL);
09062 ATETextDOM::Int32 GetWordListSize( );
09071 void GetWordListContents( ATETextDOM::Unicode* pWordListBuffer, ATETextDOM::Int32 sizeOfBuffer, ATETextDOM::Int32* pNumberOfWords);
09076 void Replace( ITextRange pRange, const ATETextDOM::Unicode* pCorrection);
09077
09078
09083 void AddSelectedToReplaceAllDict( const ATETextDOM::Unicode* pCorrection);
09084
09087 bool DoReplaceAll( );
09088
09099 void GetPreReplaceAllSettings( ATETextDOM::Int32* pCurrentPoint, bool* pFoundSentenceEnd) const;
09100
09101
09102
09103
09112 bool FindReplaceAllWord( ITextRange pRange, const bool firstTimeInThisObject);
09121 void RestorePreReplaceAllSettings( const ATETextDOM::Int32 currentPoint, const bool foundSentenceEnd);
09122
09124
09128 void ClearPairDictionary( );
09129
09132 void AddSelectedToUserDict( );
09133
09138 void GetUserDictionaryContents( );
09143 bool AddToUserDictionary( const ATETextDOM::Unicode* pWord);
09147 void DeleteFromUserDictionary( const ATETextDOM::Unicode* pWord);
09151 bool WordExistsInUserDictionary( const ATETextDOM::Unicode* pWord);
09155 void AddSelectedToIgnoreList( );
09159 void ClearIgnoreList( );
09162 Language GetLanguageOfLastMissingDictionary( );
09163
09164
09165 ATETextDOM::Int32 GetSpellingDictionaryPath(ATETextDOM::Unicode* path);
09166 };
09167
09169
09171
09174 class IStories
09175 {
09176 private:
09177 StoriesRef fStories;
09178 public:
09181 IStories();
09185 IStories(const IStories& src);
09189 IStories& operator=(const IStories& rhs);
09193 bool operator==(const IStories& rhs) const;
09197 bool operator!=(const IStories& rhs) const;
09203 explicit IStories(StoriesRef stories);
09205 virtual ~IStories();
09208 StoriesRef GetRef() const;
09211 bool IsNull() const;
09212
09215 ATETextDOM::Int32 GetSize( ) const;
09218 IStory GetFirst( );
09221 IStory GetLast( );
09222
09228 bool HasFocus( ) const;
09231 IStory GetFocus( ) const;
09235 void SetFocus( const IStory& story);
09239 void LoseFocus( );
09240
09243 ITextRanges GetTextRanges( ) const;
09246 ITextRanges GetTextSelection( ) const;
09249 IParagraphsIterator GetParagraphsIterator( ) const;
09252 IWordsIterator GetWordsIterator( ) const;
09255 ITextRunsIterator GetTextRunsIterator( ) const;
09258 IDocumentTextResources GetDocumentTextResources( ) const;
09259
09260
09261
09267 IStory Item( ATETextDOM::Int32 nIndex) const;
09272 void SuspendReflow( );
09275 void ResumeReflow( );
09276
09277 };
09278
09280
09282
09294 class IStory
09295 {
09296 private:
09297 StoryRef fStory;
09298 public:
09301 IStory();
09305 IStory(const IStory& src);
09309 IStory& operator=(const IStory& rhs);
09313 bool operator==(const IStory& rhs) const;
09317 bool operator!=(const IStory& rhs) const;
09323 explicit IStory(StoryRef story);
09325 virtual ~IStory();
09328 StoryRef GetRef() const;
09331 bool IsNull() const;
09332
09333
09334
09335
09336
09339 ATETextDOM::Int32 GetIndex( ) const;
09342 ATETextDOM::Int32 GetSize( ) const;
09344
09346 IStories GetStories( ) const;
09349 ITextRange GetTextRange( ) const;
09352 ITextRanges GetTextSelection( ) const;
09355 IParagraphsIterator GetParagraphsIterator( ) const;
09358 IWordsIterator GetWordsIterator( ) const;
09361 ITextRunsIterator GetTextRunsIterator( ) const;
09364 ITextFramesIterator GetTextFramesIterator( ) const;
09368 ITextFrame GetFrame( ATETextDOM::Int32 frameIndex) const;
09369
09372
09376 void SetKernForSelection( const ITextRange& textRange, AutoKernType autoKernType);
09378
09382 void SetKernAtChar( ATETextDOM::Int32 charIndex, ATETextDOM::Int32 value);
09388 void GetKern( const ITextRange& textRange, AutoKernType* pAutoKernType, ATETextDOM::Int32* value) const;
09393 AutoKernType GetModelKernAtChar( ATETextDOM::Int32 charIndex, ATETextDOM::Int32* pManualKernValue) const;
09394
09395
09396
09403 ITextRange GetTextRange( ATETextDOM::Int32 start, ATETextDOM::Int32 end) const;
09406 IStory Duplicate( );
09411 void SuspendReflow( );
09414 void ResumeReflow( );
09415
09416 };
09417
09419
09421
09425 class ITabStop
09426 {
09427 private:
09428 TabStopRef fTabStop;
09429 public:
09432 ITabStop();
09436 ITabStop(const ITabStop& src);
09440 ITabStop& operator=(const ITabStop& rhs);
09444 bool operator==(const ITabStop& rhs) const;
09448 bool operator!=(const ITabStop& rhs) const;
09454 explicit ITabStop(TabStopRef tabstop);
09456 virtual ~ITabStop();
09459 TabStopRef GetRef() const;
09462 bool IsNull() const;
09463
09464
09465
09466
09469 TabType GetTabType( ) const;
09473 void SetTabType( TabType tabType);
09476 ATETextDOM::Real GetPosition( ) const;
09480 void SetPosition( ATETextDOM::Real position);
09483 bool HasLeader( ) const;
09488 void GetLeader( ATETextDOM::Unicode* leader, ATETextDOM::Int32 maxLength) const;
09492 void SetLeader( ATETextDOM::Unicode* leader);
09495 ATETextDOM::Unicode GetDecimalCharacter( ) const;
09498 void SetDecimalCharacter( ATETextDOM::Unicode decimalChar);
09499
09500 };
09501
09503
09505
09514 class ITabStops
09515 {
09516 private:
09517 TabStopsRef fTabStops;
09518 public:
09521 ITabStops();
09525 ITabStops(const ITabStops& src);
09529 ITabStops& operator=(const ITabStops& rhs);
09533 bool operator==(const ITabStops& rhs) const;
09537 bool operator!=(const ITabStops& rhs) const;
09543 explicit ITabStops(TabStopsRef tabstops);
09545 virtual ~ITabStops();
09548 TabStopsRef GetRef() const;
09551 bool IsNull() const;
09552
09553
09554
09555
09558 ATETextDOM::Int32 GetSize( ) const;
09561 ITabStop GetFirst( ) const;
09564 ITabStop GetLast( ) const;
09565
09566
09567
09572 void ReplaceOrAdd( const ITabStop& pTabStop);
09578 ITabStop Item( ATETextDOM::Int32 nIndex) const;
09582 void Remove( ATETextDOM::Int32 nIndex);
09585 void RemoveAll( );
09586 };
09587
09589
09591
09595 class ITabStopsIterator
09596 {
09597 private:
09598 TabStopsIteratorRef fTabStopsIterator;
09599 public:
09602 ITabStopsIterator();
09606 ITabStopsIterator(const ITabStopsIterator& src);
09610 ITabStopsIterator& operator=(const ITabStopsIterator& rhs);
09614 bool operator==(const ITabStopsIterator& rhs) const;
09618 bool operator!=(const ITabStopsIterator& rhs) const;
09624 explicit ITabStopsIterator(TabStopsIteratorRef tabstopsiterator);
09626 virtual ~ITabStopsIterator();
09629 TabStopsIteratorRef GetRef() const;
09632 bool IsNull() const;
09633
09640 ITabStopsIterator( ITabStops tabStops, Direction direction = kForward);
09641
09642
09645 bool IsDone( ) const;
09648 bool IsNotDone( ) const;
09651 bool IsEmpty( );
09654 void MoveToFirst( );
09657 void MoveToLast( );
09660 void Next( );
09663 ITabStop Item( ) const;
09664
09665 };
09666
09700
09701
09703 class ITextRange
09704 {
09705 private:
09706 TextRangeRef fTextRange;
09707 public:
09710 ITextRange();
09714 ITextRange(const ITextRange& src);
09718 ITextRange& operator=(const ITextRange& rhs);
09722 bool operator==(const ITextRange& rhs) const;
09726 bool operator!=(const ITextRange& rhs) const;
09732 explicit ITextRange(TextRangeRef textrange);
09734 virtual ~ITextRange();
09737 TextRangeRef GetRef() const;
09740 bool IsNull() const;
09741
09742
09743
09744
09748 ATETextDOM::Int32 GetStart( ) const;
09753 void SetStart( ATETextDOM::Int32 start);
09757 ATETextDOM::Int32 GetEnd( ) const;
09762 void SetEnd( ATETextDOM::Int32 end);
09765 ATETextDOM::Int32 GetSize( ) const;
09766
09767
09768
09771 IStory GetStory( ) const;
09774 ITextRanges GetTextSelection( ) const;
09777 ITextFramesIterator GetTextFramesIterator( ) const;
09780 IParagraphsIterator GetParagraphsIterator( ) const;
09783 IWordsIterator GetWordsIterator( ) const;
09787 ITextRunsIterator GetTextRunsIterator( ) const;
09788
09789
09790
09794 ICharInspector GetCharInspector( ) const;
09798 IParaInspector GetParaInspector( ) const;
09801 ICharStyles GetNamedCharStyles( ) const;
09804 IParaStyles GetNamedParaStyles( ) const;
09811 bool SetNamedCharStyle( const ATETextDOM::Unicode* pName);
09818 bool SetNamedParaStyle( const ATETextDOM::Unicode* pName);
09823 void ClearNamedCharStyle( );
09828 void ClearNamedParaStyle( );
09834 ICharFeatures GetUniqueCharFeatures( ) const;
09840 IParaFeatures GetUniqueParaFeatures( ) const;
09844 bool HasLocalCharFeatures( );
09848 bool HasLocalParaFeatures( );
09855 ICharFeatures GetUniqueLocalCharFeatures( );
09862 IParaFeatures GetUniqueLocalParaFeatures( );
09863
09876 void SetLocalCharFeatures( const ICharFeatures& pFeatures);
09888 void ReplaceOrAddLocalCharFeatures( const ICharFeatures& pFeatures);
09893 void ClearLocalCharFeatures( );
09894
09907 void SetLocalParaFeatures( const IParaFeatures& pFeatures);
09918 void ReplaceOrAddLocalParaFeatures( const IParaFeatures& pFeatures);
09923 void ClearLocalParaFeatures( );
09924
09925
09926
09930 void SetStory( const IStory& story);
09937 void SetRange( ATETextDOM::Int32 start, ATETextDOM::Int32 end);
09943 void Collapse( CollapseDirection direction = CollapseEnd);
09952 ATETextDOM::Int32 Move( ATETextDOM::Int32 unit);
09955 ITextRange Clone( ) const;
09963 void InsertBefore( const ATETextDOM::Unicode* text, ATETextDOM::Int32 length = -1);
09971 void InsertAfter( const ATETextDOM::Unicode* text, ATETextDOM::Int32 length = -1);
09977 void InsertBefore( const ITextRange& anotherRange);
09983 void InsertAfter( const ITextRange& anotherRange);
09984
09989 ATETextDOM::Int32 GetContents( ATETextDOM::Unicode* text, ATETextDOM::Int32 maxLength) const;
09994 ATETextDOM::Int32 GetContents( char* text, ATETextDOM::Int32 maxLength) const;
09995
10001 bool GetSingleGlyphInRange( ATEGlyphID* pSingleGlyph) const;
10002
10008 void Select( bool addToSelection = false);
10012 void DeSelect( );
10016 void ChangeCase( CaseChangeType caseChangeType);
10022 void FitHeadlines( );
10028 void Remove( );
10033 ASCharType GetCharacterType( ) const;
10034
10035 };
10036
10038
10040
10043 class ITextRanges
10044 {
10045 private:
10046 TextRangesRef fTextRanges;
10047 public:
10050 ITextRanges();
10054 ITextRanges(const ITextRanges& src);
10058 ITextRanges& operator=(const ITextRanges& rhs);
10062 bool operator==(const ITextRanges& rhs) const;
10066 bool operator!=(const ITextRanges& rhs) const;
10072 explicit ITextRanges(TextRangesRef textranges);
10074 virtual ~ITextRanges();
10077 TextRangesRef GetRef() const;
10080 bool IsNull() const;
10081
10082
10083
10084
10088 ATETextDOM::Int32 GetSize( ) const;
10091 ITextRange GetFirst( ) const;
10094 ITextRange GetLast( ) const;
10095
10098 ITextRanges GetTextSelection( ) const;
10101 IParagraphsIterator GetParagraphsIterator( ) const;
10104 IWordsIterator GetWordsIterator( ) const;
10107 ITextRunsIterator GetTextRunsIterator( ) const;
10108
10109
10110
10114 ICharInspector GetCharInspector( ) const;
10118 IParaInspector GetParaInspector( ) const;
10123 void ClearNamedCharStyle( );
10128 void ClearNamedParaStyle( );
10134 ICharFeatures GetUniqueCharFeatures( ) const;
10140 IParaFeatures GetUniqueParaFeatures( ) const;
10144 bool HasLocalCharFeatures( );
10148 bool HasLocalParaFeatures( );
10155 ICharFeatures GetUniqueLocalCharFeatures( );
10162 IParaFeatures GetUniqueLocalParaFeatures( );
10163
10172 void SetLocalCharFeatures( const ICharFeatures& pFeatures);
10179 void ReplaceOrAddLocalCharFeatures( const ICharFeatures& pFeatures);
10184 void ClearLocalCharFeatures( );
10193 void SetLocalParaFeatures( const IParaFeatures& pFeatures);
10200 void ReplaceOrAddLocalParaFeatures( const IParaFeatures& pFeatures);
10205 void ClearLocalParaFeatures( );
10206
10207
10208
10214 void Select( bool addToSelection = false);
10219 void DeSelect( );
10224 ATETextDOM::Int32 GetContents( ATETextDOM::Unicode* text, ATETextDOM::Int32 maxLength) const;
10229 ATETextDOM::Int32 GetContents( char* text, ATETextDOM::Int32 maxLength) const;
10233 void ChangeCase( CaseChangeType caseChangeType);
10237 void Add( const ITextRange& textRange);
10243 ITextRange Item( ATETextDOM::Int32 nIndex) const;
10246 void RemoveAll( );
10250 void Remove( ATETextDOM::Int32 nIndex);
10251
10252 };
10253
10255
10257
10259 class ITextRangesIterator
10260 {
10261 private:
10262 TextRangesIteratorRef fTextRangesIterator;
10263 public:
10266 ITextRangesIterator();
10270 ITextRangesIterator(const ITextRangesIterator& src);
10274 ITextRangesIterator& operator=(const ITextRangesIterator& rhs);
10278 bool operator==(const ITextRangesIterator& rhs) const;
10282 bool operator!=(const ITextRangesIterator& rhs) const;
10288 explicit ITextRangesIterator(TextRangesIteratorRef textrangesiterator);
10290 virtual ~ITextRangesIterator();
10293 TextRangesIteratorRef GetRef() const;
10296 bool IsNull() const;
10297
10304 ITextRangesIterator( ITextRanges textRanges, Direction direction = kForward);
10305
10308 ITextRangesIterator Clone( ) const;
10309
10312 bool IsNotDone( ) const;
10315 bool IsDone( ) const;
10318 bool IsEmpty( ) const;
10321 void MoveToFirst( );
10324 void MoveToLast( );
10327 void Next( );
10330 ITextRange Item( ) const;
10331
10332 };
10333
10335
10337
10345 class ITextRunsIterator
10346 {
10347 private:
10348 TextRunsIteratorRef fTextRunsIterator;
10349 public:
10352 ITextRunsIterator();
10356 ITextRunsIterator(const ITextRunsIterator& src);
10360 ITextRunsIterator& operator=(const ITextRunsIterator& rhs);
10364 bool operator==(const ITextRunsIterator& rhs) const;
10368 bool operator!=(const ITextRunsIterator& rhs) const;
10374 explicit ITextRunsIterator(TextRunsIteratorRef textrunsiterator);
10376 virtual ~ITextRunsIterator();
10379 TextRunsIteratorRef GetRef() const;
10382 bool IsNull() const;
10383
10390 ITextRunsIterator( const ITextRanges& ranges, Direction direction = kForward);
10393 bool IsNotDone( ) const;
10396 bool IsDone( ) const;
10399 bool IsEmpty( ) const;
10402 void MoveToFirst( );
10405 void MoveToLast( );
10408 void Next( );
10414 ITextRange Item( ) const;
10415
10416 };
10417
10419
10421
10426 class IWordsIterator
10427 {
10428 private:
10429 WordsIteratorRef fWordsIterator;
10430 public:
10433 IWordsIterator();
10437 IWordsIterator(const IWordsIterator& src);
10441 IWordsIterator& operator=(const IWordsIterator& rhs);
10445 bool operator==(const IWordsIterator& rhs) const;
10449 bool operator!=(const IWordsIterator& rhs) const;
10455 explicit IWordsIterator(WordsIteratorRef wordsiterator);
10457 virtual ~IWordsIterator();
10460 WordsIteratorRef GetRef() const;
10463 bool IsNull() const;
10464
10471 IWordsIterator( const ITextRanges& ranges, Direction direction = kForward);
10472
10475 bool IsNotDone( ) const;
10478 bool IsDone( ) const;
10481 bool IsEmpty( ) const;
10484 void MoveToFirst( );
10487 void MoveToLast( );
10490 void Next( );
10494 ITextRange Item( ) const;
10495
10497
10502 ATETextDOM::Int32 GetTrailingSpaceCount( ) const;
10508 ATETextDOM::Int32 GetTrailingCount( ) const;
10513 ATETextDOM::Int32 GetTrailingTerminatingPunctuationCount( ) const;
10514
10515 };
10516
10524 class IInhibitReflow
10525 {
10526 public:
10529 IInhibitReflow()
10530 {
10531 }
10536 IInhibitReflow(const IStory& story)
10537 :fStory(story)
10538 {
10539 fStory.SuspendReflow();
10540 }
10544 IInhibitReflow(const IInhibitReflow& reflow)
10545 :fStory(reflow.fStory)
10546 {
10547 fStory.SuspendReflow();
10548 }
10550 virtual ~IInhibitReflow()
10551 {
10552 if(!fStory.IsNull())
10553 fStory.ResumeReflow();
10554 }
10558 IInhibitReflow& operator=(const IInhibitReflow& rhs)
10559 {
10560 this->~IInhibitReflow( );
10561 fStory = rhs.fStory;
10562 if(!fStory.IsNull())
10563 fStory.SuspendReflow();
10564 return *this;
10565 }
10566 protected:
10567 IStory fStory;
10568 };
10569 }
10570