go-tg-screenshot-bot

Форк
0
989 строк · 42.1 Кб
1
// Copyright 2011 The win Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style
3
// license that can be found in the LICENSE file.
4

5
// +build windows
6

7
package win
8

9
import (
10
	"syscall"
11
	"unsafe"
12
)
13

14
type TomConstants uint32
15

16
const (
17
	TomFalse                           TomConstants = 0
18
	TomTrue                                         = -1
19
	TomUndefined                                    = -9999999
20
	TomToggle                                       = -9999998
21
	TomAutoColor                                    = -9999997
22
	TomDefault                                      = -9999996
23
	TomSuspend                                      = -9999995
24
	TomResume                                       = -9999994
25
	TomApplyNow                                     = 0
26
	TomApplyLater                                   = 1
27
	TomTrackParms                                   = 2
28
	TomCacheParms                                   = 3
29
	TomApplyTmp                                     = 4
30
	TomDisableSmartFont                             = 8
31
	TomEnableSmartFont                              = 9
32
	TomUsePoints                                    = 10
33
	TomUseTwips                                     = 11
34
	TomBackward                                     = 0xc0000001
35
	TomForward                                      = 0x3fffffff
36
	TomMove                                         = 0
37
	TomExtend                                       = 1
38
	TomNoSelection                                  = 0
39
	TomSelectionIP                                  = 1
40
	TomSelectionNormal                              = 2
41
	TomSelectionFrame                               = 3
42
	TomSelectionColumn                              = 4
43
	TomSelectionRow                                 = 5
44
	TomSelectionBlock                               = 6
45
	TomSelectionInlineShape                         = 7
46
	TomSelectionShape                               = 8
47
	TomSelStartActive                               = 1
48
	TomSelAtEOL                                     = 2
49
	TomSelOvertype                                  = 4
50
	TomSelActive                                    = 8
51
	TomSelReplace                                   = 16
52
	TomEnd                                          = 0
53
	TomStart                                        = 32
54
	TomCollapseEnd                                  = 0
55
	TomCollapseStart                                = 1
56
	TomClientCoord                                  = 256
57
	TomAllowOffClient                               = 512
58
	TomTransform                                    = 1024
59
	TomObjectArg                                    = 2048
60
	TomAtEnd                                        = 4096
61
	TomNone                                         = 0
62
	TomSingle                                       = 1
63
	TomWords                                        = 2
64
	TomDouble                                       = 3
65
	TomDotted                                       = 4
66
	TomDash                                         = 5
67
	TomDashDot                                      = 6
68
	TomDashDotDot                                   = 7
69
	TomWave                                         = 8
70
	TomThick                                        = 9
71
	TomHair                                         = 10
72
	TomDoubleWave                                   = 11
73
	TomHeavyWave                                    = 12
74
	TomLongDash                                     = 13
75
	TomThickDash                                    = 14
76
	TomThickDashDot                                 = 15
77
	TomThickDashDotDot                              = 16
78
	TomThickDotted                                  = 17
79
	TomThickLongDash                                = 18
80
	TomLineSpaceSingle                              = 0
81
	TomLineSpace1pt5                                = 1
82
	TomLineSpaceDouble                              = 2
83
	TomLineSpaceAtLeast                             = 3
84
	TomLineSpaceExactly                             = 4
85
	TomLineSpaceMultiple                            = 5
86
	TomLineSpacePercent                             = 6
87
	TomAlignLeft                                    = 0
88
	TomAlignCenter                                  = 1
89
	TomAlignRight                                   = 2
90
	TomAlignJustify                                 = 3
91
	TomAlignDecimal                                 = 3
92
	TomAlignBar                                     = 4
93
	TomDefaultTab                                   = 5
94
	TomAlignInterWord                               = 3
95
	TomAlignNewspaper                               = 4
96
	TomAlignInterLetter                             = 5
97
	TomAlignScaled                                  = 6
98
	TomSpaces                                       = 0
99
	TomDots                                         = 1
100
	TomDashes                                       = 2
101
	TomLines                                        = 3
102
	TomThickLines                                   = 4
103
	TomEquals                                       = 5
104
	TomTabBack                                      = -3
105
	TomTabNext                                      = -2
106
	TomTabHere                                      = -1
107
	TomListNone                                     = 0
108
	TomListBullet                                   = 1
109
	TomListNumberAsArabic                           = 2
110
	TomListNumberAsLCLetter                         = 3
111
	TomListNumberAsUCLetter                         = 4
112
	TomListNumberAsLCRoman                          = 5
113
	TomListNumberAsUCRoman                          = 6
114
	TomListNumberAsSequence                         = 7
115
	TomListNumberedCircle                           = 8
116
	TomListNumberedBlackCircleWingding              = 9
117
	TomListNumberedWhiteCircleWingding              = 10
118
	TomListNumberedArabicWide                       = 11
119
	TomListNumberedChS                              = 12
120
	TomListNumberedChT                              = 13
121
	TomListNumberedJpnChS                           = 14
122
	TomListNumberedJpnKor                           = 15
123
	TomListNumberedArabic1                          = 16
124
	TomListNumberedArabic2                          = 17
125
	TomListNumberedHebrew                           = 18
126
	TomListNumberedThaiAlpha                        = 19
127
	TomListNumberedThaiNum                          = 20
128
	TomListNumberedHindiAlpha                       = 21
129
	TomListNumberedHindiAlpha1                      = 22
130
	TomListNumberedHindiNum                         = 23
131
	TomListParentheses                              = 0x10000
132
	TomListPeriod                                   = 0x20000
133
	TomListPlain                                    = 0x30000
134
	TomListNoNumber                                 = 0x40000
135
	TomListMinus                                    = 0x80000
136
	TomIgnoreNumberStyle                            = 0x1000000
137
	TomParaStyleNormal                              = -1
138
	TomParaStyleHeading1                            = -2
139
	TomParaStyleHeading2                            = -3
140
	TomParaStyleHeading3                            = -4
141
	TomParaStyleHeading4                            = -5
142
	TomParaStyleHeading5                            = -6
143
	TomParaStyleHeading6                            = -7
144
	TomParaStyleHeading7                            = -8
145
	TomParaStyleHeading8                            = -9
146
	TomParaStyleHeading9                            = -10
147
	TomCharacter                                    = 1
148
	TomWord                                         = 2
149
	TomSentence                                     = 3
150
	TomParagraph                                    = 4
151
	TomLine                                         = 5
152
	TomStory                                        = 6
153
	TomScreen                                       = 7
154
	TomSection                                      = 8
155
	TomTableColumn                                  = 9
156
	TomColumn                                       = 9
157
	TomRow                                          = 10
158
	TomWindow                                       = 11
159
	TomCell                                         = 12
160
	TomCharFormat                                   = 13
161
	TomParaFormat                                   = 14
162
	TomTable                                        = 15
163
	TomObject                                       = 16
164
	TomPage                                         = 17
165
	TomHardParagraph                                = 18
166
	TomCluster                                      = 19
167
	TomInlineObject                                 = 20
168
	TomInlineObjectArg                              = 21
169
	TomLeafLine                                     = 22
170
	TomLayoutColumn                                 = 23
171
	TomProcessId                                    = 0x40000001
172
	TomMatchWord                                    = 2
173
	TomMatchCase                                    = 4
174
	TomMatchPattern                                 = 8
175
	TomUnknownStory                                 = 0
176
	TomMainTextStory                                = 1
177
	TomFootnotesStory                               = 2
178
	TomEndnotesStory                                = 3
179
	TomCommentsStory                                = 4
180
	TomTextFrameStory                               = 5
181
	TomEvenPagesHeaderStory                         = 6
182
	TomPrimaryHeaderStory                           = 7
183
	TomEvenPagesFooterStory                         = 8
184
	TomPrimaryFooterStory                           = 9
185
	TomFirstPageHeaderStory                         = 10
186
	TomFirstPageFooterStory                         = 11
187
	TomScratchStory                                 = 127
188
	TomFindStory                                    = 128
189
	TomReplaceStory                                 = 129
190
	TomStoryInactive                                = 0
191
	TomStoryActiveDisplay                           = 1
192
	TomStoryActiveUI                                = 2
193
	TomStoryActiveDisplayUI                         = 3
194
	TomNoAnimation                                  = 0
195
	TomLasVegasLights                               = 1
196
	TomBlinkingBackground                           = 2
197
	TomSparkleText                                  = 3
198
	TomMarchingBlackAnts                            = 4
199
	TomMarchingRedAnts                              = 5
200
	TomShimmer                                      = 6
201
	TomWipeDown                                     = 7
202
	TomWipeRight                                    = 8
203
	TomAnimationMax                                 = 8
204
	TomLowerCase                                    = 0
205
	TomUpperCase                                    = 1
206
	TomTitleCase                                    = 2
207
	TomSentenceCase                                 = 4
208
	TomToggleCase                                   = 5
209
	TomReadOnly                                     = 0x100
210
	TomShareDenyRead                                = 0x200
211
	TomShareDenyWrite                               = 0x400
212
	TomPasteFile                                    = 0x1000
213
	TomCreateNew                                    = 0x10
214
	TomCreateAlways                                 = 0x20
215
	TomOpenExisting                                 = 0x30
216
	TomOpenAlways                                   = 0x40
217
	TomTruncateExisting                             = 0x50
218
	TomRTF                                          = 0x1
219
	TomText                                         = 0x2
220
	TomHTML                                         = 0x3
221
	TomWordDocument                                 = 0x4
222
	TomBold                                         = 0x80000001
223
	TomItalic                                       = 0x80000002
224
	TomUnderline                                    = 0x80000004
225
	TomStrikeout                                    = 0x80000008
226
	TomProtected                                    = 0x80000010
227
	TomLink                                         = 0x80000020
228
	TomSmallCaps                                    = 0x80000040
229
	TomAllCaps                                      = 0x80000080
230
	TomHidden                                       = 0x80000100
231
	TomOutline                                      = 0x80000200
232
	TomShadow                                       = 0x80000400
233
	TomEmboss                                       = 0x80000800
234
	TomImprint                                      = 0x80001000
235
	TomDisabled                                     = 0x80002000
236
	TomRevised                                      = 0x80004000
237
	TomSubscriptCF                                  = 0x80010000
238
	TomSuperscriptCF                                = 0x80020000
239
	TomFontBound                                    = 0x80100000
240
	TomLinkProtected                                = 0x80800000
241
	TomInlineObjectStart                            = 0x81000000
242
	TomExtendedChar                                 = 0x82000000
243
	TomAutoBackColor                                = 0x84000000
244
	TomMathZoneNoBuildUp                            = 0x88000000
245
	TomMathZone                                     = 0x90000000
246
	TomMathZoneOrdinary                             = 0xa0000000
247
	TomAutoTextColor                                = 0xc0000000
248
	TomMathZoneDisplay                              = 0x40000
249
	TomParaEffectRTL                                = 0x1
250
	TomParaEffectKeep                               = 0x2
251
	TomParaEffectKeepNext                           = 0x4
252
	TomParaEffectPageBreakBefore                    = 0x8
253
	TomParaEffectNoLineNumber                       = 0x10
254
	TomParaEffectNoWidowControl                     = 0x20
255
	TomParaEffectDoNotHyphen                        = 0x40
256
	TomParaEffectSideBySide                         = 0x80
257
	TomParaEffectCollapsed                          = 0x100
258
	TomParaEffectOutlineLevel                       = 0x200
259
	TomParaEffectBox                                = 0x400
260
	TomParaEffectTableRowDelimiter                  = 0x1000
261
	TomParaEffectTable                              = 0x4000
262
	TomModWidthPairs                                = 0x1
263
	TomModWidthSpace                                = 0x2
264
	TomAutoSpaceAlpha                               = 0x4
265
	TomAutoSpaceNumeric                             = 0x8
266
	TomAutoSpaceParens                              = 0x10
267
	TomEmbeddedFont                                 = 0x20
268
	TomDoublestrike                                 = 0x40
269
	TomOverlapping                                  = 0x80
270
	TomNormalCaret                                  = 0
271
	TomKoreanBlockCaret                             = 0x1
272
	TomNullCaret                                    = 0x2
273
	TomIncludeInset                                 = 0x1
274
	TomUnicodeBiDi                                  = 0x1
275
	TomMathCFCheck                                  = 0x4
276
	TomUnlink                                       = 0x8
277
	TomUnhide                                       = 0x10
278
	TomCheckTextLimit                               = 0x20
279
	TomIgnoreCurrentFont                            = 0
280
	TomMatchCharRep                                 = 0x1
281
	TomMatchFontSignature                           = 0x2
282
	TomMatchAscii                                   = 0x4
283
	TomGetHeightOnly                                = 0x8
284
	TomMatchMathFont                                = 0x10
285
	TomCharset                                      = 0x80000000
286
	TomCharRepFromLcid                              = 0x40000000
287
	TomAnsi                                         = 0
288
	TomEastEurope                                   = 1
289
	TomCyrillic                                     = 2
290
	TomGreek                                        = 3
291
	TomTurkish                                      = 4
292
	TomHebrew                                       = 5
293
	TomArabic                                       = 6
294
	TomBaltic                                       = 7
295
	TomVietnamese                                   = 8
296
	TomDefaultCharRep                               = 9
297
	TomSymbol                                       = 10
298
	TomThai                                         = 11
299
	TomShiftJIS                                     = 12
300
	TomGB2312                                       = 13
301
	TomHangul                                       = 14
302
	TomBIG5                                         = 15
303
	TomPC437                                        = 16
304
	TomOEM                                          = 17
305
	TomMac                                          = 18
306
	TomArmenian                                     = 19
307
	TomSyriac                                       = 20
308
	TomThaana                                       = 21
309
	TomDevanagari                                   = 22
310
	TomBengali                                      = 23
311
	TomGurmukhi                                     = 24
312
	TomGujarati                                     = 25
313
	TomOriya                                        = 26
314
	TomTamil                                        = 27
315
	TomTelugu                                       = 28
316
	TomKannada                                      = 29
317
	TomMalayalam                                    = 30
318
	TomSinhala                                      = 31
319
	TomLao                                          = 32
320
	TomTibetan                                      = 33
321
	TomMyanmar                                      = 34
322
	TomGeorgian                                     = 35
323
	TomJamo                                         = 36
324
	TomEthiopic                                     = 37
325
	TomCherokee                                     = 38
326
	TomAboriginal                                   = 39
327
	TomOgham                                        = 40
328
	TomRunic                                        = 41
329
	TomKhmer                                        = 42
330
	TomMongolian                                    = 43
331
	TomBraille                                      = 44
332
	TomYi                                           = 45
333
	TomLimbu                                        = 46
334
	TomTaiLe                                        = 47
335
	TomNewTaiLue                                    = 48
336
	TomSylotiNagri                                  = 49
337
	TomKharoshthi                                   = 50
338
	TomKayahli                                      = 51
339
	TomUsymbol                                      = 52
340
	TomEmoji                                        = 53
341
	TomGlagolitic                                   = 54
342
	TomLisu                                         = 55
343
	TomVai                                          = 56
344
	TomNKo                                          = 57
345
	TomOsmanya                                      = 58
346
	TomPhagsPa                                      = 59
347
	TomGothic                                       = 60
348
	TomDeseret                                      = 61
349
	TomTifinagh                                     = 62
350
	TomCharRepMax                                   = 63
351
	TomRE10Mode                                     = 0x1
352
	TomUseAtFont                                    = 0x2
353
	TomTextFlowMask                                 = 0xc
354
	TomTextFlowES                                   = 0
355
	TomTextFlowSW                                   = 0x4
356
	TomTextFlowWN                                   = 0x8
357
	TomTextFlowNE                                   = 0xc
358
	TomNoIME                                        = 0x80000
359
	TomSelfIME                                      = 0x40000
360
	TomNoUpScroll                                   = 0x10000
361
	TomNoVpScroll                                   = 0x40000
362
	TomNoLink                                       = 0
363
	TomClientLink                                   = 1
364
	TomFriendlyLinkName                             = 2
365
	TomFriendlyLinkAddress                          = 3
366
	TomAutoLinkURL                                  = 4
367
	TomAutoLinkEmail                                = 5
368
	TomAutoLinkPhone                                = 6
369
	TomAutoLinkPath                                 = 7
370
	TomCompressNone                                 = 0
371
	TomCompressPunctuation                          = 1
372
	TomCompressPunctuationAndKana                   = 2
373
	TomCompressMax                                  = 2
374
	TomUnderlinePositionAuto                        = 0
375
	TomUnderlinePositionBelow                       = 1
376
	TomUnderlinePositionAbove                       = 2
377
	TomUnderlinePositionMax                         = 2
378
	TomFontAlignmentAuto                            = 0
379
	TomFontAlignmentTop                             = 1
380
	TomFontAlignmentBaseline                        = 2
381
	TomFontAlignmentBottom                          = 3
382
	TomFontAlignmentCenter                          = 4
383
	TomFontAlignmentMax                             = 4
384
	TomRubyBelow                                    = 0x80
385
	TomRubyAlignCenter                              = 0
386
	TomRubyAlign010                                 = 1
387
	TomRubyAlign121                                 = 2
388
	TomRubyAlignLeft                                = 3
389
	TomRubyAlignRight                               = 4
390
	TomLimitsDefault                                = 0
391
	TomLimitsUnderOver                              = 1
392
	TomLimitsSubSup                                 = 2
393
	TomUpperLimitAsSuperScript                      = 3
394
	TomLimitsOpposite                               = 4
395
	TomShowLLimPlaceHldr                            = 8
396
	TomShowULimPlaceHldr                            = 16
397
	TomDontGrowWithContent                          = 64
398
	TomGrowWithContent                              = 128
399
	TomSubSupAlign                                  = 1
400
	TomLimitAlignMask                               = 3
401
	TomLimitAlignCenter                             = 0
402
	TomLimitAlignLeft                               = 1
403
	TomLimitAlignRight                              = 2
404
	TomShowDegPlaceHldr                             = 8
405
	TomAlignDefault                                 = 0
406
	TomAlignMatchAscentDescent                      = 2
407
	TomMathVariant                                  = 0x20
408
	TomStyleDefault                                 = 0
409
	TomStyleScriptScriptCramped                     = 1
410
	TomStyleScriptScript                            = 2
411
	TomStyleScriptCramped                           = 3
412
	TomStyleScript                                  = 4
413
	TomStyleTextCramped                             = 5
414
	TomStyleText                                    = 6
415
	TomStyleDisplayCramped                          = 7
416
	TomStyleDisplay                                 = 8
417
	TomMathRelSize                                  = 0x40
418
	TomDecDecSize                                   = 0xfe
419
	TomDecSize                                      = 0xff
420
	TomIncSize                                      = (1 | TomMathRelSize)
421
	TomIncIncSize                                   = (2 | TomMathRelSize)
422
	TomGravityUI                                    = 0
423
	TomGravityBack                                  = 1
424
	TomGravityFore                                  = 2
425
	TomGravityIn                                    = 3
426
	TomGravityOut                                   = 4
427
	TomGravityBackward                              = 0x20000000
428
	TomGravityForward                               = 0x40000000
429
	TomAdjustCRLF                                   = 1
430
	TomUseCRLF                                      = 2
431
	TomTextize                                      = 4
432
	TomAllowFinalEOP                                = 8
433
	TomFoldMathAlpha                                = 16
434
	TomNoHidden                                     = 32
435
	TomIncludeNumbering                             = 64
436
	TomTranslateTableCell                           = 128
437
	TomNoMathZoneBrackets                           = 0x100
438
	TomConvertMathChar                              = 0x200
439
	TomNoUCGreekItalic                              = 0x400
440
	TomAllowMathBold                                = 0x800
441
	TomLanguageTag                                  = 0x1000
442
	TomConvertRTF                                   = 0x2000
443
	TomApplyRtfDocProps                             = 0x4000
444
	TomPhantomShow                                  = 1
445
	TomPhantomZeroWidth                             = 2
446
	TomPhantomZeroAscent                            = 4
447
	TomPhantomZeroDescent                           = 8
448
	TomPhantomTransparent                           = 16
449
	TomPhantomASmash                                = (TomPhantomShow | TomPhantomZeroAscent)
450
	TomPhantomDSmash                                = (TomPhantomShow | TomPhantomZeroDescent)
451
	TomPhantomHSmash                                = (TomPhantomShow | TomPhantomZeroWidth)
452
	TomPhantomSmash                                 = ((TomPhantomShow | TomPhantomZeroAscent) | TomPhantomZeroDescent)
453
	TomPhantomHorz                                  = (TomPhantomZeroAscent | TomPhantomZeroDescent)
454
	TomPhantomVert                                  = TomPhantomZeroWidth
455
	TomBoxHideTop                                   = 1
456
	TomBoxHideBottom                                = 2
457
	TomBoxHideLeft                                  = 4
458
	TomBoxHideRight                                 = 8
459
	TomBoxStrikeH                                   = 16
460
	TomBoxStrikeV                                   = 32
461
	TomBoxStrikeTLBR                                = 64
462
	TomBoxStrikeBLTR                                = 128
463
	TomBoxAlignCenter                               = 1
464
	TomSpaceMask                                    = 0x1c
465
	TomSpaceDefault                                 = 0
466
	TomSpaceUnary                                   = 4
467
	TomSpaceBinary                                  = 8
468
	TomSpaceRelational                              = 12
469
	TomSpaceSkip                                    = 16
470
	TomSpaceOrd                                     = 20
471
	TomSpaceDifferential                            = 24
472
	TomSizeText                                     = 32
473
	TomSizeScript                                   = 64
474
	TomSizeScriptScript                             = 96
475
	TomNoBreak                                      = 128
476
	TomTransparentForPositioning                    = 256
477
	TomTransparentForSpacing                        = 512
478
	TomStretchCharBelow                             = 0
479
	TomStretchCharAbove                             = 1
480
	TomStretchBaseBelow                             = 2
481
	TomStretchBaseAbove                             = 3
482
	TomMatrixAlignMask                              = 3
483
	TomMatrixAlignCenter                            = 0
484
	TomMatrixAlignTopRow                            = 1
485
	TomMatrixAlignBottomRow                         = 3
486
	TomShowMatPlaceHldr                             = 8
487
	TomEqArrayLayoutWidth                           = 1
488
	TomEqArrayAlignMask                             = 0xc
489
	TomEqArrayAlignCenter                           = 0
490
	TomEqArrayAlignTopRow                           = 4
491
	TomEqArrayAlignBottomRow                        = 0xc
492
	TomMathManualBreakMask                          = 0x7f
493
	TomMathBreakLeft                                = 0x7d
494
	TomMathBreakCenter                              = 0x7e
495
	TomMathBreakRight                               = 0x7f
496
	TomMathEqAlign                                  = 0x80
497
	TomMathArgShadingStart                          = 0x251
498
	TomMathArgShadingEnd                            = 0x252
499
	TomMathObjShadingStart                          = 0x253
500
	TomMathObjShadingEnd                            = 0x254
501
	TomFunctionTypeNone                             = 0
502
	TomFunctionTypeTakesArg                         = 1
503
	TomFunctionTypeTakesLim                         = 2
504
	TomFunctionTypeTakesLim2                        = 3
505
	TomFunctionTypeIsLim                            = 4
506
	TomMathParaAlignDefault                         = 0
507
	TomMathParaAlignCenterGroup                     = 1
508
	TomMathParaAlignCenter                          = 2
509
	TomMathParaAlignLeft                            = 3
510
	TomMathParaAlignRight                           = 4
511
	TomMathDispAlignMask                            = 3
512
	TomMathDispAlignCenterGroup                     = 0
513
	TomMathDispAlignCenter                          = 1
514
	TomMathDispAlignLeft                            = 2
515
	TomMathDispAlignRight                           = 3
516
	TomMathDispIntUnderOver                         = 4
517
	TomMathDispFracTeX                              = 8
518
	TomMathDispNaryGrow                             = 0x10
519
	TomMathDocEmptyArgMask                          = 0x60
520
	TomMathDocEmptyArgAuto                          = 0
521
	TomMathDocEmptyArgAlways                        = 0x20
522
	TomMathDocEmptyArgNever                         = 0x40
523
	TomMathDocSbSpOpUnchanged                       = 0x80
524
	TomMathDocDiffMask                              = 0x300
525
	TomMathDocDiffDefault                           = 0
526
	TomMathDocDiffUpright                           = 0x100
527
	TomMathDocDiffItalic                            = 0x200
528
	TomMathDocDiffOpenItalic                        = 0x300
529
	TomMathDispNarySubSup                           = 0x400
530
	TomMathDispDef                                  = 0x800
531
	TomMathEnableRtl                                = 0x1000
532
	TomMathBrkBinMask                               = 0x30000
533
	TomMathBrkBinBefore                             = 0
534
	TomMathBrkBinAfter                              = 0x10000
535
	TomMathBrkBinDup                                = 0x20000
536
	TomMathBrkBinSubMask                            = 0xc0000
537
	TomMathBrkBinSubMM                              = 0
538
	TomMathBrkBinSubPM                              = 0x40000
539
	TomMathBrkBinSubMP                              = 0x80000
540
	TomSelRange                                     = 0x255
541
	TomHstring                                      = 0x254
542
	TomFontPropTeXStyle                             = 0x33c
543
	TomFontPropAlign                                = 0x33d
544
	TomFontStretch                                  = 0x33e
545
	TomFontStyle                                    = 0x33f
546
	TomFontStyleUpright                             = 0
547
	TomFontStyleOblique                             = 1
548
	TomFontStyleItalic                              = 2
549
	TomFontStretchDefault                           = 0
550
	TomFontStretchUltraCondensed                    = 1
551
	TomFontStretchExtraCondensed                    = 2
552
	TomFontStretchCondensed                         = 3
553
	TomFontStretchSemiCondensed                     = 4
554
	TomFontStretchNormal                            = 5
555
	TomFontStretchSemiExpanded                      = 6
556
	TomFontStretchExpanded                          = 7
557
	TomFontStretchExtraExpanded                     = 8
558
	TomFontStretchUltraExpanded                     = 9
559
	TomFontWeightDefault                            = 0
560
	TomFontWeightThin                               = 100
561
	TomFontWeightExtraLight                         = 200
562
	TomFontWeightLight                              = 300
563
	TomFontWeightNormal                             = 400
564
	TomFontWeightRegular                            = 400
565
	TomFontWeightMedium                             = 500
566
	TomFontWeightSemiBold                           = 600
567
	TomFontWeightBold                               = 700
568
	TomFontWeightExtraBold                          = 800
569
	TomFontWeightBlack                              = 900
570
	TomFontWeightHeavy                              = 900
571
	TomFontWeightExtraBlack                         = 950
572
	TomParaPropMathAlign                            = 0x437
573
	TomDocMathBuild                                 = 0x80
574
	TomMathLMargin                                  = 0x81
575
	TomMathRMargin                                  = 0x82
576
	TomMathWrapIndent                               = 0x83
577
	TomMathWrapRight                                = 0x84
578
	TomMathPostSpace                                = 0x86
579
	TomMathPreSpace                                 = 0x85
580
	TomMathInterSpace                               = 0x87
581
	TomMathIntraSpace                               = 0x88
582
	TomCanCopy                                      = 0x89
583
	TomCanRedo                                      = 0x8a
584
	TomCanUndo                                      = 0x8b
585
	TomUndoLimit                                    = 0x8c
586
	TomDocAutoLink                                  = 0x8d
587
	TomEllipsisMode                                 = 0x8e
588
	TomEllipsisState                                = 0x8f
589
	TomEllipsisNone                                 = 0
590
	TomEllipsisEnd                                  = 1
591
	TomEllipsisWord                                 = 3
592
	TomEllipsisPresent                              = 1
593
	TomVTopCell                                     = 1
594
	TomVLowCell                                     = 2
595
	TomHStartCell                                   = 4
596
	TomHContCell                                    = 8
597
	TomRowUpdate                                    = 1
598
	TomRowApplyDefault                              = 0
599
	TomCellStructureChangeOnly                      = 1
600
	TomRowHeightActual                              = 0x80b
601
)
602

