1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef INCLUDED_SVX_MSDFFDEF_HXX
21 #define INCLUDED_SVX_MSDFFDEF_HXX
24 #include <sal/types.h>
26 #define DFF_COMMON_RECORD_HEADER_SIZE 8
28 const sal_uInt32 nMaxLegalDffRecordLength
=
29 SAL_MAX_UINT32
- DFF_COMMON_RECORD_HEADER_SIZE
;
31 #define DFF_PSFLAG_CONTAINER 0x0F // If the version field of a record
32 // header takes on this value, the
33 // record header marks the start of
36 #define DFF_PST_TextHeaderAtom 3999
37 #define DFF_PST_TextCharsAtom 4000
38 #define DFF_PST_TextBytesAtom 4008
39 #define DFF_PST_ExOleObjStg 4113
41 // Record Name FBT-Value Instance Contents Wrd Exl Ppt Ver
43 #define DFF_msofbtDggContainer 0xF000 // per-document data X X X
44 #define DFF_msofbtDgg 0xF006 // an FDGG and several FIDCLs X X X 0
45 #define DFF_msofbtCLSID 0xF016 // the CLSID of the application that put the data on the clipboard C C C 0
46 #define DFF_msofbtOPT 0xF00B // count of properties the document-wide default shape properties X X X 3
47 #define DFF_msofbtColorMRU 0xF11A // count of colors the colors in the MRU swatch X X X 0
48 #define DFF_msofbtSplitMenuColors 0xF11E // count of colors the colors in the top-level split menus X X X 0
49 #define DFF_msofbtBstoreContainer 0xF001 // count of BLIPs all images in the document (JPEGs, metafiles, etc.) X X X
50 #define DFF_msofbtBSE 0xF007 // BLIP type an FBSE (one per BLIP) X X X 2
51 #define DFF_msofbtBlipFirst 0xF018 // range of fbts reserved for various kinds of BLIPs X X X
52 #define DFF_msofbtBlipLast 0xF117 // range of fbts reserved for various kinds of BLIPs X X X
54 #define DFF_msofbtDgContainer 0xF002 // per-sheet/page/slide data X X X
55 #define DFF_msofbtDg 0xF008 // drawing ID an FDG X X X 0
56 #define DFF_msofbtRegroupItems 0xF118 // count of regroup entries several FRITs X X X 0
57 #define DFF_msofbtColorScheme 0xF120 // count of colors the colors of the source host's color scheme C C 0
58 #define DFF_msofbtSpgrContainer 0xF003 // several SpContainers, the first of which is the group shape itself X X X
59 #define DFF_msofbtSpContainer 0xF004 // a shape X X X
60 #define DFF_msofbtSpgr 0xF009 // an FSPGR; only present if the shape is a group shape X X X 1
61 #define DFF_msofbtSp 0xF00A // shape type an FSP X X X 2
62 #define DFF_msofbtTextbox 0xF00C // RTF text C C C 0
63 #define DFF_msofbtClientTextbox 0xF00D // host-defined the text in the textbox, in host-defined format X X X
64 #define DFF_msofbtAnchor 0xF00E // a RECT, in 100000ths of an inch C C C 0
65 #define DFF_msofbtChildAnchor 0xF00F // a RECT, in units relative to the parent group X X X 0
66 #define DFF_msofbtClientAnchor 0xF010 // host-defined the location of the shape, in a host-defined format X X X
67 #define DFF_msofbtClientData 0xF011 // host-defined host-specific data X X X
68 #define DFF_msofbtOleObject 0xF11F // a serialized IStorage for an OLE object C C C 0
69 #define DFF_msofbtDeletedPspl 0xF11D // an FPSPL; only present in top-level deleted shapes X 0
70 #define DFF_msofbtUDefProp 0xF122 // range of fbts reserved for various kinds of BLIPs X X X
71 #define DFF_msofbtSolverContainer 0xF005 // count of rules the rules governing shapes X X X
72 #define DFF_msofbtConnectorRule 0xF012 // an FConnectorRule X X 1
73 #define DFF_msofbtAlignRule 0xF013 // an FAlignRule X X X 0
74 #define DFF_msofbtArcRule 0xF014 // an FARCRU X X X 0
75 #define DFF_msofbtClientRule 0xF015 // host-defined host-defined
76 #define DFF_msofbtCalloutRule 0xF017 // an FCORU X X X 0
79 // Values for the ULONG in DFF_PST_TextHeaderAtom
85 DFFTH_OTHER
, // Text in a Shape
86 DFFTH_CENTERBODY
, // Subtitle in Title-Slide
87 DFFTH_CENTERTITLE
, // Title in Title-Slide
88 DFFTH_HALFBODY
, // Body in two-column slide
89 DFFTH_QUARTERBODY
// Body in four-body slide
94 // 1pt = 12700 EMU (English Metric Units)
95 // 1pt = 20 Twip = 20/1440" = 1/72"
97 // 1" = 12700*72 = 914400 EMU
102 // Record Name FBT-Value Instance Contents Wrd Exl Ppt Ver
104 #define DFF_Prop_Rotation 4 // Fixed Point 16.16 degrees
106 #define DFF_Prop_LockAgainstGrouping 127 // sal_Bool Do not group this shape
108 #define DFF_Prop_lTxid 128 // LONG id for the text, value determined by the host
109 #define DFF_Prop_dxTextLeft 129 // LONG margins relative to shape's inscribed text rectangle (in EMUs)
110 #define DFF_Prop_dyTextTop 130 // LONG
111 #define DFF_Prop_dxTextRight 131 // LONG
112 #define DFF_Prop_dyTextBottom 132 // LONG
113 #define DFF_Prop_WrapText 133 // MSO_WRAPMODE Wrap text at shape margins
114 #define DFF_Prop_anchorText 135 // MSO_ANCHOR How to anchor the text
115 #define DFF_Prop_txflTextFlow 136 // MSO_TXFL Text flow
116 #define DFF_Prop_cdirFont 137 // MSO_CDIR Font rotation
117 #define DFF_Prop_hspNext 138 // MSO_HSP ID of the next shape (used by Word for linked textboxes)
118 #define DFF_Prop_AutoTextMargin 188 // sal_Bool use host's margin calculations
119 #define DFF_Prop_RotateText 189 // sal_Bool Rotate text with shape
120 #define DFF_Prop_FitTextToShape 191 // sal_Bool Size text to fit shape size
122 #define DFF_Prop_gtextUNICODE 192 // WCHAR* UNICODE text string
123 #define DFF_Prop_gtextAlign 194 // MSO_GEOTEXTALIGN alignment on curve
124 #define DFF_Prop_gtextSize 195 // LONG default point size
125 #define DFF_Prop_gtextSpacing 196 // LONG fixed point 16.16
126 #define DFF_Prop_gtextFont 197 // WCHAR* font family name
127 #define DFF_Prop_gtextFStretch 245 // sal_Bool 400 Stretch to fit shape
128 #define DFF_Prop_gtextFBold 250 // sal_Bool 20 Bold font
129 #define DFF_Prop_gtextFItalic 251 // sal_Bool 10 Italic font
130 #define DFF_Prop_gtextFStrikethrough 255 // sal_Bool 1 Strike through font
132 #define DFF_Prop_cropFromTop 256 // LONG 16.16 fraction times total image width or height, as appropriate.
133 #define DFF_Prop_cropFromBottom 257 // LONG
134 #define DFF_Prop_cropFromLeft 258 // LONG
135 #define DFF_Prop_cropFromRight 259 // LONG
136 #define DFF_Prop_pib 260 // IMsoBlip* Blip to display
137 #define DFF_Prop_pibName 261 // WCHAR* Blip file name
138 #define DFF_Prop_pibFlags 262 // MSO_BLIPFLAGS Blip flags
139 #define DFF_Prop_pictureTransparent 263 // LONG transparent color (none if ~0UL)
140 #define DFF_Prop_pictureContrast 264 // LONG contrast setting
141 #define DFF_Prop_pictureBrightness 265 // LONG brightness setting
142 #define DFF_Prop_pictureGamma 266 // LONG 16.16 gamma
143 #define DFF_Prop_pictureId 267 // LONG Host-defined ID for OLE objects (usually a pointer)
144 #define DFF_Prop_pictureActive 319 // sal_Bool Server is active (OLE objects only)
146 #define DFF_Prop_geoLeft 320 // LONG Defines the G (geometry) coordinate space.
147 #define DFF_Prop_geoTop 321 // LONG
148 #define DFF_Prop_geoRight 322 // LONG
149 #define DFF_Prop_geoBottom 323 // LONG
150 #define DFF_Prop_pVertices 325 // IMsoArray An array of points, in G units.
151 #define DFF_Prop_pSegmentInfo 326 // IMsoArray
152 #define DFF_Prop_adjustValue 327 // LONG Adjustment values corresponding to the positions of the
153 #define DFF_Prop_adjust2Value 328 // LONG adjust handles of the shape. The number of values used
154 #define DFF_Prop_adjust3Value 329 // LONG and their allowable ranges vary from shape type to shape type.
155 #define DFF_Prop_adjust4Value 330 // LONG
156 #define DFF_Prop_adjust5Value 331 // LONG
157 #define DFF_Prop_adjust6Value 332 // LONG
158 #define DFF_Prop_adjust7Value 333 // LONG
159 #define DFF_Prop_adjust8Value 334 // LONG
160 #define DFF_Prop_adjust9Value 335 // LONG
161 #define DFF_Prop_adjust10Value 336 // LONG
162 #define DFF_Prop_connectorPoints 337 // IMsoArray
163 #define DFF_Prop_stretchPointX 339 // LONG
164 #define DFF_Prop_stretchPointY 340 // LONG
165 #define DFF_Prop_Handles 341 // H*
166 #define DFF_Prop_pFormulas 342 // LONG
167 #define DFF_Prop_textRectangles 343 // LONG
168 #define DFF_Prop_connectorType 344 // LONG ->0=none, 1=segments, 2=custom, 3=rect
169 #define DFF_Prop_f3DOK 379 // sal_Bool 3D may be set
170 #define DFF_Prop_fGtextOK 381 // sal_Bool Text effect (FontWork) supported
171 #define DFF_Prop_fFillShadeShapeOK 382 // BOOL
172 #define DFF_Prop_fFillOK 383 // sal_Bool OK to fill the shape through the UI or VBA?
174 #define DFF_Prop_fillType 384 // MSO_FILLTYPE Type of fill
175 #define DFF_Prop_fillColor 385 // MSO_CLR Foreground color
176 #define DFF_Prop_fillOpacity 386 // LONG Fixed 16.16
177 #define DFF_Prop_fillBackColor 387 // MSO_CLR Background color
178 #define DFF_Prop_fillBackOpacity 388 // LONG Shades only
179 #define DFF_Prop_fillBlip 390 // IMsoBlip* Pattern/texture
180 #define DFF_Prop_fillWidth 393 // LONG How big (A units) to make a metafile texture.
181 #define DFF_Prop_fillHeight 394 // LONG
182 #define DFF_Prop_fillAngle 395 // LONG Fade angle - degrees in 16.16
183 #define DFF_Prop_fillFocus 396 // LONG Linear shaded fill focus percent
184 #define DFF_Prop_fillToRight 399 // LONG Fraction 16.16
185 #define DFF_Prop_fillToBottom 400 // LONG Fraction 16.16
186 #define DFF_Prop_fillShadeColors 407 // IMsoArray a preset array of colors
187 #define DFF_Prop_fFilled 443 // sal_Bool Is shape filled?
188 #define DFF_Prop_fNoFillHitTest 447 // sal_Bool Hit test a shape as though filled
190 #define DFF_Prop_lineColor 448 // MSO_CLR Color of line
191 #define DFF_Prop_lineOpacity 449 // LONG Not implemented
192 #define DFF_Prop_lineBackColor 450 // MSO_CLR Background color
193 #define DFF_Prop_lineWidth 459 // LONG A units; 1pt == 12700 EMUs
194 #define DFF_Prop_lineStyle 461 // MSO_LINESTYLE Draw parallel lines?
195 #define DFF_Prop_lineDashing 462 // MSO_LINEDASHING Can be overridden by:
196 #define DFF_Prop_lineDashStyle 463 // IMsoArray As Win32 ExtCreatePen
197 #define DFF_Prop_lineStartArrowhead 464 // MSO_LINEEND Arrow at start
198 #define DFF_Prop_lineEndArrowhead 465 // MSO_LINEEND Arrow at end
199 #define DFF_Prop_lineStartArrowWidth 466 // MSO_LINEENDWIDTH Arrow at start
200 #define DFF_Prop_lineStartArrowLength 467 // MSO_LINEENDLENGTH Arrow at end
201 #define DFF_Prop_lineEndArrowWidth 468 // MSO_LINEENDWIDTH Arrow at start
202 #define DFF_Prop_lineEndArrowLength 469 // MSO_LINEENDLENGTH Arrow at end
203 #define DFF_Prop_lineJoinStyle 470 // MSO_LINEJOIN How to join lines
204 #define DFF_Prop_lineEndCapStyle 471 // MSO_LINECAP How to end lines
205 #define DFF_Prop_fLine 508 // sal_Bool Any line?
206 #define DFF_Prop_fNoLineDrawDash 511 // sal_Bool Draw a dashed line if no line
208 #define DFF_Prop_shadowType 512 // MSO_SHADOWTYPE Type of effect
209 #define DFF_Prop_shadowColor 513 // MSO_CLR Foreground color
210 #define DFF_Prop_shadowOpacity 516 // LONG Fixed 16.16
211 #define DFF_Prop_shadowOffsetX 517 // LONG Offset shadow
212 #define DFF_Prop_shadowOffsetY 518 // LONG Offset shadow
213 #define DFF_Prop_fshadowObscured 575 // sal_Bool Excel5-style shadow
215 #define DFF_Prop_fPerspective 639 // sal_Bool On/off
217 #define DFF_Prop_c3DSpecularAmt 640 // LONG Fixed-point 16.16
218 #define DFF_Prop_c3DDiffuseAmt 641 // LONG Fixed-point 16.16
219 #define DFF_Prop_c3DShininess 642 // LONG Default gives OK results
220 #define DFF_Prop_c3DExtrudeForward 644 // LONG Distance of extrusion in EMUs
221 #define DFF_Prop_c3DExtrudeBackward 645 // LONG
222 #define DFF_Prop_c3DExtrusionColor 647 // MSO_CLR Basic color of extruded part of shape; the lighting model used will determine the exact shades used when rendering.
223 #define DFF_Prop_fc3DLightFace 703 // BOOL
225 #define DFF_Prop_c3DYRotationAngle 704 // LONG degrees (16.16) about y axis
226 #define DFF_Prop_c3DXRotationAngle 705 // LONG degrees (16.16) about x axis
227 #define DFF_Prop_c3DRotationCenterX 710 // LONG rotation center x (16.16 or g-units)
228 #define DFF_Prop_c3DRotationCenterY 711 // LONG rotation center y (16.16 or g-units)
229 #define DFF_Prop_c3DRotationCenterZ 712 // LONG rotation center z (absolute (emus))
230 #define DFF_Prop_c3DRenderMode 713 // MSO_3DRENDERMODE Full,wireframe, or bcube
231 #define DFF_Prop_c3DTolerance 714 // LONG pixels (16.16)
232 #define DFF_Prop_c3DXViewpoint 715 // LONG X view point (emus)
233 #define DFF_Prop_c3DYViewpoint 716 // LONG Y view point (emus)
234 #define DFF_Prop_c3DZViewpoint 717 // LONG Z view distance (emus)
235 #define DFF_Prop_c3DOriginX 718 // LONG
236 #define DFF_Prop_c3DOriginY 719 // LONG
237 #define DFF_Prop_c3DSkewAngle 720 // LONG degree (16.16) skew angle
238 #define DFF_Prop_c3DSkewAmount 721 // LONG Percentage skew amount
239 #define DFF_Prop_c3DAmbientIntensity 722 // LONG Fixed point intensity
240 #define DFF_Prop_c3DKeyX 723 // LONG Key light source direc-
241 #define DFF_Prop_c3DKeyY 724 // LONG tion; only their relative
242 #define DFF_Prop_c3DKeyZ 725 // LONG magnitudes matter
243 #define DFF_Prop_c3DKeyIntensity 726 // LONG Fixed point intensity
244 #define DFF_Prop_c3DFillX 727 // LONG Fill light source direc-
245 #define DFF_Prop_c3DFillY 728 // LONG tion; only their relative
246 #define DFF_Prop_c3DFillZ 729 // LONG magnitudes matter
247 #define DFF_Prop_c3DFillIntensity 730 // LONG Fixed point intensity
248 #define DFF_Prop_fc3DFillHarsh 767 // sal_Bool Is fill lighting harsh?
250 #define DFF_Prop_hspMaster 769 // MSO_HSP master shape
251 #define DFF_Prop_cxstyle 771 // MSO_CXSTYLE Type of connector
252 #define DFF_Prop_fBackground 831 // sal_Bool If sal_True, this is the background shape.
255 #define DFF_Prop_fCalloutLengthSpecified 895 // sal_Bool if true, we look at dxyCalloutLengthSpecified
258 #define DFF_Prop_wzName 896 // WCHAR* Shape Name (present only if explicitly set)
259 #define DFF_Prop_wzDescription 897 // WCHAR* alternate text
260 #define DFF_Prop_pihlShape 898 // IHlink* The hyperlink in the shape.
261 #define DFF_Prop_pWrapPolygonVertices 899 // IMsoArray The polygon that text will be wrapped around (Word)
262 #define DFF_Prop_dxWrapDistLeft 900 // LONG Left wrapping distance from text (Word)
263 #define DFF_Prop_dyWrapDistTop 901 // LONG Top wrapping distance from text (Word)
264 #define DFF_Prop_dxWrapDistRight 902 // LONG Right wrapping distance from text (Word)
265 #define DFF_Prop_dyWrapDistBottom 903 // LONG Bottom wrapping distance from text (Word)
266 #define DFF_Prop_tableProperties 927 // LONG
267 #define DFF_Prop_tableRowProperties 928 // LONG*
268 #define DFF_Prop_fHidden 958 // sal_Bool Do not display
269 #define DFF_Prop_fPrint 959 // sal_Bool Print this shape
271 // properties of the second property set
272 #define DFF_Prop_metroBlob 937 // XML ZipPackage*
274 // linchpin: the shape type
275 enum MSO_SPT
: sal_Int32
{
277 mso_sptNotPrimitive
= mso_sptMin
,
278 mso_sptRectangle
= 1,
279 mso_sptRoundRectangle
= 2,
282 mso_sptIsocelesTriangle
= 5,
283 mso_sptRightTriangle
= 6,
284 mso_sptParallelogram
= 7,
285 mso_sptTrapezoid
= 8,
291 mso_sptThickArrow
= 14,
292 mso_sptHomePlate
= 15,
301 mso_sptTextSimple
= 24,
302 mso_sptTextOctagon
= 25,
303 mso_sptTextHexagon
= 26,
304 mso_sptTextCurve
= 27,
305 mso_sptTextWave
= 28,
306 mso_sptTextRing
= 29,
307 mso_sptTextOnCurve
= 30,
308 mso_sptTextOnRing
= 31,
309 mso_sptStraightConnector1
= 32,
310 mso_sptBentConnector2
= 33,
311 mso_sptBentConnector3
= 34,
312 mso_sptBentConnector4
= 35,
313 mso_sptBentConnector5
= 36,
314 mso_sptCurvedConnector2
= 37,
315 mso_sptCurvedConnector3
= 38,
316 mso_sptCurvedConnector4
= 39,
317 mso_sptCurvedConnector5
= 40,
318 mso_sptCallout1
= 41,
319 mso_sptCallout2
= 42,
320 mso_sptCallout3
= 43,
321 mso_sptAccentCallout1
= 44,
322 mso_sptAccentCallout2
= 45,
323 mso_sptAccentCallout3
= 46,
324 mso_sptBorderCallout1
= 47,
325 mso_sptBorderCallout2
= 48,
326 mso_sptBorderCallout3
= 49,
327 mso_sptAccentBorderCallout1
= 50,
328 mso_sptAccentBorderCallout2
= 51,
329 mso_sptAccentBorderCallout3
= 52,
333 mso_sptPentagon
= 56,
334 mso_sptNoSmoking
= 57,
338 mso_sptWedgeRectCallout
= 61,
339 mso_sptWedgeRRectCallout
= 62,
340 mso_sptWedgeEllipseCallout
= 63,
342 mso_sptFoldedCorner
= 65,
343 mso_sptLeftArrow
= 66,
344 mso_sptDownArrow
= 67,
346 mso_sptLeftRightArrow
= 69,
347 mso_sptUpDownArrow
= 70,
348 mso_sptIrregularSeal1
= 71,
349 mso_sptIrregularSeal2
= 72,
350 mso_sptLightningBolt
= 73,
352 mso_sptPictureFrame
= 75,
353 mso_sptQuadArrow
= 76,
354 mso_sptLeftArrowCallout
= 77,
355 mso_sptRightArrowCallout
= 78,
356 mso_sptUpArrowCallout
= 79,
357 mso_sptDownArrowCallout
= 80,
358 mso_sptLeftRightArrowCallout
= 81,
359 mso_sptUpDownArrowCallout
= 82,
360 mso_sptQuadArrowCallout
= 83,
362 mso_sptLeftBracket
= 85,
363 mso_sptRightBracket
= 86,
364 mso_sptLeftBrace
= 87,
365 mso_sptRightBrace
= 88,
366 mso_sptLeftUpArrow
= 89,
367 mso_sptBentUpArrow
= 90,
368 mso_sptBentArrow
= 91,
370 mso_sptStripedRightArrow
= 93,
371 mso_sptNotchedRightArrow
= 94,
372 mso_sptBlockArc
= 95,
373 mso_sptSmileyFace
= 96,
374 mso_sptVerticalScroll
= 97,
375 mso_sptHorizontalScroll
= 98,
376 mso_sptCircularArrow
= 99,
377 mso_sptNotchedCircularArrow
= 100,
378 mso_sptUturnArrow
= 101,
379 mso_sptCurvedRightArrow
= 102,
380 mso_sptCurvedLeftArrow
= 103,
381 mso_sptCurvedUpArrow
= 104,
382 mso_sptCurvedDownArrow
= 105,
383 mso_sptCloudCallout
= 106,
384 mso_sptEllipseRibbon
= 107,
385 mso_sptEllipseRibbon2
= 108,
386 mso_sptFlowChartProcess
= 109,
387 mso_sptFlowChartDecision
= 110,
388 mso_sptFlowChartInputOutput
= 111,
389 mso_sptFlowChartPredefinedProcess
= 112,
390 mso_sptFlowChartInternalStorage
= 113,
391 mso_sptFlowChartDocument
= 114,
392 mso_sptFlowChartMultidocument
= 115,
393 mso_sptFlowChartTerminator
= 116,
394 mso_sptFlowChartPreparation
= 117,
395 mso_sptFlowChartManualInput
= 118,
396 mso_sptFlowChartManualOperation
= 119,
397 mso_sptFlowChartConnector
= 120,
398 mso_sptFlowChartPunchedCard
= 121,
399 mso_sptFlowChartPunchedTape
= 122,
400 mso_sptFlowChartSummingJunction
= 123,
401 mso_sptFlowChartOr
= 124,
402 mso_sptFlowChartCollate
= 125,
403 mso_sptFlowChartSort
= 126,
404 mso_sptFlowChartExtract
= 127,
405 mso_sptFlowChartMerge
= 128,
406 mso_sptFlowChartOfflineStorage
= 129,
407 mso_sptFlowChartOnlineStorage
= 130,
408 mso_sptFlowChartMagneticTape
= 131,
409 mso_sptFlowChartMagneticDisk
= 132,
410 mso_sptFlowChartMagneticDrum
= 133,
411 mso_sptFlowChartDisplay
= 134,
412 mso_sptFlowChartDelay
= 135,
413 mso_sptTextPlainText
= 136,
414 mso_sptTextStop
= 137,
415 mso_sptTextTriangle
= 138,
416 mso_sptTextTriangleInverted
= 139,
417 mso_sptTextChevron
= 140,
418 mso_sptTextChevronInverted
= 141,
419 mso_sptTextRingInside
= 142,
420 mso_sptTextRingOutside
= 143,
421 mso_sptTextArchUpCurve
= 144,
422 mso_sptTextArchDownCurve
= 145,
423 mso_sptTextCircleCurve
= 146,
424 mso_sptTextButtonCurve
= 147,
425 mso_sptTextArchUpPour
= 148,
426 mso_sptTextArchDownPour
= 149,
427 mso_sptTextCirclePour
= 150,
428 mso_sptTextButtonPour
= 151,
429 mso_sptTextCurveUp
= 152,
430 mso_sptTextCurveDown
= 153,
431 mso_sptTextCascadeUp
= 154,
432 mso_sptTextCascadeDown
= 155,
433 mso_sptTextWave1
= 156,
434 mso_sptTextWave2
= 157,
435 mso_sptTextWave3
= 158,
436 mso_sptTextWave4
= 159,
437 mso_sptTextInflate
= 160,
438 mso_sptTextDeflate
= 161,
439 mso_sptTextInflateBottom
= 162,
440 mso_sptTextDeflateBottom
= 163,
441 mso_sptTextInflateTop
= 164,
442 mso_sptTextDeflateTop
= 165,
443 mso_sptTextDeflateInflate
= 166,
444 mso_sptTextDeflateInflateDeflate
= 167,
445 mso_sptTextFadeRight
= 168,
446 mso_sptTextFadeLeft
= 169,
447 mso_sptTextFadeUp
= 170,
448 mso_sptTextFadeDown
= 171,
449 mso_sptTextSlantUp
= 172,
450 mso_sptTextSlantDown
= 173,
451 mso_sptTextCanUp
= 174,
452 mso_sptTextCanDown
= 175,
453 mso_sptFlowChartAlternateProcess
= 176,
454 mso_sptFlowChartOffpageConnector
= 177,
455 mso_sptCallout90
= 178,
456 mso_sptAccentCallout90
= 179,
457 mso_sptBorderCallout90
= 180,
458 mso_sptAccentBorderCallout90
= 181,
459 mso_sptLeftRightUpArrow
= 182,
462 mso_sptBracketPair
= 185,
463 mso_sptBracePair
= 186,
465 mso_sptDoubleWave
= 188,
466 mso_sptActionButtonBlank
= 189,
467 mso_sptActionButtonHome
= 190,
468 mso_sptActionButtonHelp
= 191,
469 mso_sptActionButtonInformation
= 192,
470 mso_sptActionButtonForwardNext
= 193,
471 mso_sptActionButtonBackPrevious
= 194,
472 mso_sptActionButtonEnd
= 195,
473 mso_sptActionButtonBeginning
= 196,
474 mso_sptActionButtonReturn
= 197,
475 mso_sptActionButtonDocument
= 198,
476 mso_sptActionButtonSound
= 199,
477 mso_sptActionButtonMovie
= 200,
478 mso_sptHostControl
= 201,
479 mso_sptTextBox
= 202,
480 //for pptx shape which doesn't exist in ppt
481 mso_sptTearDrop
= 203,
483 mso_sptNil
= mso_sptMax
486 // different enums from the OfficeDraw documentation, Appendix D - beginning
488 // note: in opposite to the MS documentation, they all
489 // start with "mso_" instead of "mso"
492 mso_shapeLines
, // A line of straight segments
493 mso_shapeLinesClosed
, // A closed polygonal object
494 mso_shapeCurves
, // A line of Bezier curve segments
495 mso_shapeCurvesClosed
, // A closed shape with curved edges
496 mso_shapeComplex
// pSegmentInfo must be non-empty
508 mso_bwColor
, // only used for predefined shades
509 mso_bwAutomatic
, // depends on object type
510 mso_bwGrayScale
, // shades of gray only
511 mso_bwLightGrayScale
, // shades of light gray only
512 mso_bwInverseGray
, // dark gray mapped to light gray, etc.
513 mso_bwGrayOutline
, // pure gray and white
514 mso_bwBlackTextLine
, // black text and lines, all else grayscale
515 mso_bwHighContrast
, // pure black and white mode (no grays)
516 mso_bwBlack
, // solid black
517 mso_bwWhite
, // solid white
518 mso_bwDontShow
, // object not drawn
519 mso_bwNumModes
// number of Black and white modes
526 mso_anchorTopCentered
,
527 mso_anchorMiddleCentered
,
528 mso_anchorBottomCentered
,
529 mso_anchorTopBaseline
,
530 mso_anchorBottomBaseline
,
531 mso_anchorTopCenteredBaseline
,
532 mso_anchorBottomCenteredBaseline
543 enum MSO_ConnectorStyle
{
544 mso_cxstyleStraight
= 0,
550 // MSO_TXFL -- text flow
552 mso_txflHorzN
, // Horizontal non-@
553 mso_txflTtoBA
, // Top to Bottom @-font
554 mso_txflBtoT
, // Bottom to Top non-@
555 mso_txflTtoBN
, // Top to Bottom non-@
556 mso_txflHorzA
, // Horizontal @-font
557 mso_txflVertN
// Vertical, non-@
560 // MSO_TXDIR - text direction (needed for Bi-Di support)
562 mso_txdirLTR
, // left-to-right text direction
563 mso_txdirRTL
, // right-to-left text direction
564 mso_txdirContext
// context text direction
567 // MSO_SPCOT -- Callout Type
568 enum MSO_SPCalloutType
{
569 mso_spcotRightAngle
= 1,
570 mso_spcotOneSegment
= 2,
571 mso_spcotTwoSegment
= 3,
572 mso_spcotThreeSegment
= 4
575 // MSO_SPCOA -- Callout Angle
576 enum MSO_SPCalloutAngle
{
585 // MSO_SPCOD -- Callout Drop
586 enum MSO_SPCalloutDrop
{
593 // MSO_GEOTEXTALIGN - FontWork alignment
594 enum MSO_GeoTextAlign
{
595 mso_alignTextStretch
, /* Stretch each line of text to fit width. */
596 mso_alignTextCenter
, /* Center text on width. */
597 mso_alignTextLeft
, /* Left justify. */
598 mso_alignTextRight
, /* Right justify. */
599 mso_alignTextLetterJust
, /* Spread letters out to fit width. */
600 mso_alignTextWordJust
, /* Spread words out to fit width. */
601 mso_alignTextInvalid
/* Invalid */
604 // MSO_BLIPFLAGS - flags for pictures
606 mso_blipflagDefault
= 0,
607 mso_blipflagComment
= 0, // Blip name is a comment
608 mso_blipflagFile
, // Blip name is a file name
609 mso_blipflagURL
, // Blip name is a full URL
610 mso_blipflagType
= 3, // Mask to extract type
611 /* Or the following flags with any of the above. */
612 mso_blipflagDontSave
= 4, // A "dont" is the depression in the metal
613 // body work of an automobile caused when a
614 // cyclist violently trusts his or her nose
615 // at it, thus a DontSave is another name for
617 mso_blipflagDoNotSave
= 4, // For those who prefer English
618 mso_blipflagLinkToFile
= 8
621 enum MSO_3DRenderMode
{
622 mso_FullRender
, // Generate a full rendering
623 mso_Wireframe
, // Generate a wireframe
624 mso_BoundingCube
// Generate a bounding cube
628 mso_xformAbsolute
, // Apply transform in absolute space centered on shape
629 mso_xformShape
, // Apply transform to shape geometry
630 mso_xformDrawing
// Apply transform in drawing space
633 enum MSO_ShadowType
{
634 mso_shadowOffset
, // N pixel offset shadow
635 mso_shadowDouble
, // Use second offset too
636 mso_shadowRich
, // Rich perspective shadow (cast relative to shape)
637 mso_shadowShape
, // Rich perspective shadow (cast in shape space)
638 mso_shadowDrawing
, // Perspective shadow cast in drawing space
639 mso_shadowEmbossOrEngrave
642 // MSO_DZTYPE - the type of a (length) measurement
645 mso_dztypeDefault
= 0, // Default size, ignore the values
646 mso_dztypeA
= 1, // Values are in EMUs
647 mso_dztypeV
= 2, // Values are in pixels
648 mso_dztypeShape
= 3, // Values are 16.16 fractions of shape size
649 mso_dztypeFixedAspect
= 4, // Aspect ratio is fixed
650 mso_dztypeAFixed
= 5, // EMUs, fixed aspect ratio
651 mso_dztypeVFixed
= 6, // Pixels, fixed aspect ratio
652 mso_dztypeShapeFixed
= 7, // Proportion of shape, fixed aspect ratio
653 mso_dztypeFixedAspectEnlarge
654 = 8, // Aspect ratio is fixed, favor larger size
655 mso_dztypeAFixedBig
= 9, // EMUs, fixed aspect ratio
656 mso_dztypeVFixedBig
= 10, // Pixels, fixed aspect ratio
657 mso_dztypeShapeFixedBig
= 11, // Proportion of shape, fixed aspect ratio
662 mso_fillSolid
, // Fill with a solid color
663 mso_fillPattern
, // Fill with a pattern (bitmap)
664 mso_fillTexture
, // A texture (pattern with its own color map)
665 mso_fillPicture
, // Center a picture in the shape
666 mso_fillShade
, // Shade from start to end points
667 mso_fillShadeCenter
, // Shade from bounding rectangle to end point
668 mso_fillShadeShape
, // Shade from shape outline to end point
669 mso_fillShadeScale
, // Similar to mso_fillShade, but the fillAngle
670 // is additionally scaled by the aspect ratio of
671 // the shape. If shape is square, it is the
672 // same as mso_fillShade.
673 mso_fillShadeTitle
, // special type - shade to title --- for PP
674 mso_fillBackground
// Use the background fill color/pattern
677 // MSOLINESTYLE - compound line style
679 mso_lineSimple
, // Single line (of width lineWidth)
680 mso_lineDouble
, // Double lines of equal width
681 mso_lineThickThin
, // Double lines, one thick, one thin
682 mso_lineThinThick
, // Double lines, reverse order
683 mso_lineTriple
, // Three lines, thin, thick, thin
684 MSO_LineStyle_NONE
= USHRT_MAX
687 // MSO_LINETYPE - how to "fill" the line contour
689 mso_lineSolidType
, // Fill with a solid color
690 mso_linePattern
, // Fill with a pattern (bitmap)
691 mso_lineTexture
, // A texture (pattern with its own color map)
692 mso_linePicture
// Center a picture in the shape
695 // MSO_LINEDASHING - dashed line style
696 enum MSO_LineDashing
{
697 mso_lineSolid
, // Solid (continuous) pen
698 mso_lineDashSys
, // PS_DASH system dash style
699 mso_lineDotSys
, // PS_DOT system dash style
700 mso_lineDashDotSys
, // PS_DASHDOT system dash style
701 mso_lineDashDotDotSys
, // PS_DASHDOTDOT system dash style
702 mso_lineDotGEL
, // square dot style
703 mso_lineDashGEL
, // dash style
704 mso_lineLongDashGEL
, // long dash style
705 mso_lineDashDotGEL
, // dash short dash
706 mso_lineLongDashDotGEL
, // long dash short dash
707 mso_lineLongDashDotDotGEL
// long dash short dash short dash
710 // MSO_LINEEND - line end effect
714 mso_lineArrowStealthEnd
,
715 mso_lineArrowDiamondEnd
,
716 mso_lineArrowOvalEnd
,
720 // MSO_LINEENDWIDTH - size of arrowhead
721 enum MSO_LineEndWidth
{
723 mso_lineMediumWidthArrow
,
727 // MSO_LINEENDLENGTH - size of arrowhead
728 enum MSO_LineEndLength
{
730 mso_lineMediumLenArrow
,
734 // MSO_LINEJOIN - line join style.
736 mso_lineJoinBevel
, // Join edges by a straight line
737 mso_lineJoinMiter
, // Extend edges until they join
738 mso_lineJoinRound
// Draw an arc between the two edges
741 // MSO_LINECAP - line cap style (applies to ends of dash segments too).
743 mso_lineEndCapRound
, // Rounded ends - the default
744 mso_lineEndCapSquare
, // Square protrudes by half line width
745 mso_lineEndCapFlat
// Line ends at end point
747 // Various enums from the OfficeDraw documentation Appendix D - End
753 mso_blipUsageDefault
, // All non-texture fill blips get this.
754 mso_blipUsageTexture
,
755 mso_blipUsageMax
= 255 // Since this is stored in a byte
758 enum MSO_BLIPTYPE
{ // GEL provided types...
759 mso_blipERROR
= 0, // An error occurred during loading
760 mso_blipUNKNOWN
, // An unknown blip type
761 mso_blipEMF
, // Windows Enhanced Metafile
762 mso_blipWMF
, // Windows Metafile
763 mso_blipPICT
, // Macintosh PICT
764 mso_blipJPEG
, // JFIF
766 mso_blipDIB
, // Windows DIB
767 mso_blipFirstClient
= 32, // First client defined blip type
768 mso_blipLastClient
= 255 // Last client defined blip type
773 mso_biWMF
= 0x216, // Metafile header then compressed WMF
774 mso_biEMF
= 0x3D4, // Metafile header then compressed EMF
775 mso_biPICT
= 0x542, // Metafile header then compressed PICT
776 mso_biPNG
= 0x6E0, // One byte tag then PNG data
777 mso_biJFIF
= 0x46A, // One byte tag then JFIF data
778 mso_biJPEG
= mso_biJFIF
,
779 mso_biDIB
= 0x7A8, // One byte tag then DIB data
780 mso_biClient
=0x800 // Clients should set this bit
781 }; // Blip signature as encoded in the MSO_FBH.inst
783 enum MSO_BLIPCOMPRESSION
{
784 mso_compressionDeflate
= 0,
785 mso_compressionNone
= 254, // Used only if compression fails
786 mso_compressionTest
= 255 // For testing only
789 enum MSO_BLIPFILTER
{
790 mso_filterAdaptive
= 0, // PNG type - not used/supported for metafile
791 mso_filterNone
= 254,
792 mso_filterTest
= 255 // For testing only
795 enum MSO_SYSCOLORINDEX
{
796 mso_syscolorButtonFace
, // COLOR_BTNFACE
797 mso_syscolorWindowText
, // COLOR_WINDOWTEXT
798 mso_syscolorMenu
, // COLOR_MENU
799 mso_syscolorHighlight
, // COLOR_HIGHLIGHT
800 mso_syscolorHighlightText
, // COLOR_HIGHLIGHTTEXT
801 mso_syscolorCaptionText
, // COLOR_CAPTIONTEXT
802 mso_syscolorActiveCaption
, // COLOR_ACTIVECAPTION
803 mso_syscolorButtonHighlight
, // COLOR_BTNHIGHLIGHT
804 mso_syscolorButtonShadow
, // COLOR_BTNSHADOW
805 mso_syscolorButtonText
, // COLOR_BTNTEXT
806 mso_syscolorGrayText
, // COLOR_GRAYTEXT
807 mso_syscolorInactiveCaption
, // COLOR_INACTIVECAPTION
808 mso_syscolorInactiveCaptionText
, // COLOR_INACTIVECAPTIONTEXT
809 mso_syscolorInfoBackground
, // COLOR_INFOBK
810 mso_syscolorInfoText
, // COLOR_INFOTEXT
811 mso_syscolorMenuText
, // COLOR_MENUTEXT
812 mso_syscolorScrollbar
, // COLOR_SCROLLBAR
813 mso_syscolorWindow
, // COLOR_WINDOW
814 mso_syscolorWindowFrame
, // COLOR_WINDOWFRAME
815 mso_syscolor3DLight
, // COLOR_3DLIGHT
816 mso_syscolorMax
, // Count of system colors
818 mso_colorFillColor
= 0xF0, // Use the fillColor property
819 mso_colorLineOrFillColor
, // Use the line color only if there is a line
820 mso_colorLineColor
, // Use the lineColor property
821 mso_colorShadowColor
, // Use the shadow color
822 mso_colorThis
, // Use this color (only valid as described below)
823 mso_colorFillBackColor
, // Use the fillBackColor property
824 mso_colorLineBackColor
, // Use the lineBackColor property
825 mso_colorFillThenLine
, // Use the fillColor unless no fill and line
826 mso_colorIndexMask
= 0xFF, // Extract the color index
828 mso_colorProcessMask
=0xFFFF00,// All the processing bits
829 mso_colorModificationMask
=0x0F00, // Just the function
830 mso_colorModFlagMask
=0xF000, // Just the additional flags
831 mso_colorDarken
=0x0100, // Darken color by parameter/255
832 mso_colorLighten
=0x0200, // Lighten color by parameter/255
833 mso_colorAdd
=0x0300, // Add grey level RGB(param,param,param)
834 mso_colorSubtract
=0x0400, // Subtract grey level RGB(p,p,p)
835 mso_colorReverseSubtract
=0x0500, // Subtract from grey level RGB(p,p,p)
836 /* In the following "black" means maximum component value, white minimum.
837 The operation is per component, to guarantee white combine with
839 mso_colorBlackWhite
=0x0600, // Black if < uParam, else white (>=)
840 mso_colorInvert
=0x2000, // Invert color (at the *end*)
841 mso_colorInvert128
=0x4000, // Invert by toggling the top bit
842 mso_colorGray
=0x8000, // Make the color gray (before the above!)
843 mso_colorBParamMask
=0xFF0000,// Parameter used as above
844 mso_colorBParamShift
= 16 // To extract the parameter value
847 enum MSO_TextGeometryProperties
{
848 use_gtextFBestFit
= 0x00000100,
849 use_gtextFShrinkFit
= 0x00000200,
850 use_gtextFStretch
= 0x00000400,
851 gtextFBestFit
= 0x01000000,
852 gtextFShrinkFit
= 0x02000000,
853 gtextFStretch
= 0x04000000
857 #define MSPROP_DESCRIPTION_MAX_LEN 4096
861 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */