/* * Copyright 2006 Juan Lang * Copyright 2015 Nikolay Sivov for CodeWeavers * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ import "unknwn.idl"; import "objidl.idl"; import "oaidl.idl"; #pragma makedep regtypelib cpp_quote("#ifdef WINE_NO_UNICODE_MACROS") cpp_quote("#undef FindText") cpp_quote("#endif") [ uuid(8cc497c9-a1df-11ce-8098-00aa0047be5d), version(1.0) ] library tom { importlib("stdole2.tlb"); typedef enum tagTomConstants { tomFalse = 0, tomTrue = -1, tomUndefined = -9999999, tomToggle = -9999998, tomAutoColor = -9999997, tomDefault = -9999996, tomSuspend = -9999995, tomResume = -9999994, /* ITextFont::Reset() modes */ tomApplyNow = 0, tomApplyLater = 1, tomTrackParms = 2, tomCacheParms = 3, tomApplyTmp = 4, tomDisableSmartFont = 8, tomEnableSmartFont = 9, tomUsePoints = 10, tomUseTwips = 11, tomBackward = 0xc0000001, tomForward = 0x3fffffff, tomMove = 0, tomExtend = 1, tomNoSelection = 0, tomSelectionIP = 1, tomSelectionNormal = 2, tomSelectionFrame = 3, tomSelectionColumn = 4, tomSelectionRow = 5, tomSelectionBlock = 6, tomSelectionInlineShape = 7, tomSelectionShape = 8, tomSelStartActive = 1, tomSelAtEOL = 2, tomSelOvertype = 4, tomSelActive = 8, tomSelReplace = 16, tomEnd = 0, tomStart = 32, tomCollapseEnd = 0, tomCollapseStart = 1, tomClientCoord = 256, tomNone = 0, tomSingle = 1, tomWords = 2, tomDouble = 3, tomDotted = 4, tomDash = 5, tomDashDot = 6, tomDashDotDot = 7, tomWave = 8, tomThick = 9, tomHair = 10, tomLineSpaceSingle = 0, tomLineSpace1pt5 = 1, tomLineSpaceDouble = 2, tomLineSpaceAtLeast = 3, tomLineSpaceExactly = 4, tomLineSpaceMultiple = 5, tomAlignLeft = 0, tomAlignCenter = 1, tomAlignRight = 2, tomAlignJustify = 3, tomAlignDecimal = 3, tomAlignBar = 4, tomAlignInterWord = 3, tomAlignInterLetter = 4, tomAlignScaled = 5, tomAlignGlyphs = 6, tomAlignSnapGrid = 7, tomSpaces = 0, tomDots = 1, tomDashes = 2, tomLines = 3, tomThickLines = 4, tomEquals = 5, tomTabBack = -3, tomTabNext = -2, tomTabHere = -1, tomListBullet = 1, tomListNumberAsArabic = 2, tomListNumberAsLCLetter = 3, tomListNumberAsUCLetter = 4, tomListNumberAsLCRoman = 5, tomListNumberAsUCRoman = 6, tomListNumberAsSequence = 7, tomListParentheses = 0x10000, tomListPeriod = 0x20000, tomListPlain = 0x30000, tomCharacter = 1, tomWord = 2, tomSentence = 3, tomParagraph = 4, tomLine = 5, tomStory = 6, tomScreen = 7, tomSection = 8, tomColumn = 9, tomRow = 10, tomWindow = 11, tomCell = 12, tomCharFormat = 13, tomParaFormat = 14, tomTable = 15, tomObject = 16, tomMatchWord = 2, tomMatchCase = 4, tomMatchPattern = 8, /* ITextRange story type values */ tomUnknownStory = 0, tomMainTextStory = 1, tomFootnotesStory = 2, tomEndnotesStory = 3, tomCommentsStory = 4, tomTextFrameStory = 5, tomEvenPagesHeaderStory = 6, tomPrimaryHeaderStory = 7, tomEvenPagesFooterStory = 8, tomPrimaryFooterStory = 9, tomFirstPageHeaderStory = 10, tomFirstPageFooterStory = 11, /* ITextFont animation property */ tomNoAnimation = 0, tomLasVegasLights = 1, tomBlinkingBackground = 2, tomSparkleText = 3, tomMarchingBlackAnts = 4, tomMarchingRedAnts = 5, tomShimmer = 6, tomWipeDown = 7, tomWipeRight = 8, tomAnimationMax = 8, tomLowerCase = 0, tomUpperCase = 1, tomTitleCase = 2, tomSentenceCase = 4, tomToggleCase = 5, tomReadOnly = 0x100, tomShareDenyRead = 0x200, tomShareDenyWrite = 0x400, tomPasteFile = 0x1000, tomCreateNew = 0x10, tomCreateAlways = 0x20, tomOpenExisting = 0x30, tomOpenAlways = 0x40, tomTruncateExisting = 0x50, tomRTF = 0x1, tomText = 0x2, tomHTML = 0x3, tomWordDocument = 0x4, tomBold = 0x80000001, tomItalic = 0x80000002, tomUnderline = 0x80000004, tomStrikeout = 0x80000008, tomProtected = 0x80000010, tomLink = 0x80000020, tomSmallCaps = 0x80000040, tomAllCaps = 0x80000080, tomHidden = 0x80000100, tomOutline = 0x80000200, tomShadow = 0x80000400, tomEmboss = 0x80000800, tomImprint = 0x80001000, tomDisabled = 0x80002000, tomRevised = 0x80004000, tomNormalCaret = 0, tomKoreanBlockCaret = 0x1, tomIncludeInset = 0x1, tomIgnoreCurrentFont = 0, tomMatchFontCharset = 0x1, tomMatchFontSignature = 0x2, tomCharset = 0x80000000, tomRE10Mode = 0x1, tomNoIME = 0x80000, tomSelfIME = 0x40000 } tomConstants; interface ITextRange; interface ITextSelection; interface ITextStoryRanges; [ uuid(8cc497c0-a1df-11ce-8098-00aa0047be5d), object, dual, oleautomation ] interface ITextDocument : IDispatch { [propget, id(DISPID_VALUE)] HRESULT Name([retval, out] BSTR *name); [propget] HRESULT Selection([retval, out] ITextSelection **selection); [propget] HRESULT StoryCount([retval, out] LONG *count); [propget] HRESULT StoryRanges([retval, out] ITextStoryRanges **ranges); [propget] HRESULT Saved([retval, out] LONG *value); [propput] HRESULT Saved([in] LONG value); [propget] HRESULT DefaultTabStop([retval, out] float *value); [propput] HRESULT DefaultTabStop([in] float value); HRESULT New(); HRESULT Open([in] VARIANT *var, [in] LONG flags, [in] LONG codepage); HRESULT Save([in] VARIANT *var, [in] LONG flags, [in] LONG codepage); HRESULT Freeze([retval, out] LONG *count); HRESULT Unfreeze([retval, out] LONG *count); HRESULT BeginEditCollection(); HRESULT EndEditCollection(); HRESULT Undo([in] LONG count, [retval, out] LONG *prop); HRESULT Redo([in] LONG count, [retval, out] LONG *prop); HRESULT Range([in] LONG start, [in] LONG end, [retval, out] ITextRange **range); HRESULT RangeFromPoint([in] LONG x, [in] LONG y, [retval, out] ITextRange **range); } interface ITextFont; interface ITextPara; [ uuid(8cc497c2-a1df-11ce-8098-00aa0047be5d), object, dual, oleautomation ] interface ITextRange : IDispatch { [propget, id(DISPID_VALUE)] HRESULT Text([retval, out] BSTR *text); [propput, id(DISPID_VALUE)] HRESULT Text([in] BSTR text); [propget] HRESULT Char([retval, out] LONG *ch); [propput] HRESULT Char([in] LONG ch); [propget] HRESULT Duplicate([retval, out] ITextRange **range); [propget] HRESULT FormattedText([retval, out] ITextRange **range); [propput] HRESULT FormattedText([in] ITextRange *range); [propget] HRESULT Start([retval, out] LONG *start); [propput] HRESULT Start([in] LONG start); [propget] HRESULT End([retval, out] LONG *end); [propput] HRESULT End([in] LONG end); [propget] HRESULT Font([retval, out] ITextFont **font); [propput] HRESULT Font([in] ITextFont *font); [propget] HRESULT Para([retval, out] ITextPara **para); [propput] HRESULT Para([in] ITextPara *para); [propget] HRESULT StoryLength([retval, out] LONG *len); [propget] HRESULT StoryType([retval, out] LONG *value); HRESULT Collapse([in] LONG start); HRESULT Expand([in] LONG unit, [retval, out] LONG *delta); HRESULT GetIndex([in] LONG unit, [retval, out] LONG *index); HRESULT SetIndex([in] LONG unit, [in] LONG index, [in] LONG extend); HRESULT SetRange([in] LONG anchor, [in] LONG active); HRESULT InRange([in] ITextRange *range, [retval, out] LONG *pb); HRESULT InStory([in] ITextRange *range, [retval, out] LONG *pb); HRESULT IsEqual([in] ITextRange *range, [retval, out] LONG *pb); HRESULT Select(); HRESULT StartOf([in] LONG unit, [in] LONG extend, [retval, out] LONG *delta); HRESULT EndOf([in] LONG unit, [in] LONG extend, [retval, out] LONG *delta); HRESULT Move([in] LONG unit, [in] LONG count, [retval, out] LONG *delta); HRESULT MoveStart([in] LONG unit, [in] LONG count, [retval, out] LONG *delta); HRESULT MoveEnd([in] LONG unit, [in] LONG count, [retval, out] LONG *delta); HRESULT MoveWhile([in] VARIANT *charset, [in] LONG count, [retval, out] LONG *delta); HRESULT MoveStartWhile([in] VARIANT *charset, [in] LONG count, [retval, out] LONG *delta); HRESULT MoveEndWhile([in] VARIANT *charset, [in] LONG count, [retval, out] LONG *delta); HRESULT MoveUntil([in] VARIANT *charset, [in] LONG count, [retval, out] LONG *delta); HRESULT MoveStartUntil([in] VARIANT *charset, [in] LONG count, [retval, out] LONG *delta); HRESULT MoveEndUntil([in] VARIANT *charset, [in] LONG count, [retval, out] LONG *delta); HRESULT FindText([in] BSTR str, [in] LONG ch, [in] LONG flags, [retval, out] LONG *len); HRESULT FindTextStart([in] BSTR str, [in] LONG cch, [in] LONG flags, [retval, out] LONG *len); HRESULT FindTextEnd([in] BSTR str, [in] LONG ch, [in] LONG flags, [retval, out] LONG *len); HRESULT Delete([in] LONG unit, [in] LONG count, [retval, out] LONG *delta); HRESULT Cut([out] VARIANT *var); HRESULT Copy([out] VARIANT *var); HRESULT Paste([in] VARIANT *var, [in] LONG format); HRESULT CanPaste([in] VARIANT *var, [in] LONG format, [retval, out] LONG *pb); HRESULT CanEdit([retval, out] LONG *pb); HRESULT ChangeCase([in] LONG type); HRESULT GetPoint([in] LONG type, [out] LONG *cx, [out] LONG *cy); HRESULT SetPoint([in] LONG x, [in] LONG y, [in] LONG type, [in] LONG extend); HRESULT ScrollIntoView([in] LONG value); HRESULT GetEmbeddedObject([retval, out] IUnknown **ppv); } [ uuid(8cc497c1-a1df-11ce-8098-00aa0047be5d), object, dual, oleautomation ] interface ITextSelection : ITextRange { [propget] HRESULT Flags([retval, out] LONG *flags); [propput] HRESULT Flags([in] LONG flags); [propget] HRESULT Type([retval, out] LONG *type); HRESULT MoveLeft([in] LONG unit, [in] LONG count, [in] LONG extend, [retval, out] LONG *delta); HRESULT MoveRight([in] LONG unit, [in] LONG count, [in] LONG extend, [retval, out] LONG *delta); HRESULT MoveUp([in] LONG unit, [in] LONG count, [in] LONG extend, [retval, out] LONG *delta); HRESULT MoveDown([in] LONG unit, [in] LONG count, [in] LONG extend, [retval, out] LONG *delta); HRESULT HomeKey([in] LONG unit, [in] LONG extend, [retval, out] LONG *delta); HRESULT EndKey([in] LONG unit, [in] LONG extend, [retval, out] LONG *delta); HRESULT TypeText([in] BSTR str); } [ uuid(8cc497c3-a1df-11ce-8098-00aa0047be5d), object, dual, oleautomation ] interface ITextFont : IDispatch { [propget, id(DISPID_VALUE)] HRESULT Duplicate([retval, out] ITextFont **font); [propput, id(DISPID_VALUE)] HRESULT Duplicate([in] ITextFont *font); HRESULT CanChange([out] LONG *pB); HRESULT IsEqual([in] ITextFont *font, [retval, out] LONG *pB); HRESULT Reset([in] LONG value); [propget] HRESULT GetStyle([retval, out] LONG *value); [propput] HRESULT SetStyle([in] LONG value); [propget] HRESULT AllCaps([retval, out] LONG *value); [propput] HRESULT AllCaps([in] LONG value); [propget] HRESULT Animation([retval, out] LONG *value); [propput] HRESULT Animation([in] LONG value); [propget] HRESULT BackColor([retval, out] LONG *value); [propput] HRESULT BackColor([in] LONG value); [propget] HRESULT Bold([retval, out] LONG *value); [propput] HRESULT Bold([in] LONG value); [propget] HRESULT Emboss([retval, out] LONG *value); [propput] HRESULT Emboss([in] LONG value); [propget] HRESULT ForeColor([retval, out] LONG *value); [propput] HRESULT ForeColor([in] LONG value); [propget] HRESULT Hidden([retval, out] LONG *value); [propput] HRESULT Hidden([in] LONG value); [propget] HRESULT Engrave([retval, out] LONG *value); [propput] HRESULT Engrave([in] LONG value); [propget] HRESULT Italic([retval, out] LONG *value); [propput] HRESULT Italic([in] LONG value); [propget] HRESULT Kerning([retval, out] float *value); [propput] HRESULT Kerning([in] float value); [propget] HRESULT LanguageID([retval, out] LONG *value); [propput] HRESULT LanguageID([in] LONG value); [propget] HRESULT Name([retval, out] BSTR *value); [propput] HRESULT Name([in] BSTR value); [propget] HRESULT Outline([retval, out] LONG *value); [propput] HRESULT Outline([in] LONG value); [propget] HRESULT Position([retval, out] float *value); [propput] HRESULT Position([in] float value); [propget] HRESULT Protected([retval, out] LONG *value); [propput] HRESULT Protected([in] LONG value); [propget] HRESULT Shadow([retval, out] LONG *value); [propput] HRESULT Shadow([in] LONG value); [propget] HRESULT Size([retval, out] float *value); [propput] HRESULT Size([in] float value); [propget] HRESULT SmallCaps([retval, out] LONG *value); [propput] HRESULT SmallCaps([in] LONG value); [propget] HRESULT Spacing([retval, out] float *value); [propput] HRESULT Spacing([in] float value); [propget] HRESULT StrikeThrough([retval, out] LONG *value); [propput] HRESULT StrikeThrough([in] LONG value); [propget] HRESULT Subscript([retval, out] LONG *value); [propput] HRESULT Subscript([in] LONG value); [propget] HRESULT Superscript([retval, out] LONG *value); [propput] HRESULT Superscript([in] LONG value); [propget] HRESULT Underline([retval, out] LONG *value); [propput] HRESULT Underline([in] LONG value); [propget] HRESULT Weight([retval, out] LONG *value); [propput] HRESULT Weight([in] LONG value); } [ uuid(8cc497c4-a1df-11ce-8098-00aa0047be5d), object, dual, oleautomation ] interface ITextPara : IDispatch { [propget, id(DISPID_VALUE)] HRESULT Duplicate([retval, out] ITextPara **para); [propput, id(DISPID_VALUE)] HRESULT Duplicate([in] ITextPara *para); HRESULT CanChange([out, retval] LONG *pB); HRESULT IsEqual([in] ITextPara *para, [retval, out] LONG *pB); HRESULT Reset([in] LONG value); [propget] HRESULT Style([retval, out] LONG *value); [propput] HRESULT Style([in] LONG value); [propget] HRESULT Alignment([retval, out] LONG *value); [propput] HRESULT Alignment([in] LONG value); [propget] HRESULT Hyphenation([retval, out]LONG *value); [propput] HRESULT Hyphenation([in] LONG value); [propget] HRESULT FirstLineIndent([retval, out] float *value); [propget] HRESULT KeepTogether([retval, out] LONG *value); [propput] HRESULT KeepTogether([in] LONG value); [propget] HRESULT KeepWithNext([retval, out] LONG *value); [propput] HRESULT KeepWithNext([in] LONG value); [propget] HRESULT LeftIndent([retval, out] float *value); [propget] HRESULT LineSpacing([retval, out] float *value); [propget] HRESULT LineSpacingRule([retval, out] LONG *value); [propget] HRESULT ListAlignment([retval, out] LONG *value); [propput] HRESULT ListAlignment([in] LONG value); [propget] HRESULT ListLevelIndex([retval, out] LONG *value); [propput] HRESULT ListLevelIndex([in] LONG value); [propget] HRESULT ListStart([retval, out] LONG *value); [propput] HRESULT ListStart([in] LONG value); [propget] HRESULT ListTab([retval, out] float *value); [propput] HRESULT ListTab([in] float value); [propget] HRESULT ListType([retval, out] LONG *value); [propput] HRESULT ListType([in] LONG value); [propget] HRESULT NoLineNumber([retval, out] LONG *value); [propput] HRESULT NoLineNumber([in] LONG value); [propget] HRESULT PageBreakBefore([retval, out] LONG *value); [propput] HRESULT PageBreakBefore([in] LONG value); [propget] HRESULT RightIndent([retval, out] float *value); [propput] HRESULT RightIndent([in] float value); HRESULT SetIndents([in] float StartIndent, [in] float LeftIndent, [in] float RightIndent); HRESULT SetLineSpacing([in] LONG LineSpacingRule, [in] float LineSpacing); [propget] HRESULT SpaceAfter([retval, out] float *value); [propput] HRESULT SpaceAfter([in] float value); [propget] HRESULT SpaceBefore([retval, out] float *value); [propput] HRESULT SpaceBefore([in] float value); [propget] HRESULT WidowControl([retval, out] LONG *value); [propput] HRESULT WidowControl([in] LONG value); [propget] HRESULT TabCount([retval, out] LONG *count); HRESULT AddTab([in] float tbPos, [in] LONG tbAlign, [in] LONG tbLeader); HRESULT ClearAllTabs(); HRESULT DeleteTab([in] float tbPos); HRESULT GetTab([in] LONG iTab, [out] float *ptbPos, [out] LONG *ptbAlign, [out] LONG *ptbLeader); } [ uuid(8cc497c5-a1df-11ce-8098-00aa0047be5d), object, dual, oleautomation ] interface ITextStoryRanges : IDispatch { [restricted, hidden, id(DISPID_NEWENUM)] HRESULT _NewEnum([retval, out] IUnknown **ppEnum); [id(DISPID_VALUE)] HRESULT Item([in] LONG index, [retval, out] ITextRange **range); [propget] HRESULT Count([retval, out] LONG *count); } } /* Library tom */