603
type OBJECTTYPE int32
604

605
const (
606
	TomSimpleText       OBJECTTYPE = 0
607
	TomRuby                        = (TomSimpleText + 1)
608
	TomHorzVert                    = (TomRuby + 1)
609
	TomWarichu                     = (TomHorzVert + 1)
610
	TomEq                          = 9
611
	TomMath                        = 10
612
	TomAccent                      = TomMath
613
	TomBox                         = (TomAccent + 1)
614
	TomBoxedFormula                = (TomBox + 1)
615
	TomBrackets                    = (TomBoxedFormula + 1)
616
	TomBracketsWithSeps            = (TomBrackets + 1)
617
	TomEquationArray               = (TomBracketsWithSeps + 1)
618
	TomFraction                    = (TomEquationArray + 1)
619
	TomFunctionApply               = (TomFraction + 1)
620
	TomLeftSubSup                  = (TomFunctionApply + 1)
621
	TomLowerLimit                  = (TomLeftSubSup + 1)
622
	TomMatrix                      = (TomLowerLimit + 1)
623
	TomNary                        = (TomMatrix + 1)
624
	TomOpChar                      = (TomNary + 1)
625
	TomOverbar                     = (TomOpChar + 1)
626
	TomPhanTom                     = (TomOverbar + 1)
627
	TomRadical                     = (TomPhanTom + 1)
628
	TomSlashedFraction             = (TomRadical + 1)
629
	TomStack                       = (TomSlashedFraction + 1)
630
	TomStretchStack                = (TomStack + 1)
631
	TomSubscript                   = (TomStretchStack + 1)
632
	TomSubSup                      = (TomSubscript + 1)
633
	TomSuperscript                 = (TomSubSup + 1)
634
	TomUnderbar                    = (TomSuperscript + 1)
635
	TomUpperLimit                  = (TomUnderbar + 1)
636
	TomObjectMax                   = TomUpperLimit
637
)
638

