431 lines
16 KiB
Plaintext
431 lines
16 KiB
Plaintext
/*
|
|
* 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";
|
|
|
|
typedef enum tagTomConstants
|
|
{
|
|
tomFalse = 0,
|
|
tomTrue = -1,
|
|
tomUndefined = -9999999,
|
|
tomToggle = -9999998,
|
|
tomAutoColor = -9999997,
|
|
tomDefault = -9999996,
|
|
tomSuspend = -9999995,
|
|
tomResume = -9999994,
|
|
tomApplyNow = 0,
|
|
tomApplyLater = 1,
|
|
tomTrackParms = 2,
|
|
tomCacheParms = 3,
|
|
tomBackward = 0xc00000001,
|
|
tomForward = 0x3ffffffff,
|
|
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,
|
|
tomUnknownStory = 0,
|
|
tomMainTextStory = 1,
|
|
tomFootnotesStory = 2,
|
|
tomEndnotesStory = 3,
|
|
tomCommentsStory = 4,
|
|
tomTextFrameStory = 5,
|
|
tomEvenPagesHeaderStory = 6,
|
|
tomPrimaryHeaderStory = 7,
|
|
tomEvenPagesFooterStory = 8,
|
|
tomPrimaryFooterStory = 9,
|
|
tomFirstPageHeaderStory = 10,
|
|
tomFirstPageFooterStory = 11,
|
|
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 = 0x800000001,
|
|
tomItalic = 0x800000002,
|
|
tomUnderline = 0x800000004,
|
|
tomStrikeout = 0x800000008,
|
|
tomProtected = 0x800000010,
|
|
tomLink = 0x800000020,
|
|
tomSmallCaps = 0x800000040,
|
|
tomAllCaps = 0x800000080,
|
|
tomHidden = 0x800000100,
|
|
tomOutline = 0x800000200,
|
|
tomShadow = 0x800000400,
|
|
tomEmboss = 0x800000800,
|
|
tomImprint = 0x800001000,
|
|
tomDisabled = 0x800002000,
|
|
tomRevised = 0x800004000,
|
|
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 cpActive, [in]long cpOther);
|
|
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]long *pValue);
|
|
HRESULT SetKerning([in]long 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]long *pValue);
|
|
HRESULT SetPosition([in]long 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]long *pValue);
|
|
HRESULT SetSize([in]long 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]long *pValue);
|
|
HRESULT SetListTab([in]long 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 GetWindowControl([retval, out]float *pValue);
|
|
HRESULT SetWindowControl([in]float 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);
|
|
};
|