blob: 357b0457a50764e48d7aa10b83c13e648e8b96b4 [file] [log] [blame]
/*
* Copyright 2006 Juan Lang
*
* 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 "oaidl.idl";
import "ocidl.idl";
cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
cpp_quote("#undef FindText")
cpp_quote("#endif")
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;
[
object,
uuid(8cc497c0-a1df-11ce-8098-00aa0047be5d)
]
interface ITextDocument : IDispatch
{
HRESULT GetName([retval, out]BSTR *pName);
HRESULT GetSelection([retval, out]ITextSelection **ppSel);
HRESULT GetStoryCount([retval, out]LONG *pCount);
HRESULT GetStoryRanges([retval, out]ITextStoryRanges **ppStories);
HRESULT GetSaved([retval, out]LONG *pValue);
HRESULT SetSaved([in]LONG Value);
HRESULT GetDefaultTabStop([retval, out]float *pValue);
HRESULT SetDefaultTabStop([in]float Value);
HRESULT New();
HRESULT Open([in]VARIANT *pVar, [in]LONG Flags, [in]LONG CodePage);
HRESULT Save([in]VARIANT *pVar, [in]LONG Flags, [in]LONG CodePage);
HRESULT Freeze([retval, out]LONG *pCount);
HRESULT Unfreeze([retval, out]LONG *pCount);
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 cp1, [in]LONG cp2, [retval, out]ITextRange **ppRange);
HRESULT RangeFromPoint([in]LONG x, [in]LONG y, [retval, out]ITextRange **ppRange);
}
interface ITextFont;
interface ITextPara;
[
object,
uuid(8cc497c2-a1df-11ce-8098-00aa0047be5d)
]
interface ITextRange : IDispatch
{
HRESULT GetText([retval, out]BSTR *pbstr);
HRESULT SetText([in]BSTR bstr);
HRESULT GetChar([retval, out]LONG *pch);
HRESULT SetChar([in]LONG ch);
HRESULT GetDuplicate([retval, out]ITextRange **ppRange);
HRESULT GetFormattedText([retval, out]ITextRange **ppRange);
HRESULT SetFormattedText([in]ITextRange *pRange);
HRESULT GetStart([retval, out]LONG *pcpFirst);
HRESULT SetStart([in]LONG cpFirst);
HRESULT GetEnd([retval, out]LONG *pcpLim);
HRESULT SetEnd([in]LONG cpLim);
HRESULT GetFont([retval, out]ITextFont **pFont);
HRESULT SetFont([in]ITextFont *pFont);
HRESULT GetPara([retval, out]ITextPara **ppPara);
HRESULT SetPara([in]ITextPara *pPara);
HRESULT GetStoryLength([retval, out]LONG *pcch);
HRESULT GetStoryType([retval, out]LONG *pValue);
HRESULT Collapse([in]LONG bStart);
HRESULT Expand([in]LONG Unit, [retval, out]LONG *pDelta);
HRESULT GetIndex([in]LONG Unit, [retval, out]LONG *pIndex);
HRESULT SetIndex([in]LONG Unit, [in]LONG Index, [in]LONG Extend);
HRESULT SetRange([in]LONG anchor, [in]LONG active);
HRESULT InRange([in]ITextRange *pRange, [retval, out]LONG *pb);
HRESULT InStory([in]ITextRange *pRange, [retval, out]LONG *pb);
HRESULT IsEqual([in]ITextRange *pRange, [retval, out]LONG *pb);
HRESULT Select();
HRESULT StartOf([in]LONG Unit, [in]LONG Extend, [retval, out]LONG *pDelta);
HRESULT EndOf([in]LONG Unit, [in]LONG Extend, [retval, out]LONG *pDelta);
HRESULT Move([in]LONG Unit, [in]LONG Count, [retval, out]LONG *pDelta);
HRESULT MoveStart([in]LONG Unit, [in]LONG Count, [retval, out]LONG *pDelta);
HRESULT MoveEnd([in]LONG Unit, [in]LONG Count, [retval, out]LONG *pDelta);
HRESULT MoveWhile([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
HRESULT MoveStartWhile([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
HRESULT MoveEndWhile([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
HRESULT MoveUntil([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
HRESULT MoveStartUntil([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
HRESULT MoveEndUntil([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
HRESULT FindText([in]BSTR bstr, [in]LONG cch, [in]LONG Flags, [retval, out]LONG *pLength);
HRESULT FindTextStart([in]BSTR bstr, [in]LONG cch, [in]LONG Flags, [retval, out]LONG *pLength);
HRESULT FindTextEnd([in]BSTR bstr, [in]LONG cch, [in]LONG Flags, [retval, out]LONG *pLength);
HRESULT Delete([in]LONG Unit, [in]LONG Count, [retval, out]LONG *pDelta);
HRESULT Cut([out]VARIANT *pVar);
HRESULT Copy([out]VARIANT *pVar);
HRESULT Paste([in]VARIANT *pVar, [in]LONG Format);
HRESULT CanPaste([in]VARIANT *pVar, [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);
}
[
object,
uuid(8cc497c1-a1df-11ce-8098-00aa0047be5d)
]
interface ITextSelection : ITextRange
{
HRESULT GetFlags([retval, out]LONG *pFlags);
HRESULT SetFlags([in]LONG Flags);
HRESULT GetType([retval, out]LONG *pType);
HRESULT MoveLeft([in]LONG Unit, [in]LONG Count, [in]LONG Extend, [retval, out]LONG *pDelta);
HRESULT MoveRight([in]LONG Unit, [in]LONG Count, [in]LONG Extend, [retval, out]LONG *pDelta);
HRESULT MoveUp([in]LONG Unit, [in]LONG Count, [in]LONG Extend, [retval, out]LONG *pDelta);
HRESULT MoveDown([in]LONG Unit, [in]LONG Count, [in]LONG Extend, [retval, out]LONG *pDelta);
HRESULT HomeKey([in]LONG Unit, [in]LONG Extend, [retval, out]LONG *pDelta);
HRESULT EndKey([in]LONG Unit, [in]LONG Extend, [retval, out]LONG *pDelta);
HRESULT TypeText([in]BSTR bstr);
}
[
object,
uuid(8cc497c3-a1df-11ce-8098-00aa0047be5d)
]
interface ITextFont : IDispatch
{
HRESULT GetDuplicate([retval, out]ITextFont **ppFont);
HRESULT SetDuplicate([in]ITextFont *pFont);
HRESULT CanChange([out]LONG *pB);
HRESULT IsEqual([in]ITextFont *pFont, [retval, out]LONG *pB);
HRESULT Reset([in]LONG Value);
HRESULT GetStyle([retval, out]LONG *pValue);
HRESULT SetStyle([in]LONG Value);
HRESULT GetAllCaps([retval, out]LONG *pValue);
HRESULT SetAllCaps([in]LONG Value);
HRESULT GetAnimation([retval, out]LONG *pValue);
HRESULT SetAnimation([in]LONG Value);
HRESULT GetBackColor([retval, out]LONG *pValue);
HRESULT SetBackColor([in]LONG Value);
HRESULT GetBold([retval, out]LONG *pValue);
HRESULT SetBold([in]LONG Value);
HRESULT GetEmboss([retval, out]LONG *pValue);
HRESULT SetEmboss([in]LONG Value);
HRESULT GetForeColor([retval, out]LONG *pValue);
HRESULT SetForeColor([in]LONG Value);
HRESULT GetHidden([retval, out]LONG *pValue);
HRESULT SetHidden([in]LONG Value);
HRESULT GetEngrave([retval, out]LONG *pValue);
HRESULT SetEngrave([in]LONG Value);
HRESULT GetItalic([retval, out]LONG *pValue);
HRESULT SetItalic([in]LONG Value);
HRESULT GetKerning([retval, out]float *pValue);
HRESULT SetKerning([in]float Value);
HRESULT GetLanguageID([retval, out]LONG *pValue);
HRESULT SetLanguageID([in]LONG Value);
HRESULT GetName([retval, out]BSTR *pValue);
HRESULT SetName([in]BSTR Value);
HRESULT GetOutline([retval, out]LONG *pValue);
HRESULT SetOutline([in]LONG Value);
HRESULT GetPosition([retval, out]float *pValue);
HRESULT SetPosition([in]float Value);
HRESULT GetProtected([retval, out]LONG *pValue);
HRESULT SetProtected([in]LONG Value);
HRESULT GetShadow([retval, out]LONG *pValue);
HRESULT SetShadow([in]LONG Value);
HRESULT GetSize([retval, out]float *pValue);
HRESULT SetSize([in]float Value);
HRESULT GetSmallCaps([retval, out]LONG *pValue);
HRESULT SetSmallCaps([in]LONG Value);
HRESULT GetSpacing([retval, out]float *pValue);
HRESULT SetSpacing([in]float Value);
HRESULT GetStrikeThrough([retval, out]LONG *pValue);
HRESULT SetStrikeThrough([in]LONG Value);
HRESULT GetSubscript([retval, out]LONG *pValue);
HRESULT SetSubscript([in]LONG Value);
HRESULT GetSuperscript([retval, out]LONG *pValue);
HRESULT SetSuperscript([in]LONG Value);
HRESULT GetUnderline([retval, out]LONG *pValue);
HRESULT SetUnderline([in]LONG Value);
HRESULT GetWeight([retval, out]LONG *pValue);
HRESULT SetWeight([in]LONG Value);
}
[
object,
uuid(8cc497c4-a1df-11ce-8098-00aa0047be5d)
]
interface ITextPara : IDispatch
{
HRESULT GetDuplicate([retval, out]ITextPara **ppPara);
HRESULT SetDuplicate([in]ITextPara *pPara);
HRESULT CanChange([out]LONG *pB);
HRESULT IsEqual([in]ITextPara *pPara, [retval, out]LONG *pB);
HRESULT Reset([in]LONG Value);
HRESULT GetStyle([retval, out]LONG *pValue);
HRESULT SetStyle([in]LONG Value);
HRESULT GetAlignment([retval, out]LONG *pValue);
HRESULT SetAlignment([in]LONG Value);
HRESULT GetHyphenation([retval, out]LONG *pValue);
HRESULT SetHyphenation([in]LONG Value);
HRESULT GetFirstLineIndent([retval, out]float *pValue);
HRESULT GetKeepTogether([retval, out]LONG *pValue);
HRESULT SetKeepTogether([in]LONG Value);
HRESULT GetKeepWithNext([retval, out]LONG *pValue);
HRESULT SetKeepWithNext([in]LONG Value);
HRESULT GetLeftIndent([retval, out]float *pValue);
HRESULT GetLineSpacing([retval, out]float *pValue);
HRESULT GetLineSpacingRule([retval, out]LONG *pValue);
HRESULT GetListAlignment([retval, out]LONG *pValue);
HRESULT SetListAlignment([in]LONG Value);
HRESULT GetListLevelIndex([retval, out]LONG *pValue);
HRESULT SetListLevelIndex([in]LONG Value);
HRESULT GetListStart([retval, out]LONG *pValue);
HRESULT SetListStart([in]LONG Value);
HRESULT GetListTab([retval, out]float *pValue);
HRESULT SetListTab([in]float Value);
HRESULT GetListType([retval, out]LONG *pValue);
HRESULT SetListType([in]LONG Value);
HRESULT GetNoLineNumber([retval, out]LONG *pValue);
HRESULT SetNoLineNumber([in]LONG Value);
HRESULT GetPageBreakBefore([retval, out]LONG *pValue);
HRESULT SetPageBreakBefore([in]LONG Value);
HRESULT GetRightIndent([retval, out]float *pValue);
HRESULT SetRightIndent([in]float Value);
HRESULT SetIndents([in]float StartIndent, [in]float LeftIndent, [in]float RightIndent);
HRESULT SetLineSpacing([in]LONG LineSpacingRule, [in]float LineSpacing);
HRESULT GetSpaceAfter([retval, out]float *pValue);
HRESULT SetSpaceAfter([in]float Value);
HRESULT GetSpaceBefore([retval, out]float *pValue);
HRESULT SetSpaceBefore([in]float Value);
HRESULT GetWidowControl([retval, out]LONG *pValue);
HRESULT SetWidowControl([in]LONG Value);
HRESULT GetTabCount([retval, out]LONG *pCount);
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);
}
[
object,
uuid(8cc497c5-a1df-11ce-8098-00aa0047be5d)
]
interface ITextStoryRanges : IDispatch
{
HRESULT _NewEnum([retval, out]IUnknown **ppUnkEnum);
HRESULT Item([in]LONG Index, [retval, out]ITextRange **ppRange);
HRESULT GetCount([retval, out]LONG *pCount);
}