639
type ITextRangeVtbl struct {
640
	IDispatchVtbl
641
	GetText           uintptr
642
	SetText           uintptr
643
	GetChar           uintptr
644
	SetChar           uintptr
645
	GetDuplicate      uintptr
646
	GetFormattedText  uintptr
647
	SetFormattedText  uintptr
648
	GetStart          uintptr
649
	SetStart          uintptr
650
	GetEnd            uintptr
651
	SetEnd            uintptr
652
	GetFont           uintptr
653
	SetFont           uintptr
654
	GetPara           uintptr
655
	SetPara           uintptr
656
	GetStoryLength    uintptr
657
	GetStoryType      uintptr
658
	Collapse          uintptr
659
	Expand            uintptr
660
	GetIndex          uintptr
661
	SetIndex          uintptr
662
	SetRange          uintptr
663
	InRange           uintptr
664
	InStory           uintptr
665
	IsEqual           uintptr
666
	Select            uintptr
667
	StartOf           uintptr
668
	EndOf             uintptr
669
	Move              uintptr
670
	MoveStart         uintptr
671
	MoveEnd           uintptr
672
	MoveWhile         uintptr
673
	MoveStartWhile    uintptr
674
	MoveEndWhile      uintptr
675
	MoveUntil         uintptr
676
	MoveStartUntil    uintptr
677
	MoveEndUntil      uintptr
678
	FindText          uintptr
679
	FindTextStart     uintptr
680
	FindTextEnd       uintptr
681
	Delete            uintptr
682
	Cut               uintptr
683
	Copy              uintptr
684
	Paste             uintptr
685
	CanPaste          uintptr
686
	CanEdit           uintptr
687
	ChangeCase        uintptr
688
	GetPoint          uintptr
689
	SetPoint          uintptr
690
	ScrollIntoView    uintptr
691
	GetEmbeddedObject uintptr
692
}
693

