990 lines
42 KiB
Go
990 lines
42 KiB
Go
// Copyright 2011 The win Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
// +build windows
|
|
|
|
package win
|
|
|
|
import (
|
|
"syscall"
|
|
"unsafe"
|
|
)
|
|
|
|
type TomConstants uint32
|
|
|
|
const (
|
|
TomFalse TomConstants = 0
|
|
TomTrue = -1
|
|
TomUndefined = -9999999
|
|
TomToggle = -9999998
|
|
TomAutoColor = -9999997
|
|
TomDefault = -9999996
|
|
TomSuspend = -9999995
|
|
TomResume = -9999994
|
|
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
|
|
TomAllowOffClient = 512
|
|
TomTransform = 1024
|
|
TomObjectArg = 2048
|
|
TomAtEnd = 4096
|
|
TomNone = 0
|
|
TomSingle = 1
|
|
TomWords = 2
|
|
TomDouble = 3
|
|
TomDotted = 4
|
|
TomDash = 5
|
|
TomDashDot = 6
|
|
TomDashDotDot = 7
|
|
TomWave = 8
|
|
TomThick = 9
|
|
TomHair = 10
|
|
TomDoubleWave = 11
|
|
TomHeavyWave = 12
|
|
TomLongDash = 13
|
|
TomThickDash = 14
|
|
TomThickDashDot = 15
|
|
TomThickDashDotDot = 16
|
|
TomThickDotted = 17
|
|
TomThickLongDash = 18
|
|
TomLineSpaceSingle = 0
|
|
TomLineSpace1pt5 = 1
|
|
TomLineSpaceDouble = 2
|
|
TomLineSpaceAtLeast = 3
|
|
TomLineSpaceExactly = 4
|
|
TomLineSpaceMultiple = 5
|
|
TomLineSpacePercent = 6
|
|
TomAlignLeft = 0
|
|
TomAlignCenter = 1
|
|
TomAlignRight = 2
|
|
TomAlignJustify = 3
|
|
TomAlignDecimal = 3
|
|
TomAlignBar = 4
|
|
TomDefaultTab = 5
|
|
TomAlignInterWord = 3
|
|
TomAlignNewspaper = 4
|
|
TomAlignInterLetter = 5
|
|
TomAlignScaled = 6
|
|
TomSpaces = 0
|
|
TomDots = 1
|
|
TomDashes = 2
|
|
TomLines = 3
|
|
TomThickLines = 4
|
|
TomEquals = 5
|
|
TomTabBack = -3
|
|
TomTabNext = -2
|
|
TomTabHere = -1
|
|
TomListNone = 0
|
|
TomListBullet = 1
|
|
TomListNumberAsArabic = 2
|
|
TomListNumberAsLCLetter = 3
|
|
TomListNumberAsUCLetter = 4
|
|
TomListNumberAsLCRoman = 5
|
|
TomListNumberAsUCRoman = 6
|
|
TomListNumberAsSequence = 7
|
|
TomListNumberedCircle = 8
|
|
TomListNumberedBlackCircleWingding = 9
|
|
TomListNumberedWhiteCircleWingding = 10
|
|
TomListNumberedArabicWide = 11
|
|
TomListNumberedChS = 12
|
|
TomListNumberedChT = 13
|
|
TomListNumberedJpnChS = 14
|
|
TomListNumberedJpnKor = 15
|
|
TomListNumberedArabic1 = 16
|
|
TomListNumberedArabic2 = 17
|
|
TomListNumberedHebrew = 18
|
|
TomListNumberedThaiAlpha = 19
|
|
TomListNumberedThaiNum = 20
|
|
TomListNumberedHindiAlpha = 21
|
|
TomListNumberedHindiAlpha1 = 22
|
|
TomListNumberedHindiNum = 23
|
|
TomListParentheses = 0x10000
|
|
TomListPeriod = 0x20000
|
|
TomListPlain = 0x30000
|
|
TomListNoNumber = 0x40000
|
|
TomListMinus = 0x80000
|
|
TomIgnoreNumberStyle = 0x1000000
|
|
TomParaStyleNormal = -1
|
|
TomParaStyleHeading1 = -2
|
|
TomParaStyleHeading2 = -3
|
|
TomParaStyleHeading3 = -4
|
|
TomParaStyleHeading4 = -5
|
|
TomParaStyleHeading5 = -6
|
|
TomParaStyleHeading6 = -7
|
|
TomParaStyleHeading7 = -8
|
|
TomParaStyleHeading8 = -9
|
|
TomParaStyleHeading9 = -10
|
|
TomCharacter = 1
|
|
TomWord = 2
|
|
TomSentence = 3
|
|
TomParagraph = 4
|
|
TomLine = 5
|
|
TomStory = 6
|
|
TomScreen = 7
|
|
TomSection = 8
|
|
TomTableColumn = 9
|
|
TomColumn = 9
|
|
TomRow = 10
|
|
TomWindow = 11
|
|
TomCell = 12
|
|
TomCharFormat = 13
|
|
TomParaFormat = 14
|
|
TomTable = 15
|
|
TomObject = 16
|
|
TomPage = 17
|
|
TomHardParagraph = 18
|
|
TomCluster = 19
|
|
TomInlineObject = 20
|
|
TomInlineObjectArg = 21
|
|
TomLeafLine = 22
|
|
TomLayoutColumn = 23
|
|
TomProcessId = 0x40000001
|
|
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
|
|
TomScratchStory = 127
|
|
TomFindStory = 128
|
|
TomReplaceStory = 129
|
|
TomStoryInactive = 0
|
|
TomStoryActiveDisplay = 1
|
|
TomStoryActiveUI = 2
|
|
TomStoryActiveDisplayUI = 3
|
|
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
|
|
TomSubscriptCF = 0x80010000
|
|
TomSuperscriptCF = 0x80020000
|
|
TomFontBound = 0x80100000
|
|
TomLinkProtected = 0x80800000
|
|
TomInlineObjectStart = 0x81000000
|
|
TomExtendedChar = 0x82000000
|
|
TomAutoBackColor = 0x84000000
|
|
TomMathZoneNoBuildUp = 0x88000000
|
|
TomMathZone = 0x90000000
|
|
TomMathZoneOrdinary = 0xa0000000
|
|
TomAutoTextColor = 0xc0000000
|
|
TomMathZoneDisplay = 0x40000
|
|
TomParaEffectRTL = 0x1
|
|
TomParaEffectKeep = 0x2
|
|
TomParaEffectKeepNext = 0x4
|
|
TomParaEffectPageBreakBefore = 0x8
|
|
TomParaEffectNoLineNumber = 0x10
|
|
TomParaEffectNoWidowControl = 0x20
|
|
TomParaEffectDoNotHyphen = 0x40
|
|
TomParaEffectSideBySide = 0x80
|
|
TomParaEffectCollapsed = 0x100
|
|
TomParaEffectOutlineLevel = 0x200
|
|
TomParaEffectBox = 0x400
|
|
TomParaEffectTableRowDelimiter = 0x1000
|
|
TomParaEffectTable = 0x4000
|
|
TomModWidthPairs = 0x1
|
|
TomModWidthSpace = 0x2
|
|
TomAutoSpaceAlpha = 0x4
|
|
TomAutoSpaceNumeric = 0x8
|
|
TomAutoSpaceParens = 0x10
|
|
TomEmbeddedFont = 0x20
|
|
TomDoublestrike = 0x40
|
|
TomOverlapping = 0x80
|
|
TomNormalCaret = 0
|
|
TomKoreanBlockCaret = 0x1
|
|
TomNullCaret = 0x2
|
|
TomIncludeInset = 0x1
|
|
TomUnicodeBiDi = 0x1
|
|
TomMathCFCheck = 0x4
|
|
TomUnlink = 0x8
|
|
TomUnhide = 0x10
|
|
TomCheckTextLimit = 0x20
|
|
TomIgnoreCurrentFont = 0
|
|
TomMatchCharRep = 0x1
|
|
TomMatchFontSignature = 0x2
|
|
TomMatchAscii = 0x4
|
|
TomGetHeightOnly = 0x8
|
|
TomMatchMathFont = 0x10
|
|
TomCharset = 0x80000000
|
|
TomCharRepFromLcid = 0x40000000
|
|
TomAnsi = 0
|
|
TomEastEurope = 1
|
|
TomCyrillic = 2
|
|
TomGreek = 3
|
|
TomTurkish = 4
|
|
TomHebrew = 5
|
|
TomArabic = 6
|
|
TomBaltic = 7
|
|
TomVietnamese = 8
|
|
TomDefaultCharRep = 9
|
|
TomSymbol = 10
|
|
TomThai = 11
|
|
TomShiftJIS = 12
|
|
TomGB2312 = 13
|
|
TomHangul = 14
|
|
TomBIG5 = 15
|
|
TomPC437 = 16
|
|
TomOEM = 17
|
|
TomMac = 18
|
|
TomArmenian = 19
|
|
TomSyriac = 20
|
|
TomThaana = 21
|
|
TomDevanagari = 22
|
|
TomBengali = 23
|
|
TomGurmukhi = 24
|
|
TomGujarati = 25
|
|
TomOriya = 26
|
|
TomTamil = 27
|
|
TomTelugu = 28
|
|
TomKannada = 29
|
|
TomMalayalam = 30
|
|
TomSinhala = 31
|
|
TomLao = 32
|
|
TomTibetan = 33
|
|
TomMyanmar = 34
|
|
TomGeorgian = 35
|
|
TomJamo = 36
|
|
TomEthiopic = 37
|
|
TomCherokee = 38
|
|
TomAboriginal = 39
|
|
TomOgham = 40
|
|
TomRunic = 41
|
|
TomKhmer = 42
|
|
TomMongolian = 43
|
|
TomBraille = 44
|
|
TomYi = 45
|
|
TomLimbu = 46
|
|
TomTaiLe = 47
|
|
TomNewTaiLue = 48
|
|
TomSylotiNagri = 49
|
|
TomKharoshthi = 50
|
|
TomKayahli = 51
|
|
TomUsymbol = 52
|
|
TomEmoji = 53
|
|
TomGlagolitic = 54
|
|
TomLisu = 55
|
|
TomVai = 56
|
|
TomNKo = 57
|
|
TomOsmanya = 58
|
|
TomPhagsPa = 59
|
|
TomGothic = 60
|
|
TomDeseret = 61
|
|
TomTifinagh = 62
|
|
TomCharRepMax = 63
|
|
TomRE10Mode = 0x1
|
|
TomUseAtFont = 0x2
|
|
TomTextFlowMask = 0xc
|
|
TomTextFlowES = 0
|
|
TomTextFlowSW = 0x4
|
|
TomTextFlowWN = 0x8
|
|
TomTextFlowNE = 0xc
|
|
TomNoIME = 0x80000
|
|
TomSelfIME = 0x40000
|
|
TomNoUpScroll = 0x10000
|
|
TomNoVpScroll = 0x40000
|
|
TomNoLink = 0
|
|
TomClientLink = 1
|
|
TomFriendlyLinkName = 2
|
|
TomFriendlyLinkAddress = 3
|
|
TomAutoLinkURL = 4
|
|
TomAutoLinkEmail = 5
|
|
TomAutoLinkPhone = 6
|
|
TomAutoLinkPath = 7
|
|
TomCompressNone = 0
|
|
TomCompressPunctuation = 1
|
|
TomCompressPunctuationAndKana = 2
|
|
TomCompressMax = 2
|
|
TomUnderlinePositionAuto = 0
|
|
TomUnderlinePositionBelow = 1
|
|
TomUnderlinePositionAbove = 2
|
|
TomUnderlinePositionMax = 2
|
|
TomFontAlignmentAuto = 0
|
|
TomFontAlignmentTop = 1
|
|
TomFontAlignmentBaseline = 2
|
|
TomFontAlignmentBottom = 3
|
|
TomFontAlignmentCenter = 4
|
|
TomFontAlignmentMax = 4
|
|
TomRubyBelow = 0x80
|
|
TomRubyAlignCenter = 0
|
|
TomRubyAlign010 = 1
|
|
TomRubyAlign121 = 2
|
|
TomRubyAlignLeft = 3
|
|
TomRubyAlignRight = 4
|
|
TomLimitsDefault = 0
|
|
TomLimitsUnderOver = 1
|
|
TomLimitsSubSup = 2
|
|
TomUpperLimitAsSuperScript = 3
|
|
TomLimitsOpposite = 4
|
|
TomShowLLimPlaceHldr = 8
|
|
TomShowULimPlaceHldr = 16
|
|
TomDontGrowWithContent = 64
|
|
TomGrowWithContent = 128
|
|
TomSubSupAlign = 1
|
|
TomLimitAlignMask = 3
|
|
TomLimitAlignCenter = 0
|
|
TomLimitAlignLeft = 1
|
|
TomLimitAlignRight = 2
|
|
TomShowDegPlaceHldr = 8
|
|
TomAlignDefault = 0
|
|
TomAlignMatchAscentDescent = 2
|
|
TomMathVariant = 0x20
|
|
TomStyleDefault = 0
|
|
TomStyleScriptScriptCramped = 1
|
|
TomStyleScriptScript = 2
|
|
TomStyleScriptCramped = 3
|
|
TomStyleScript = 4
|
|
TomStyleTextCramped = 5
|
|
TomStyleText = 6
|
|
TomStyleDisplayCramped = 7
|
|
TomStyleDisplay = 8
|
|
TomMathRelSize = 0x40
|
|
TomDecDecSize = 0xfe
|
|
TomDecSize = 0xff
|
|
TomIncSize = (1 | TomMathRelSize)
|
|
TomIncIncSize = (2 | TomMathRelSize)
|
|
TomGravityUI = 0
|
|
TomGravityBack = 1
|
|
TomGravityFore = 2
|
|
TomGravityIn = 3
|
|
TomGravityOut = 4
|
|
TomGravityBackward = 0x20000000
|
|
TomGravityForward = 0x40000000
|
|
TomAdjustCRLF = 1
|
|
TomUseCRLF = 2
|
|
TomTextize = 4
|
|
TomAllowFinalEOP = 8
|
|
TomFoldMathAlpha = 16
|
|
TomNoHidden = 32
|
|
TomIncludeNumbering = 64
|
|
TomTranslateTableCell = 128
|
|
TomNoMathZoneBrackets = 0x100
|
|
TomConvertMathChar = 0x200
|
|
TomNoUCGreekItalic = 0x400
|
|
TomAllowMathBold = 0x800
|
|
TomLanguageTag = 0x1000
|
|
TomConvertRTF = 0x2000
|
|
TomApplyRtfDocProps = 0x4000
|
|
TomPhantomShow = 1
|
|
TomPhantomZeroWidth = 2
|
|
TomPhantomZeroAscent = 4
|
|
TomPhantomZeroDescent = 8
|
|
TomPhantomTransparent = 16
|
|
TomPhantomASmash = (TomPhantomShow | TomPhantomZeroAscent)
|
|
TomPhantomDSmash = (TomPhantomShow | TomPhantomZeroDescent)
|
|
TomPhantomHSmash = (TomPhantomShow | TomPhantomZeroWidth)
|
|
TomPhantomSmash = ((TomPhantomShow | TomPhantomZeroAscent) | TomPhantomZeroDescent)
|
|
TomPhantomHorz = (TomPhantomZeroAscent | TomPhantomZeroDescent)
|
|
TomPhantomVert = TomPhantomZeroWidth
|
|
TomBoxHideTop = 1
|
|
TomBoxHideBottom = 2
|
|
TomBoxHideLeft = 4
|
|
TomBoxHideRight = 8
|
|
TomBoxStrikeH = 16
|
|
TomBoxStrikeV = 32
|
|
TomBoxStrikeTLBR = 64
|
|
TomBoxStrikeBLTR = 128
|
|
TomBoxAlignCenter = 1
|
|
TomSpaceMask = 0x1c
|
|
TomSpaceDefault = 0
|
|
TomSpaceUnary = 4
|
|
TomSpaceBinary = 8
|
|
TomSpaceRelational = 12
|
|
TomSpaceSkip = 16
|
|
TomSpaceOrd = 20
|
|
TomSpaceDifferential = 24
|
|
TomSizeText = 32
|
|
TomSizeScript = 64
|
|
TomSizeScriptScript = 96
|
|
TomNoBreak = 128
|
|
TomTransparentForPositioning = 256
|
|
TomTransparentForSpacing = 512
|
|
TomStretchCharBelow = 0
|
|
TomStretchCharAbove = 1
|
|
TomStretchBaseBelow = 2
|
|
TomStretchBaseAbove = 3
|
|
TomMatrixAlignMask = 3
|
|
TomMatrixAlignCenter = 0
|
|
TomMatrixAlignTopRow = 1
|
|
TomMatrixAlignBottomRow = 3
|
|
TomShowMatPlaceHldr = 8
|
|
TomEqArrayLayoutWidth = 1
|
|
TomEqArrayAlignMask = 0xc
|
|
TomEqArrayAlignCenter = 0
|
|
TomEqArrayAlignTopRow = 4
|
|
TomEqArrayAlignBottomRow = 0xc
|
|
TomMathManualBreakMask = 0x7f
|
|
TomMathBreakLeft = 0x7d
|
|
TomMathBreakCenter = 0x7e
|
|
TomMathBreakRight = 0x7f
|
|
TomMathEqAlign = 0x80
|
|
TomMathArgShadingStart = 0x251
|
|
TomMathArgShadingEnd = 0x252
|
|
TomMathObjShadingStart = 0x253
|
|
TomMathObjShadingEnd = 0x254
|
|
TomFunctionTypeNone = 0
|
|
TomFunctionTypeTakesArg = 1
|
|
TomFunctionTypeTakesLim = 2
|
|
TomFunctionTypeTakesLim2 = 3
|
|
TomFunctionTypeIsLim = 4
|
|
TomMathParaAlignDefault = 0
|
|
TomMathParaAlignCenterGroup = 1
|
|
TomMathParaAlignCenter = 2
|
|
TomMathParaAlignLeft = 3
|
|
TomMathParaAlignRight = 4
|
|
TomMathDispAlignMask = 3
|
|
TomMathDispAlignCenterGroup = 0
|
|
TomMathDispAlignCenter = 1
|
|
TomMathDispAlignLeft = 2
|
|
TomMathDispAlignRight = 3
|
|
TomMathDispIntUnderOver = 4
|
|
TomMathDispFracTeX = 8
|
|
TomMathDispNaryGrow = 0x10
|
|
TomMathDocEmptyArgMask = 0x60
|
|
TomMathDocEmptyArgAuto = 0
|
|
TomMathDocEmptyArgAlways = 0x20
|
|
TomMathDocEmptyArgNever = 0x40
|
|
TomMathDocSbSpOpUnchanged = 0x80
|
|
TomMathDocDiffMask = 0x300
|
|
TomMathDocDiffDefault = 0
|
|
TomMathDocDiffUpright = 0x100
|
|
TomMathDocDiffItalic = 0x200
|
|
TomMathDocDiffOpenItalic = 0x300
|
|
TomMathDispNarySubSup = 0x400
|
|
TomMathDispDef = 0x800
|
|
TomMathEnableRtl = 0x1000
|
|
TomMathBrkBinMask = 0x30000
|
|
TomMathBrkBinBefore = 0
|
|
TomMathBrkBinAfter = 0x10000
|
|
TomMathBrkBinDup = 0x20000
|
|
TomMathBrkBinSubMask = 0xc0000
|
|
TomMathBrkBinSubMM = 0
|
|
TomMathBrkBinSubPM = 0x40000
|
|
TomMathBrkBinSubMP = 0x80000
|
|
TomSelRange = 0x255
|
|
TomHstring = 0x254
|
|
TomFontPropTeXStyle = 0x33c
|
|
TomFontPropAlign = 0x33d
|
|
TomFontStretch = 0x33e
|
|
TomFontStyle = 0x33f
|
|
TomFontStyleUpright = 0
|
|
TomFontStyleOblique = 1
|
|
TomFontStyleItalic = 2
|
|
TomFontStretchDefault = 0
|
|
TomFontStretchUltraCondensed = 1
|
|
TomFontStretchExtraCondensed = 2
|
|
TomFontStretchCondensed = 3
|
|
TomFontStretchSemiCondensed = 4
|
|
TomFontStretchNormal = 5
|
|
TomFontStretchSemiExpanded = 6
|
|
TomFontStretchExpanded = 7
|
|
TomFontStretchExtraExpanded = 8
|
|
TomFontStretchUltraExpanded = 9
|
|
TomFontWeightDefault = 0
|
|
TomFontWeightThin = 100
|
|
TomFontWeightExtraLight = 200
|
|
TomFontWeightLight = 300
|
|
TomFontWeightNormal = 400
|
|
TomFontWeightRegular = 400
|
|
TomFontWeightMedium = 500
|
|
TomFontWeightSemiBold = 600
|
|
TomFontWeightBold = 700
|
|
TomFontWeightExtraBold = 800
|
|
TomFontWeightBlack = 900
|
|
TomFontWeightHeavy = 900
|
|
TomFontWeightExtraBlack = 950
|
|
TomParaPropMathAlign = 0x437
|
|
TomDocMathBuild = 0x80
|
|
TomMathLMargin = 0x81
|
|
TomMathRMargin = 0x82
|
|
TomMathWrapIndent = 0x83
|
|
TomMathWrapRight = 0x84
|
|
TomMathPostSpace = 0x86
|
|
TomMathPreSpace = 0x85
|
|
TomMathInterSpace = 0x87
|
|
TomMathIntraSpace = 0x88
|
|
TomCanCopy = 0x89
|
|
TomCanRedo = 0x8a
|
|
TomCanUndo = 0x8b
|
|
TomUndoLimit = 0x8c
|
|
TomDocAutoLink = 0x8d
|
|
TomEllipsisMode = 0x8e
|
|
TomEllipsisState = 0x8f
|
|
TomEllipsisNone = 0
|
|
TomEllipsisEnd = 1
|
|
TomEllipsisWord = 3
|
|
TomEllipsisPresent = 1
|
|
TomVTopCell = 1
|
|
TomVLowCell = 2
|
|
TomHStartCell = 4
|
|
TomHContCell = 8
|
|
TomRowUpdate = 1
|
|
TomRowApplyDefault = 0
|
|
TomCellStructureChangeOnly = 1
|
|
TomRowHeightActual = 0x80b
|
|
)
|
|
|
|
type OBJECTTYPE int32
|
|
|
|
const (
|
|
TomSimpleText OBJECTTYPE = 0
|
|
TomRuby = (TomSimpleText + 1)
|
|
TomHorzVert = (TomRuby + 1)
|
|
TomWarichu = (TomHorzVert + 1)
|
|
TomEq = 9
|
|
TomMath = 10
|
|
TomAccent = TomMath
|
|
TomBox = (TomAccent + 1)
|
|
TomBoxedFormula = (TomBox + 1)
|
|
TomBrackets = (TomBoxedFormula + 1)
|
|
TomBracketsWithSeps = (TomBrackets + 1)
|
|
TomEquationArray = (TomBracketsWithSeps + 1)
|
|
TomFraction = (TomEquationArray + 1)
|
|
TomFunctionApply = (TomFraction + 1)
|
|
TomLeftSubSup = (TomFunctionApply + 1)
|
|
TomLowerLimit = (TomLeftSubSup + 1)
|
|
TomMatrix = (TomLowerLimit + 1)
|
|
TomNary = (TomMatrix + 1)
|
|
TomOpChar = (TomNary + 1)
|
|
TomOverbar = (TomOpChar + 1)
|
|
TomPhanTom = (TomOverbar + 1)
|
|
TomRadical = (TomPhanTom + 1)
|
|
TomSlashedFraction = (TomRadical + 1)
|
|
TomStack = (TomSlashedFraction + 1)
|
|
TomStretchStack = (TomStack + 1)
|
|
TomSubscript = (TomStretchStack + 1)
|
|
TomSubSup = (TomSubscript + 1)
|
|
TomSuperscript = (TomSubSup + 1)
|
|
TomUnderbar = (TomSuperscript + 1)
|
|
TomUpperLimit = (TomUnderbar + 1)
|
|
TomObjectMax = TomUpperLimit
|
|
)
|
|
|
|
type ITextRangeVtbl struct {
|
|
IDispatchVtbl
|
|
GetText uintptr
|
|
SetText uintptr
|
|
GetChar uintptr
|
|
SetChar uintptr
|
|
GetDuplicate uintptr
|
|
GetFormattedText uintptr
|
|
SetFormattedText uintptr
|
|
GetStart uintptr
|
|
SetStart uintptr
|
|
GetEnd uintptr
|
|
SetEnd uintptr
|
|
GetFont uintptr
|
|
SetFont uintptr
|
|
GetPara uintptr
|
|
SetPara uintptr
|
|
GetStoryLength uintptr
|
|
GetStoryType uintptr
|
|
Collapse uintptr
|
|
Expand uintptr
|
|
GetIndex uintptr
|
|
SetIndex uintptr
|
|
SetRange uintptr
|
|
InRange uintptr
|
|
InStory uintptr
|
|
IsEqual uintptr
|
|
Select uintptr
|
|
StartOf uintptr
|
|
EndOf uintptr
|
|
Move uintptr
|
|
MoveStart uintptr
|
|
MoveEnd uintptr
|
|
MoveWhile uintptr
|
|
MoveStartWhile uintptr
|
|
MoveEndWhile uintptr
|
|
MoveUntil uintptr
|
|
MoveStartUntil uintptr
|
|
MoveEndUntil uintptr
|
|
FindText uintptr
|
|
FindTextStart uintptr
|
|
FindTextEnd uintptr
|
|
Delete uintptr
|
|
Cut uintptr
|
|
Copy uintptr
|
|
Paste uintptr
|
|
CanPaste uintptr
|
|
CanEdit uintptr
|
|
ChangeCase uintptr
|
|
GetPoint uintptr
|
|
SetPoint uintptr
|
|
ScrollIntoView uintptr
|
|
GetEmbeddedObject uintptr
|
|
}
|
|
|
|
type ITextRange struct {
|
|
LpVtbl *ITextRangeVtbl
|
|
}
|
|
|
|
type ITextSelectionVtbl struct {
|
|
ITextRangeVtbl
|
|
GetFlags uintptr
|
|
SetFlags uintptr
|
|
GetType uintptr
|
|
MoveLeft uintptr
|
|
MoveRight uintptr
|
|
MoveUp uintptr
|
|
MoveDown uintptr
|
|
HomeKey uintptr
|
|
EndKey uintptr
|
|
TypeText uintptr
|
|
}
|
|
|
|
type ITextSelection struct {
|
|
LpVtbl *ITextSelectionVtbl
|
|
}
|
|
|
|
type ITextDocumentVtbl struct {
|
|
IDispatchVtbl
|
|
GetName uintptr
|
|
GetSelection uintptr
|
|
GetStoryCount uintptr
|
|
GetStoryRanges uintptr
|
|
GetSaved uintptr
|
|
SetSaved uintptr
|
|
GetDefaultTabStop uintptr
|
|
SetDefaultTabStop uintptr
|
|
New uintptr
|
|
Open uintptr
|
|
Save uintptr
|
|
Freeze uintptr
|
|
Unfreeze uintptr
|
|
BeginEditCollection uintptr
|
|
EndEditCollection uintptr
|
|
Undo uintptr
|
|
Redo uintptr
|
|
Range uintptr
|
|
RangeFromPoint uintptr
|
|
}
|
|
|
|
type ITextStoryRangesVtbl struct {
|
|
IDispatchVtbl
|
|
NewEnum uintptr
|
|
Item uintptr
|
|
GetCount uintptr
|
|
}
|
|
|
|
type ITextStoryRanges struct {
|
|
LpVtbl *ITextStoryRangesVtbl
|
|
}
|
|
|
|
var (
|
|
IID_ITextDocument = IID{0x8CC497C0, 0xA1DF, 0x11CE, [8]byte{0x80, 0x98, 0x00, 0xAA, 0x00, 0x47, 0xBE, 0x5D}}
|
|
)
|
|
|
|
type ITextDocument struct {
|
|
LpVtbl *ITextDocumentVtbl
|
|
}
|
|
|
|
func (obj *ITextDocument) QueryInterface(riid REFIID, ppvObject *unsafe.Pointer) HRESULT {
|
|
ret, _, _ := syscall.Syscall(obj.LpVtbl.QueryInterface, 3,
|
|
uintptr(unsafe.Pointer(obj)),
|
|
uintptr(unsafe.Pointer(riid)),
|
|
uintptr(unsafe.Pointer(ppvObject)))
|
|
return HRESULT(ret)
|
|
}
|
|
|
|
func (obj *ITextDocument) AddRef() uint32 {
|
|
ret, _, _ := syscall.Syscall(obj.LpVtbl.AddRef, 1,
|
|
uintptr(unsafe.Pointer(obj)),
|
|
0,
|
|
0)
|
|
return uint32(ret)
|
|
}
|
|
|
|
func (obj *ITextDocument) Release() uint32 {
|
|
ret, _, _ := syscall.Syscall(obj.LpVtbl.Release, 1,
|
|
uintptr(unsafe.Pointer(obj)),
|
|
0,
|
|
0)
|
|
return uint32(ret)
|
|
}
|
|
|
|
func (obj *ITextDocument) GetTypeInfoCount(pctinfo *uint32) HRESULT {
|
|
ret, _, _ := syscall.Syscall(obj.LpVtbl.GetTypeInfoCount, 2,
|
|
uintptr(unsafe.Pointer(obj)),
|
|
uintptr(unsafe.Pointer(pctinfo)),
|
|
0)
|
|
return HRESULT(ret)
|
|
}
|
|
|
|
func (obj *ITextDocument) GetTypeInfo(iTInfo uint32, lcid LCID, ppTInfo **ITypeInfo) HRESULT {
|
|
ret, _, _ := syscall.Syscall6(obj.LpVtbl.GetTypeInfo, 4,
|
|
uintptr(unsafe.Pointer(obj)),
|
|
uintptr(iTInfo),
|
|
uintptr(lcid),
|
|
uintptr(unsafe.Pointer(ppTInfo)),
|
|
0,
|
|
0)
|
|
return HRESULT(ret)
|
|
}
|
|
|
|
func (obj *ITextDocument) GetIDsOfNames(riid REFIID, rgszNames **uint16, cNames uint32, lcid LCID, rgDispId *DISPID) HRESULT {
|
|
ret, _, _ := syscall.Syscall6(obj.LpVtbl.GetIDsOfNames, 6,
|
|
uintptr(unsafe.Pointer(obj)),
|
|
uintptr(unsafe.Pointer(riid)),
|
|
uintptr(unsafe.Pointer(rgszNames)),
|
|
uintptr(cNames),
|
|
uintptr(lcid),
|
|
uintptr(unsafe.Pointer(rgDispId)))
|
|
return HRESULT(ret)
|
|
}
|
|
|
|
func (obj *ITextDocument) Invoke(dispIdMember DISPID, riid REFIID, lcid LCID, wFlags uint16, pDispParams *DISPPARAMS, pVarResult *VARIANT, pExcepInfo *EXCEPINFO, puArgErr *uint32) HRESULT {
|
|
ret, _, _ := syscall.Syscall9(obj.LpVtbl.Invoke, 9,
|
|
uintptr(unsafe.Pointer(obj)),
|
|
uintptr(dispIdMember),
|
|
uintptr(unsafe.Pointer(riid)),
|
|
uintptr(lcid),
|
|
uintptr(wFlags),
|
|
uintptr(unsafe.Pointer(pDispParams)),
|
|
uintptr(unsafe.Pointer(pVarResult)),
|
|
uintptr(unsafe.Pointer(pExcepInfo)),
|
|
uintptr(unsafe.Pointer(puArgErr)))
|
|
return HRESULT(ret)
|
|
}
|
|
|
|
func (obj *ITextDocument) GetName(pName **uint16 /*BSTR*/) HRESULT {
|
|
ret, _, _ := syscall.Syscall(obj.LpVtbl.GetName, 2,
|
|
uintptr(unsafe.Pointer(obj)),
|
|
uintptr(unsafe.Pointer(pName)),
|
|
0)
|
|
return HRESULT(ret)
|
|
|
|
}
|
|
|
|
func (obj *ITextDocument) GetSelection(ppSel **ITextSelection) HRESULT {
|
|
ret, _, _ := syscall.Syscall(obj.LpVtbl.GetSelection, 2,
|
|
uintptr(unsafe.Pointer(obj)),
|
|
uintptr(unsafe.Pointer(ppSel)),
|
|
0)
|
|
return HRESULT(ret)
|
|
}
|
|
|
|
func (obj *ITextDocument) GetStoryCount(pCount *int32) HRESULT {
|
|
ret, _, _ := syscall.Syscall(obj.LpVtbl.GetStoryCount, 2,
|
|
uintptr(unsafe.Pointer(obj)),
|
|
uintptr(unsafe.Pointer(pCount)),
|
|
0)
|
|
return HRESULT(ret)
|
|
}
|
|
|
|
func (obj *ITextDocument) GetStoryRanges(ppStories **ITextStoryRanges) HRESULT {
|
|
ret, _, _ := syscall.Syscall(obj.LpVtbl.GetStoryRanges, 2,
|
|
uintptr(unsafe.Pointer(obj)),
|
|
uintptr(unsafe.Pointer(ppStories)),
|
|
0)
|
|
return HRESULT(ret)
|
|
}
|
|
|
|
func (obj *ITextDocument) GetSaved(pValue *int32) HRESULT {
|
|
ret, _, _ := syscall.Syscall(obj.LpVtbl.GetSaved, 2,
|
|
uintptr(unsafe.Pointer(obj)),
|
|
uintptr(unsafe.Pointer(pValue)),
|
|
0)
|
|
return HRESULT(ret)
|
|
}
|
|
|
|
func (obj *ITextDocument) SetSaved(Value int32) HRESULT {
|
|
ret, _, _ := syscall.Syscall(obj.LpVtbl.SetSaved, 2,
|
|
uintptr(unsafe.Pointer(obj)),
|
|
uintptr(Value),
|
|
0)
|
|
return HRESULT(ret)
|
|
}
|
|
|
|
func (obj *ITextDocument) GetDefaultTabStop(pValue *float32) HRESULT {
|
|
ret, _, _ := syscall.Syscall(obj.LpVtbl.GetDefaultTabStop, 2,
|
|
uintptr(unsafe.Pointer(obj)),
|
|
uintptr(unsafe.Pointer(pValue)),
|
|
0)
|
|
return HRESULT(ret)
|
|
}
|
|
|
|
func (obj *ITextDocument) SetDefaultTabStop(Value float32) HRESULT {
|
|
ret, _, _ := syscall.Syscall(obj.LpVtbl.SetDefaultTabStop, 2,
|
|
uintptr(unsafe.Pointer(obj)),
|
|
uintptr(Value),
|
|
0)
|
|
return HRESULT(ret)
|
|
}
|
|
|
|
func (obj *ITextDocument) New() HRESULT {
|
|
ret, _, _ := syscall.Syscall(obj.LpVtbl.New, 1,
|
|
uintptr(unsafe.Pointer(obj)),
|
|
0,
|
|
0)
|
|
return HRESULT(ret)
|
|
}
|
|
|
|
func (obj *ITextDocument) Open(pVar *VARIANT, Flags int32, CodePage int32) HRESULT {
|
|
ret, _, _ := syscall.Syscall6(obj.LpVtbl.Open, 4,
|
|
uintptr(unsafe.Pointer(obj)),
|
|
uintptr(unsafe.Pointer(pVar)),
|
|
uintptr(Flags),
|
|
uintptr(CodePage),
|
|
0,
|
|
0)
|
|
return HRESULT(ret)
|
|
}
|
|
|
|
func (obj *ITextDocument) Save(pVar *VARIANT, Flags int32, CodePage int32) HRESULT {
|
|
ret, _, _ := syscall.Syscall6(obj.LpVtbl.Save, 4,
|
|
uintptr(unsafe.Pointer(obj)),
|
|
uintptr(unsafe.Pointer(pVar)),
|
|
uintptr(Flags),
|
|
uintptr(CodePage),
|
|
0,
|
|
0)
|
|
return HRESULT(ret)
|
|
}
|
|
|
|
func (obj *ITextDocument) Freeze(pCount *int32) HRESULT {
|
|
ret, _, _ := syscall.Syscall(obj.LpVtbl.Freeze, 2,
|
|
uintptr(unsafe.Pointer(obj)),
|
|
uintptr(unsafe.Pointer(pCount)),
|
|
0)
|
|
return HRESULT(ret)
|
|
}
|
|
|
|
func (obj *ITextDocument) Unfreeze(pCount *int32) HRESULT {
|
|
ret, _, _ := syscall.Syscall(obj.LpVtbl.Freeze, 2,
|
|
uintptr(unsafe.Pointer(obj)),
|
|
uintptr(unsafe.Pointer(pCount)),
|
|
0)
|
|
return HRESULT(ret)
|
|
}
|
|
|
|
func (obj *ITextDocument) BeginEditCollection() HRESULT {
|
|
ret, _, _ := syscall.Syscall(obj.LpVtbl.BeginEditCollection, 1,
|
|
uintptr(unsafe.Pointer(obj)),
|
|
0,
|
|
0)
|
|
return HRESULT(ret)
|
|
}
|
|
|
|
func (obj *ITextDocument) EndEditCollection() HRESULT {
|
|
ret, _, _ := syscall.Syscall(obj.LpVtbl.EndEditCollection, 1,
|
|
uintptr(unsafe.Pointer(obj)),
|
|
0,
|
|
0)
|
|
return HRESULT(ret)
|
|
}
|
|
|
|
func (obj *ITextDocument) Undo(Count int32, pCount *int32) HRESULT {
|
|
ret, _, _ := syscall.Syscall(obj.LpVtbl.Undo, 3,
|
|
uintptr(unsafe.Pointer(obj)),
|
|
uintptr(Count),
|
|
uintptr(unsafe.Pointer(pCount)))
|
|
return HRESULT(ret)
|
|
}
|
|
|
|
func (obj *ITextDocument) Redo(Count int32, pCount *int32) HRESULT {
|
|
ret, _, _ := syscall.Syscall(obj.LpVtbl.Redo, 3,
|
|
uintptr(unsafe.Pointer(obj)),
|
|
uintptr(Count),
|
|
uintptr(unsafe.Pointer(pCount)))
|
|
return HRESULT(ret)
|
|
}
|
|
|
|
func (obj *ITextDocument) Range(cpActive int32, cpAnchor int32, ppRange **ITextRange) HRESULT {
|
|
ret, _, _ := syscall.Syscall6(obj.LpVtbl.Range, 4,
|
|
uintptr(unsafe.Pointer(obj)),
|
|
uintptr(cpActive),
|
|
uintptr(cpAnchor),
|
|
uintptr(unsafe.Pointer(ppRange)),
|
|
0,
|
|
0)
|
|
return HRESULT(ret)
|
|
}
|
|
|
|
func (obj *ITextDocument) RangeFromPoint(x int32, y int32, ppRange **ITextRange) HRESULT {
|
|
ret, _, _ := syscall.Syscall6(obj.LpVtbl.RangeFromPoint, 4,
|
|
uintptr(unsafe.Pointer(obj)),
|
|
uintptr(x),
|
|
uintptr(y),
|
|
uintptr(unsafe.Pointer(ppRange)),
|
|
0,
|
|
0)
|
|
return HRESULT(ret)
|
|
}
|