694
type ITextRange struct {
695
	LpVtbl *ITextRangeVtbl
696
}
697

698
type ITextSelectionVtbl struct {
699
	ITextRangeVtbl
700
	GetFlags  uintptr
701
	SetFlags  uintptr
702
	GetType   uintptr
703
	MoveLeft  uintptr
704
	MoveRight uintptr
705
	MoveUp    uintptr
706
	MoveDown  uintptr
707
	HomeKey   uintptr
708
	EndKey    uintptr
709
	TypeText  uintptr
710
}
711

712
type ITextSelection struct {
713
	LpVtbl *ITextSelectionVtbl
714
}
715

716
type ITextDocumentVtbl struct {
717
	IDispatchVtbl
718
	GetName             uintptr
719
	GetSelection        uintptr
720
	GetStoryCount       uintptr
721
	GetStoryRanges      uintptr
722
	GetSaved            uintptr
723
	SetSaved            uintptr
724
	GetDefaultTabStop   uintptr
725
	SetDefaultTabStop   uintptr
726
	New                 uintptr
727
	Open                uintptr
728
	Save                uintptr
729
	Freeze              uintptr
730
	Unfreeze            uintptr
731
	BeginEditCollection uintptr
732
	EndEditCollection   uintptr
733
	Undo                uintptr
734
	Redo                uintptr
735
	Range               uintptr
736
	RangeFromPoint      uintptr
737
}
738

739
type ITextStoryRangesVtbl struct {
740
	IDispatchVtbl
741
	NewEnum  uintptr
742
	Item     uintptr
743
	GetCount uintptr
744
}
745

746
type ITextStoryRanges struct {
747
	LpVtbl *ITextStoryRangesVtbl
748
}
749

750
var (
751
	IID_ITextDocument = IID{0x8CC497C0, 0xA1DF, 0x11CE, [8]byte{0x80, 0x98, 0x00, 0xAA, 0x00, 0x47, 0xBE, 0x5D}}
752
)
753

754
type ITextDocument struct {
755
	LpVtbl *ITextDocumentVtbl
756
}
757

758
func (obj *ITextDocument) QueryInterface(riid REFIID, ppvObject *unsafe.Pointer) HRESULT {
759
	ret, _, _ := syscall.Syscall(obj.LpVtbl.QueryInterface, 3,
760
		uintptr(unsafe.Pointer(obj)),
761
		uintptr(unsafe.Pointer(riid)),
762
		uintptr(unsafe.Pointer(ppvObject)))
763
	return HRESULT(ret)
764
}
765

766
func (obj *ITextDocument) AddRef() uint32 {
767
	ret, _, _ := syscall.Syscall(obj.LpVtbl.AddRef, 1,
768
		uintptr(unsafe.Pointer(obj)),
769
		0,
770
		0)
771
	return uint32(ret)
772
}
773

774
func (obj *ITextDocument) Release() uint32 {
775
	ret, _, _ := syscall.Syscall(obj.LpVtbl.Release, 1,
776
		uintptr(unsafe.Pointer(obj)),
777
		0,
778
		0)
779
	return uint32(ret)
780
}
781

782
func (obj *ITextDocument) GetTypeInfoCount(pctinfo *uint32) HRESULT {
783
	ret, _, _ := syscall.Syscall(obj.LpVtbl.GetTypeInfoCount, 2,
784
		uintptr(unsafe.Pointer(obj)),
785
		uintptr(unsafe.Pointer(pctinfo)),
786
		0)
787
	return HRESULT(ret)
788
}
789

790
func (obj *ITextDocument) GetTypeInfo(iTInfo uint32, lcid LCID, ppTInfo **ITypeInfo) HRESULT {
791
	ret, _, _ := syscall.Syscall6(obj.LpVtbl.GetTypeInfo, 4,
792
		uintptr(unsafe.Pointer(obj)),
793
		uintptr(iTInfo),
794
		uintptr(lcid),
795
		uintptr(unsafe.Pointer(ppTInfo)),
796
		0,
797
		0)
798
	return HRESULT(ret)
799
}
800

801
func (obj *ITextDocument) GetIDsOfNames(riid REFIID, rgszNames **uint16, cNames uint32, lcid LCID, rgDispId *DISPID) HRESULT {
802
	ret, _, _ := syscall.Syscall6(obj.LpVtbl.GetIDsOfNames, 6,
803
		uintptr(unsafe.Pointer(obj)),
804
		uintptr(unsafe.Pointer(riid)),
805
		uintptr(unsafe.Pointer(rgszNames)),
806
		uintptr(cNames),
807
		uintptr(lcid),
808
		uintptr(unsafe.Pointer(rgDispId)))
809
	return HRESULT(ret)
810
}
811

812
func (obj *ITextDocument) Invoke(dispIdMember DISPID, riid REFIID, lcid LCID, wFlags uint16, pDispParams *DISPPARAMS, pVarResult *VARIANT, pExcepInfo *EXCEPINFO, puArgErr *uint32) HRESULT {
813
	ret, _, _ := syscall.Syscall9(obj.LpVtbl.Invoke, 9,
814
		uintptr(unsafe.Pointer(obj)),
815
		uintptr(dispIdMember),
816
		uintptr(unsafe.Pointer(riid)),
817
		uintptr(lcid),
818
		uintptr(wFlags),
819
		uintptr(unsafe.Pointer(pDispParams)),
820
		uintptr(unsafe.Pointer(pVarResult)),
821
		uintptr(unsafe.Pointer(pExcepInfo)),
822
		uintptr(unsafe.Pointer(puArgErr)))
823
	return HRESULT(ret)
824
}
825

826
func (obj *ITextDocument) GetName(pName **uint16 /*BSTR*/) HRESULT {
827
	ret, _, _ := syscall.Syscall(obj.LpVtbl.GetName, 2,
828
		uintptr(unsafe.Pointer(obj)),
829
		uintptr(unsafe.Pointer(pName)),
830
		0)
831
	return HRESULT(ret)
832

833
}
834

835
func (obj *ITextDocument) GetSelection(ppSel **ITextSelection) HRESULT {
836
	ret, _, _ := syscall.Syscall(obj.LpVtbl.GetSelection, 2,
837
		uintptr(unsafe.Pointer(obj)),
838
		uintptr(unsafe.Pointer(ppSel)),
839
		0)
840
	return HRESULT(ret)
841
}
842

843
func (obj *ITextDocument) GetStoryCount(pCount *int32) HRESULT {
844
	ret, _, _ := syscall.Syscall(obj.LpVtbl.GetStoryCount, 2,
845
		uintptr(unsafe.Pointer(obj)),
846
		uintptr(unsafe.Pointer(pCount)),
847
		0)
848
	return HRESULT(ret)
849
}
850

851
func (obj *ITextDocument) GetStoryRanges(ppStories **ITextStoryRanges) HRESULT {
852
	ret, _, _ := syscall.Syscall(obj.LpVtbl.GetStoryRanges, 2,
853
		uintptr(unsafe.Pointer(obj)),
854
		uintptr(unsafe.Pointer(ppStories)),
855
		0)
856
	return HRESULT(ret)
857
}
858

859
func (obj *ITextDocument) GetSaved(pValue *int32) HRESULT {
860
	ret, _, _ := syscall.Syscall(obj.LpVtbl.GetSaved, 2,
861
		uintptr(unsafe.Pointer(obj)),
862
		uintptr(unsafe.Pointer(pValue)),
863
		0)
864
	return HRESULT(ret)
865
}
866

867
func (obj *ITextDocument) SetSaved(Value int32) HRESULT {
868
	ret, _, _ := syscall.Syscall(obj.LpVtbl.SetSaved, 2,
869
		uintptr(unsafe.Pointer(obj)),
870
		uintptr(Value),
871
		0)
872
	return HRESULT(ret)
873
}
874

875
func (obj *ITextDocument) GetDefaultTabStop(pValue *float32) HRESULT {
876
	ret, _, _ := syscall.Syscall(obj.LpVtbl.GetDefaultTabStop, 2,
877
		uintptr(unsafe.Pointer(obj)),
878
		uintptr(unsafe.Pointer(pValue)),
879
		0)
880
	return HRESULT(ret)
881
}
882

883
func (obj *ITextDocument) SetDefaultTabStop(Value float32) HRESULT {
884
	ret, _, _ := syscall.Syscall(obj.LpVtbl.SetDefaultTabStop, 2,
885
		uintptr(unsafe.Pointer(obj)),
886
		uintptr(Value),
887
		0)
888
	return HRESULT(ret)
889
}
890

891
func (obj *ITextDocument) New() HRESULT {
892
	ret, _, _ := syscall.Syscall(obj.LpVtbl.New, 1,
893
		uintptr(unsafe.Pointer(obj)),
894
		0,
895
		0)
896
	return HRESULT(ret)
897
}
898

899
func (obj *ITextDocument) Open(pVar *VARIANT, Flags int32, CodePage int32) HRESULT {
900
	ret, _, _ := syscall.Syscall6(obj.LpVtbl.Open, 4,
901
		uintptr(unsafe.Pointer(obj)),
902
		uintptr(unsafe.Pointer(pVar)),
903
		uintptr(Flags),
904
		uintptr(CodePage),
905
		0,
906
		0)
907
	return HRESULT(ret)
908
}
909

910
func (obj *ITextDocument) Save(pVar *VARIANT, Flags int32, CodePage int32) HRESULT {
911
	ret, _, _ := syscall.Syscall6(obj.LpVtbl.Save, 4,
912
		uintptr(unsafe.Pointer(obj)),
913
		uintptr(unsafe.Pointer(pVar)),
914
		uintptr(Flags),
915
		uintptr(CodePage),
916
		0,
917
		0)
918
	return HRESULT(ret)
919
}
920

921
func (obj *ITextDocument) Freeze(pCount *int32) HRESULT {
922
	ret, _, _ := syscall.Syscall(obj.LpVtbl.Freeze, 2,
923
		uintptr(unsafe.Pointer(obj)),
924
		uintptr(unsafe.Pointer(pCount)),
925
		0)
926
	return HRESULT(ret)
927
}
928

929
func (obj *ITextDocument) Unfreeze(pCount *int32) HRESULT {
930
	ret, _, _ := syscall.Syscall(obj.LpVtbl.Freeze, 2,
931
		uintptr(unsafe.Pointer(obj)),
932
		uintptr(unsafe.Pointer(pCount)),
933
		0)
934
	return HRESULT(ret)
935
}
936

937
func (obj *ITextDocument) BeginEditCollection() HRESULT {
938
	ret, _, _ := syscall.Syscall(obj.LpVtbl.BeginEditCollection, 1,
939
		uintptr(unsafe.Pointer(obj)),
940
		0,
941
		0)
942
	return HRESULT(ret)
943
}
944

945
func (obj *ITextDocument) EndEditCollection() HRESULT {
946
	ret, _, _ := syscall.Syscall(obj.LpVtbl.EndEditCollection, 1,
947
		uintptr(unsafe.Pointer(obj)),
948
		0,
949
		0)
950
	return HRESULT(ret)
951
}
952

953
func (obj *ITextDocument) Undo(Count int32, pCount *int32) HRESULT {
954
	ret, _, _ := syscall.Syscall(obj.LpVtbl.Undo, 3,
955
		uintptr(unsafe.Pointer(obj)),
956
		uintptr(Count),
957
		uintptr(unsafe.Pointer(pCount)))
958
	return HRESULT(ret)
959
}
960

961
func (obj *ITextDocument) Redo(Count int32, pCount *int32) HRESULT {
962
	ret, _, _ := syscall.Syscall(obj.LpVtbl.Redo, 3,
963
		uintptr(unsafe.Pointer(obj)),
964
		uintptr(Count),
965
		uintptr(unsafe.Pointer(pCount)))
966
	return HRESULT(ret)
967
}
968

969
func (obj *ITextDocument) Range(cpActive int32, cpAnchor int32, ppRange **ITextRange) HRESULT {
970
	ret, _, _ := syscall.Syscall6(obj.LpVtbl.Range, 4,
971
		uintptr(unsafe.Pointer(obj)),
972
		uintptr(cpActive),
973
		uintptr(cpAnchor),
974
		uintptr(unsafe.Pointer(ppRange)),
975
		0,
976
		0)
977
	return HRESULT(ret)
978
}
979

980
func (obj *ITextDocument) RangeFromPoint(x int32, y int32, ppRange **ITextRange) HRESULT {
981
	ret, _, _ := syscall.Syscall6(obj.LpVtbl.RangeFromPoint, 4,
982
		uintptr(unsafe.Pointer(obj)),
983
		uintptr(x),
984
		uintptr(y),
985
		uintptr(unsafe.Pointer(ppRange)),
986
		0,
987
		0)
988
	return HRESULT(ret)
989
}
990

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.