LibreOffice Module svx (master)  1
msdffdef.hxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
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/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
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 .
18  */
19 
20 #pragma once
21 
22 #include <limits.h>
23 #include <sal/types.h>
24 
25 #define DFF_COMMON_RECORD_HEADER_SIZE 8
26 
27 const sal_uInt32 nMaxLegalDffRecordLength =
29 
30 #define DFF_PSFLAG_CONTAINER 0x0F // If the version field of a record
31  // header takes on this value, the
32  // record header marks the start of
33  // a container.
34 
35 #define DFF_PST_TextHeaderAtom 3999
36 #define DFF_PST_TextCharsAtom 4000
37 #define DFF_PST_TextBytesAtom 4008
38 #define DFF_PST_ExOleObjStg 4113
39 
40 // Record Name FBT-Value Instance Contents Wrd Exl Ppt Ver
41 
42 #define DFF_msofbtDggContainer 0xF000 // per-document data X X X
43 #define DFF_msofbtDgg 0xF006 // an FDGG and several FIDCLs X X X 0
44 #define DFF_msofbtCLSID 0xF016 // the CLSID of the application that put the data on the clipboard C C C 0
45 #define DFF_msofbtOPT 0xF00B // count of properties the document-wide default shape properties X X X 3
46 #define DFF_msofbtColorMRU 0xF11A // count of colors the colors in the MRU swatch X X X 0
47 #define DFF_msofbtSplitMenuColors 0xF11E // count of colors the colors in the top-level split menus X X X 0
48 #define DFF_msofbtBstoreContainer 0xF001 // count of BLIPs all images in the document (JPEGs, metafiles, etc.) X X X
49 #define DFF_msofbtBSE 0xF007 // BLIP type an FBSE (one per BLIP) X X X 2
50 #define DFF_msofbtBlipFirst 0xF018 // range of fbts reserved for various kinds of BLIPs X X X
51 #define DFF_msofbtBlipLast 0xF117 // range of fbts reserved for various kinds of BLIPs X X X
52 
53 #define DFF_msofbtDgContainer 0xF002 // per-sheet/page/slide data X X X
54 #define DFF_msofbtDg 0xF008 // drawing ID an FDG X X X 0
55 #define DFF_msofbtRegroupItems 0xF118 // count of regroup entries several FRITs X X X 0
56 #define DFF_msofbtColorScheme 0xF120 // count of colors the colors of the source host's color scheme C C 0
57 #define DFF_msofbtSpgrContainer 0xF003 // several SpContainers, the first of which is the group shape itself X X X
58 #define DFF_msofbtSpContainer 0xF004 // a shape X X X
59 #define DFF_msofbtSpgr 0xF009 // an FSPGR; only present if the shape is a group shape X X X 1
60 #define DFF_msofbtSp 0xF00A // shape type an FSP X X X 2
61 #define DFF_msofbtTextbox 0xF00C // RTF text C C C 0
62 #define DFF_msofbtClientTextbox 0xF00D // host-defined the text in the textbox, in host-defined format X X X
63 #define DFF_msofbtAnchor 0xF00E // a RECT, in 100000ths of an inch C C C 0
64 #define DFF_msofbtChildAnchor 0xF00F // a RECT, in units relative to the parent group X X X 0
65 #define DFF_msofbtClientAnchor 0xF010 // host-defined the location of the shape, in a host-defined format X X X
66 #define DFF_msofbtClientData 0xF011 // host-defined host-specific data X X X
67 #define DFF_msofbtOleObject 0xF11F // a serialized IStorage for an OLE object C C C 0
68 #define DFF_msofbtDeletedPspl 0xF11D // an FPSPL; only present in top-level deleted shapes X 0
69 #define DFF_msofbtUDefProp 0xF122 // range of fbts reserved for various kinds of BLIPs X X X
70 #define DFF_msofbtSolverContainer 0xF005 // count of rules the rules governing shapes X X X
71 #define DFF_msofbtConnectorRule 0xF012 // an FConnectorRule X X 1
72 #define DFF_msofbtAlignRule 0xF013 // an FAlignRule X X X 0
73 #define DFF_msofbtArcRule 0xF014 // an FARCRU X X X 0
74 #define DFF_msofbtClientRule 0xF015 // host-defined host-defined
75 #define DFF_msofbtCalloutRule 0xF017 // an FCORU X X X 0
76 
77 
78 // Values for the ULONG in DFF_PST_TextHeaderAtom
84  DFFTH_OTHER, // Text in a Shape
85  DFFTH_CENTERBODY, // Subtitle in Title-Slide
86  DFFTH_CENTERTITLE, // Title in Title-Slide
87  DFFTH_HALFBODY, // Body in two-column slide
88  DFFTH_QUARTERBODY // Body in four-body slide
89 };
90 
91 
92 // Shape Properties
93 // 1pt = 12700 EMU (English Metric Units)
94 // 1pt = 20 Twip = 20/1440" = 1/72"
95 // 1twip=635 EMU
96 // 1" = 12700*72 = 914400 EMU
97 // 1" = 25.4mm
98 // 1mm = 36000 EMU
99 
100 
101 // Record Name FBT-Value Instance Contents Wrd Exl Ppt Ver
102 // Transform
103 #define DFF_Prop_Rotation 4 // Fixed Point 16.16 degrees
104 // Protection
105 #define DFF_Prop_LockAgainstGrouping 127 // sal_Bool Do not group this shape
106 // Text
107 #define DFF_Prop_lTxid 128 // LONG id for the text, value determined by the host
108 #define DFF_Prop_dxTextLeft 129 // LONG margins relative to shape's inscribed text rectangle (in EMUs)
109 #define DFF_Prop_dyTextTop 130 // LONG
110 #define DFF_Prop_dxTextRight 131 // LONG
111 #define DFF_Prop_dyTextBottom 132 // LONG
112 #define DFF_Prop_WrapText 133 // MSO_WRAPMODE Wrap text at shape margins
113 #define DFF_Prop_anchorText 135 // MSO_ANCHOR How to anchor the text
114 #define DFF_Prop_txflTextFlow 136 // MSO_TXFL Text flow
115 #define DFF_Prop_cdirFont 137 // MSO_CDIR Font rotation
116 #define DFF_Prop_hspNext 138 // MSO_HSP ID of the next shape (used by Word for linked textboxes)
117 #define DFF_Prop_AutoTextMargin 188 // sal_Bool use host's margin calculations
118 #define DFF_Prop_RotateText 189 // sal_Bool Rotate text with shape
119 #define DFF_Prop_FitTextToShape 191 // sal_Bool Size text to fit shape size
120 // GeoText
121 #define DFF_Prop_gtextUNICODE 192 // WCHAR* UNICODE text string
122 #define DFF_Prop_gtextAlign 194 // MSO_GEOTEXTALIGN alignment on curve
123 #define DFF_Prop_gtextSize 195 // LONG default point size
124 #define DFF_Prop_gtextSpacing 196 // LONG fixed point 16.16
125 #define DFF_Prop_gtextFont 197 // WCHAR* font family name
126 #define DFF_Prop_gtextFStretch 245 // sal_Bool 400 Stretch to fit shape
127 #define DFF_Prop_gtextFBold 250 // sal_Bool 20 Bold font
128 #define DFF_Prop_gtextFItalic 251 // sal_Bool 10 Italic font
129 #define DFF_Prop_gtextFStrikethrough 255 // sal_Bool 1 Strike through font
130 // Blip
131 #define DFF_Prop_cropFromTop 256 // LONG 16.16 fraction times total image width or height, as appropriate.
132 #define DFF_Prop_cropFromBottom 257 // LONG
133 #define DFF_Prop_cropFromLeft 258 // LONG
134 #define DFF_Prop_cropFromRight 259 // LONG
135 #define DFF_Prop_pib 260 // IMsoBlip* Blip to display
136 #define DFF_Prop_pibName 261 // WCHAR* Blip file name
137 #define DFF_Prop_pibFlags 262 // MSO_BLIPFLAGS Blip flags
138 #define DFF_Prop_pictureTransparent 263 // LONG transparent color (none if ~0UL)
139 #define DFF_Prop_pictureContrast 264 // LONG contrast setting
140 #define DFF_Prop_pictureBrightness 265 // LONG brightness setting
141 #define DFF_Prop_pictureGamma 266 // LONG 16.16 gamma
142 #define DFF_Prop_pictureId 267 // LONG Host-defined ID for OLE objects (usually a pointer)
143 #define DFF_Prop_pictureActive 319 // sal_Bool Server is active (OLE objects only)
144 // Geometry
145 #define DFF_Prop_geoLeft 320 // LONG Defines the G (geometry) coordinate space.
146 #define DFF_Prop_geoTop 321 // LONG
147 #define DFF_Prop_geoRight 322 // LONG
148 #define DFF_Prop_geoBottom 323 // LONG
149 #define DFF_Prop_pVertices 325 // IMsoArray An array of points, in G units.
150 #define DFF_Prop_pSegmentInfo 326 // IMsoArray
151 #define DFF_Prop_adjustValue 327 // LONG Adjustment values corresponding to the positions of the
152 #define DFF_Prop_adjust2Value 328 // LONG adjust handles of the shape. The number of values used
153 #define DFF_Prop_adjust3Value 329 // LONG and their allowable ranges vary from shape type to shape type.
154 #define DFF_Prop_adjust4Value 330 // LONG
155 #define DFF_Prop_adjust5Value 331 // LONG
156 #define DFF_Prop_adjust6Value 332 // LONG
157 #define DFF_Prop_adjust7Value 333 // LONG
158 #define DFF_Prop_adjust8Value 334 // LONG
159 #define DFF_Prop_adjust9Value 335 // LONG
160 #define DFF_Prop_adjust10Value 336 // LONG
161 #define DFF_Prop_connectorPoints 337 // IMsoArray
162 #define DFF_Prop_stretchPointX 339 // LONG
163 #define DFF_Prop_stretchPointY 340 // LONG
164 #define DFF_Prop_Handles 341 // H*
165 #define DFF_Prop_pFormulas 342 // LONG
166 #define DFF_Prop_textRectangles 343 // LONG
167 #define DFF_Prop_connectorType 344 // LONG ->0=none, 1=segments, 2=custom, 3=rect
168 #define DFF_Prop_f3DOK 379 // sal_Bool 3D may be set
169 #define DFF_Prop_fGtextOK 381 // sal_Bool Text effect (FontWork) supported
170 #define DFF_Prop_fFillShadeShapeOK 382 // BOOL
171 #define DFF_Prop_fFillOK 383 // sal_Bool OK to fill the shape through the UI or VBA?
172 // FillStyle
173 #define DFF_Prop_fillType 384 // MSO_FILLTYPE Type of fill
174 #define DFF_Prop_fillColor 385 // MSO_CLR Foreground color
175 #define DFF_Prop_fillOpacity 386 // LONG Fixed 16.16
176 #define DFF_Prop_fillBackColor 387 // MSO_CLR Background color
177 #define DFF_Prop_fillBackOpacity 388 // LONG Shades only
178 #define DFF_Prop_fillBlip 390 // IMsoBlip* Pattern/texture
179 #define DFF_Prop_fillWidth 393 // LONG How big (A units) to make a metafile texture.
180 #define DFF_Prop_fillHeight 394 // LONG
181 #define DFF_Prop_fillAngle 395 // LONG Fade angle - degrees in 16.16
182 #define DFF_Prop_fillFocus 396 // LONG Linear shaded fill focus percent
183 #define DFF_Prop_fillToRight 399 // LONG Fraction 16.16
184 #define DFF_Prop_fillToBottom 400 // LONG Fraction 16.16
185 #define DFF_Prop_fillShadeColors 407 // IMsoArray a preset array of colors
186 #define DFF_Prop_fFilled 443 // sal_Bool Is shape filled?
187 #define DFF_Prop_fNoFillHitTest 447 // sal_Bool Hit test a shape as though filled
188 // LineStyle
189 #define DFF_Prop_lineColor 448 // MSO_CLR Color of line
190 #define DFF_Prop_lineOpacity 449 // LONG Not implemented
191 #define DFF_Prop_lineBackColor 450 // MSO_CLR Background color
192 #define DFF_Prop_lineWidth 459 // LONG A units; 1pt == 12700 EMUs
193 #define DFF_Prop_lineStyle 461 // MSO_LINESTYLE Draw parallel lines?
194 #define DFF_Prop_lineDashing 462 // MSO_LINEDASHING Can be overridden by:
195 #define DFF_Prop_lineDashStyle 463 // IMsoArray As Win32 ExtCreatePen
196 #define DFF_Prop_lineStartArrowhead 464 // MSO_LINEEND Arrow at start
197 #define DFF_Prop_lineEndArrowhead 465 // MSO_LINEEND Arrow at end
198 #define DFF_Prop_lineStartArrowWidth 466 // MSO_LINEENDWIDTH Arrow at start
199 #define DFF_Prop_lineStartArrowLength 467 // MSO_LINEENDLENGTH Arrow at end
200 #define DFF_Prop_lineEndArrowWidth 468 // MSO_LINEENDWIDTH Arrow at start
201 #define DFF_Prop_lineEndArrowLength 469 // MSO_LINEENDLENGTH Arrow at end
202 #define DFF_Prop_lineJoinStyle 470 // MSO_LINEJOIN How to join lines
203 #define DFF_Prop_lineEndCapStyle 471 // MSO_LINECAP How to end lines
204 #define DFF_Prop_fLine 508 // sal_Bool Any line?
205 #define DFF_Prop_fNoLineDrawDash 511 // sal_Bool Draw a dashed line if no line
206 // ShadowStyle
207 #define DFF_Prop_shadowType 512 // MSO_SHADOWTYPE Type of effect
208 #define DFF_Prop_shadowColor 513 // MSO_CLR Foreground color
209 #define DFF_Prop_shadowOpacity 516 // LONG Fixed 16.16
210 #define DFF_Prop_shadowOffsetX 517 // LONG Offset shadow
211 #define DFF_Prop_shadowOffsetY 518 // LONG Offset shadow
212 #define DFF_Prop_fshadowObscured 575 // sal_Bool Excel5-style shadow
213 // PerspectiveStyle
214 #define DFF_Prop_fPerspective 639 // sal_Bool On/off
215 // 3D Object
216 #define DFF_Prop_c3DSpecularAmt 640 // LONG Fixed-point 16.16
217 #define DFF_Prop_c3DDiffuseAmt 641 // LONG Fixed-point 16.16
218 #define DFF_Prop_c3DShininess 642 // LONG Default gives OK results
219 #define DFF_Prop_c3DExtrudeForward 644 // LONG Distance of extrusion in EMUs
220 #define DFF_Prop_c3DExtrudeBackward 645 // LONG
221 #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.
222 #define DFF_Prop_fc3DLightFace 703 // BOOL
223 // 3D Style
224 #define DFF_Prop_c3DYRotationAngle 704 // LONG degrees (16.16) about y axis
225 #define DFF_Prop_c3DXRotationAngle 705 // LONG degrees (16.16) about x axis
226 #define DFF_Prop_c3DRotationCenterX 710 // LONG rotation center x (16.16 or g-units)
227 #define DFF_Prop_c3DRotationCenterY 711 // LONG rotation center y (16.16 or g-units)
228 #define DFF_Prop_c3DRotationCenterZ 712 // LONG rotation center z (absolute (emus))
229 #define DFF_Prop_c3DRenderMode 713 // MSO_3DRENDERMODE Full,wireframe, or bcube
230 #define DFF_Prop_c3DTolerance 714 // LONG pixels (16.16)
231 #define DFF_Prop_c3DXViewpoint 715 // LONG X view point (emus)
232 #define DFF_Prop_c3DYViewpoint 716 // LONG Y view point (emus)
233 #define DFF_Prop_c3DZViewpoint 717 // LONG Z view distance (emus)
234 #define DFF_Prop_c3DOriginX 718 // LONG
235 #define DFF_Prop_c3DOriginY 719 // LONG
236 #define DFF_Prop_c3DSkewAngle 720 // LONG degree (16.16) skew angle
237 #define DFF_Prop_c3DSkewAmount 721 // LONG Percentage skew amount
238 #define DFF_Prop_c3DAmbientIntensity 722 // LONG Fixed point intensity
239 #define DFF_Prop_c3DKeyX 723 // LONG Key light source direc-
240 #define DFF_Prop_c3DKeyY 724 // LONG tion; only their relative
241 #define DFF_Prop_c3DKeyZ 725 // LONG magnitudes matter
242 #define DFF_Prop_c3DKeyIntensity 726 // LONG Fixed point intensity
243 #define DFF_Prop_c3DFillX 727 // LONG Fill light source direc-
244 #define DFF_Prop_c3DFillY 728 // LONG tion; only their relative
245 #define DFF_Prop_c3DFillZ 729 // LONG magnitudes matter
246 #define DFF_Prop_c3DFillIntensity 730 // LONG Fixed point intensity
247 #define DFF_Prop_fc3DFillHarsh 767 // sal_Bool Is fill lighting harsh?
248 // Shape
249 #define DFF_Prop_hspMaster 769 // MSO_HSP master shape
250 #define DFF_Prop_cxstyle 771 // MSO_CXSTYLE Type of connector
251 #define DFF_Prop_fBackground 831 // sal_Bool If sal_True, this is the background shape.
252 
253 // Callout
254 #define DFF_Prop_fCalloutLengthSpecified 895 // sal_Bool if true, we look at dxyCalloutLengthSpecified
255 
256 // GroupShape
257 #define DFF_Prop_wzName 896 // WCHAR* Shape Name (present only if explicitly set)
258 #define DFF_Prop_wzDescription 897 // WCHAR* alternate text
259 #define DFF_Prop_pihlShape 898 // IHlink* The hyperlink in the shape.
260 #define DFF_Prop_pWrapPolygonVertices 899 // IMsoArray The polygon that text will be wrapped around (Word)
261 #define DFF_Prop_dxWrapDistLeft 900 // LONG Left wrapping distance from text (Word)
262 #define DFF_Prop_dyWrapDistTop 901 // LONG Top wrapping distance from text (Word)
263 #define DFF_Prop_dxWrapDistRight 902 // LONG Right wrapping distance from text (Word)
264 #define DFF_Prop_dyWrapDistBottom 903 // LONG Bottom wrapping distance from text (Word)
265 #define DFF_Prop_tableProperties 927 // LONG
266 #define DFF_Prop_tableRowProperties 928 // LONG*
267 #define DFF_Prop_fHidden 958 // sal_Bool Do not display
268 #define DFF_Prop_fPrint 959 // sal_Bool Print this shape
269 
270 // properties of the second property set
271 #define DFF_Prop_metroBlob 937 // XML ZipPackage*
272 
273 // linchpin: the shape type
274 enum MSO_SPT: sal_Int32 {
459  mso_sptSun = 183,
460  mso_sptMoon = 184,
479  //for pptx shape which doesn't exist in ppt
481  mso_sptMax = 0x0FFF,
483 };
484 
485 // different enums from the OfficeDraw documentation, Appendix D - beginning
486 
487 // note: in opposite to the MS documentation, they all
488 // start with "mso_" instead of "mso"
489 
491  mso_shapeLines, // A line of straight segments
492  mso_shapeLinesClosed, // A closed polygonal object
493  mso_shapeCurves, // A line of Bezier curve segments
494  mso_shapeCurvesClosed, // A closed shape with curved edges
495  mso_shapeComplex // pSegmentInfo must be non-empty
496 };
497 
504 };
505 
507  mso_bwColor, // only used for predefined shades
508  mso_bwAutomatic, // depends on object type
509  mso_bwGrayScale, // shades of gray only
510  mso_bwLightGrayScale, // shades of light gray only
511  mso_bwInverseGray, // dark gray mapped to light gray, etc.
512  mso_bwGrayOutline, // pure gray and white
513  mso_bwBlackTextLine, // black text and lines, all else grayscale
514  mso_bwHighContrast, // pure black and white mode (no grays)
515  mso_bwBlack, // solid black
516  mso_bwWhite, // solid white
517  mso_bwDontShow, // object not drawn
518  mso_bwNumModes // number of Black and white modes
519 };
520 
532 };
533 
534 enum MSO_CDir {
535  mso_cdir0, // Right
536  mso_cdir90, // Down
537  mso_cdir180, // Left
539 };
540 
541 // connector style
547 };
548 
549 // MSO_TXFL -- text flow
551  mso_txflHorzN, // Horizontal non-@
552  mso_txflTtoBA, // Top to Bottom @-font
553  mso_txflBtoT, // Bottom to Top non-@
554  mso_txflTtoBN, // Top to Bottom non-@
555  mso_txflHorzA, // Horizontal @-font
556  mso_txflVertN // Vertical, non-@
557 };
558 
559 // MSO_TXDIR - text direction (needed for Bi-Di support)
561  mso_txdirLTR, // left-to-right text direction
562  mso_txdirRTL, // right-to-left text direction
563  mso_txdirContext // context text direction
564 };
565 
566 // MSO_SPCOT -- Callout Type
572 };
573 
574 // MSO_SPCOA -- Callout Angle
582 };
583 
584 // MSO_SPCOD -- Callout Drop
590 };
591 
592 // MSO_GEOTEXTALIGN - FontWork alignment
594  mso_alignTextStretch, /* Stretch each line of text to fit width. */
595  mso_alignTextCenter, /* Center text on width. */
596  mso_alignTextLeft, /* Left justify. */
597  mso_alignTextRight, /* Right justify. */
598  mso_alignTextLetterJust, /* Spread letters out to fit width. */
599  mso_alignTextWordJust, /* Spread words out to fit width. */
600  mso_alignTextInvalid /* Invalid */
601 };
602 
603 // MSO_BLIPFLAGS - flags for pictures
606  mso_blipflagComment = 0, // Blip name is a comment
607  mso_blipflagFile, // Blip name is a file name
608  mso_blipflagURL, // Blip name is a full URL
609  mso_blipflagType = 3, // Mask to extract type
610  /* Or the following flags with any of the above. */
611  mso_blipflagDontSave = 4, // A "dont" is the depression in the metal
612  // body work of an automobile caused when a
613  // cyclist violently trusts his or her nose
614  // at it, thus a DontSave is another name for
615  // a cycle lane.
616  mso_blipflagDoNotSave = 4, // For those who prefer English
618 };
619 
621  mso_FullRender, // Generate a full rendering
622  mso_Wireframe, // Generate a wireframe
623  mso_BoundingCube // Generate a bounding cube
624 };
625 
627  mso_xformAbsolute, // Apply transform in absolute space centered on shape
628  mso_xformShape, // Apply transform to shape geometry
629  mso_xformDrawing // Apply transform in drawing space
630 };
631 
633  mso_shadowOffset, // N pixel offset shadow
634  mso_shadowDouble, // Use second offset too
635  mso_shadowRich, // Rich perspective shadow (cast relative to shape)
636  mso_shadowShape, // Rich perspective shadow (cast in shape space)
637  mso_shadowDrawing, // Perspective shadow cast in drawing space
639 };
640 
641 // MSO_DZTYPE - the type of a (length) measurement
644  mso_dztypeDefault = 0, // Default size, ignore the values
645  mso_dztypeA = 1, // Values are in EMUs
646  mso_dztypeV = 2, // Values are in pixels
647  mso_dztypeShape = 3, // Values are 16.16 fractions of shape size
648  mso_dztypeFixedAspect = 4, // Aspect ratio is fixed
649  mso_dztypeAFixed = 5, // EMUs, fixed aspect ratio
650  mso_dztypeVFixed = 6, // Pixels, fixed aspect ratio
651  mso_dztypeShapeFixed = 7, // Proportion of shape, fixed aspect ratio
653  = 8, // Aspect ratio is fixed, favor larger size
654  mso_dztypeAFixedBig = 9, // EMUs, fixed aspect ratio
655  mso_dztypeVFixedBig = 10, // Pixels, fixed aspect ratio
656  mso_dztypeShapeFixedBig= 11, // Proportion of shape, fixed aspect ratio
658 };
659 
661  mso_fillSolid, // Fill with a solid color
662  mso_fillPattern, // Fill with a pattern (bitmap)
663  mso_fillTexture, // A texture (pattern with its own color map)
664  mso_fillPicture, // Center a picture in the shape
665  mso_fillShade, // Shade from start to end points
666  mso_fillShadeCenter, // Shade from bounding rectangle to end point
667  mso_fillShadeShape, // Shade from shape outline to end point
668  mso_fillShadeScale, // Similar to mso_fillShade, but the fillAngle
669  // is additionally scaled by the aspect ratio of
670  // the shape. If shape is square, it is the
671  // same as mso_fillShade.
672  mso_fillShadeTitle, // special type - shade to title --- for PP
673  mso_fillBackground // Use the background fill color/pattern
674 };
675 
676 // MSOLINESTYLE - compound line style
678  mso_lineSimple, // Single line (of width lineWidth)
679  mso_lineDouble, // Double lines of equal width
680  mso_lineThickThin, // Double lines, one thick, one thin
681  mso_lineThinThick, // Double lines, reverse order
682  mso_lineTriple, // Three lines, thin, thick, thin
684 };
685 
686 // MSO_LINETYPE - how to "fill" the line contour
688  mso_lineSolidType, // Fill with a solid color
689  mso_linePattern, // Fill with a pattern (bitmap)
690  mso_lineTexture, // A texture (pattern with its own color map)
691  mso_linePicture // Center a picture in the shape
692 };
693 
694 // MSO_LINEDASHING - dashed line style
696  mso_lineSolid, // Solid (continuous) pen
697  mso_lineDashSys, // PS_DASH system dash style
698  mso_lineDotSys, // PS_DOT system dash style
699  mso_lineDashDotSys, // PS_DASHDOT system dash style
700  mso_lineDashDotDotSys, // PS_DASHDOTDOT system dash style
701  mso_lineDotGEL, // square dot style
702  mso_lineDashGEL, // dash style
703  mso_lineLongDashGEL, // long dash style
704  mso_lineDashDotGEL, // dash short dash
705  mso_lineLongDashDotGEL, // long dash short dash
706  mso_lineLongDashDotDotGEL // long dash short dash short dash
707 };
708 
709 // MSO_LINEEND - line end effect
717 };
718 
719 // MSO_LINEENDWIDTH - size of arrowhead
724 };
725 
726 // MSO_LINEENDLENGTH - size of arrowhead
731 };
732 
733 // MSO_LINEJOIN - line join style.
735  mso_lineJoinBevel, // Join edges by a straight line
736  mso_lineJoinMiter, // Extend edges until they join
737  mso_lineJoinRound // Draw an arc between the two edges
738 };
739 
740 // MSO_LINECAP - line cap style (applies to ends of dash segments too).
742  mso_lineEndCapRound, // Rounded ends - the default
743  mso_lineEndCapSquare, // Square protrudes by half line width
744  mso_lineEndCapFlat // Line ends at end point
745 };
746 // Various enums from the OfficeDraw documentation Appendix D - End
747 
748 // BStore-Container
749 
750 
752  mso_blipUsageDefault, // All non-texture fill blips get this.
754  mso_blipUsageMax = 255 // Since this is stored in a byte
755 };
756 
757 enum MSO_BLIPTYPE { // GEL provided types...
758  mso_blipERROR = 0, // An error occurred during loading
759  mso_blipUNKNOWN, // An unknown blip type
760  mso_blipEMF, // Windows Enhanced Metafile
761  mso_blipWMF, // Windows Metafile
762  mso_blipPICT, // Macintosh PICT
763  mso_blipJPEG, // JFIF
764  mso_blipPNG, // PNG
765  mso_blipDIB, // Windows DIB
766  mso_blipFirstClient = 32, // First client defined blip type
767  mso_blipLastClient = 255 // Last client defined blip type
768 };
769 
770 enum MSO_BI {
772  mso_biWMF = 0x216, // Metafile header then compressed WMF
773  mso_biEMF = 0x3D4, // Metafile header then compressed EMF
774  mso_biPICT = 0x542, // Metafile header then compressed PICT
775  mso_biPNG = 0x6E0, // One byte tag then PNG data
776  mso_biJFIF = 0x46A, // One byte tag then JFIF data
778  mso_biDIB = 0x7A8, // One byte tag then DIB data
779  mso_biClient=0x800 // Clients should set this bit
780 }; // Blip signature as encoded in the MSO_FBH.inst
781 
784  mso_compressionNone = 254, // Used only if compression fails
785  mso_compressionTest = 255 // For testing only
786 };
787 
789  mso_filterAdaptive = 0, // PNG type - not used/supported for metafile
791  mso_filterTest = 255 // For testing only
792 };
793 
795  mso_syscolorButtonFace, // COLOR_BTNFACE
796  mso_syscolorWindowText, // COLOR_WINDOWTEXT
797  mso_syscolorMenu, // COLOR_MENU
798  mso_syscolorHighlight, // COLOR_HIGHLIGHT
799  mso_syscolorHighlightText, // COLOR_HIGHLIGHTTEXT
800  mso_syscolorCaptionText, // COLOR_CAPTIONTEXT
801  mso_syscolorActiveCaption, // COLOR_ACTIVECAPTION
802  mso_syscolorButtonHighlight, // COLOR_BTNHIGHLIGHT
803  mso_syscolorButtonShadow, // COLOR_BTNSHADOW
804  mso_syscolorButtonText, // COLOR_BTNTEXT
805  mso_syscolorGrayText, // COLOR_GRAYTEXT
806  mso_syscolorInactiveCaption, // COLOR_INACTIVECAPTION
807  mso_syscolorInactiveCaptionText, // COLOR_INACTIVECAPTIONTEXT
808  mso_syscolorInfoBackground, // COLOR_INFOBK
809  mso_syscolorInfoText, // COLOR_INFOTEXT
810  mso_syscolorMenuText, // COLOR_MENUTEXT
811  mso_syscolorScrollbar, // COLOR_SCROLLBAR
812  mso_syscolorWindow, // COLOR_WINDOW
813  mso_syscolorWindowFrame, // COLOR_WINDOWFRAME
814  mso_syscolor3DLight, // COLOR_3DLIGHT
815  mso_syscolorMax, // Count of system colors
816 
817  mso_colorFillColor = 0xF0, // Use the fillColor property
818  mso_colorLineOrFillColor, // Use the line color only if there is a line
819  mso_colorLineColor, // Use the lineColor property
820  mso_colorShadowColor, // Use the shadow color
821  mso_colorThis, // Use this color (only valid as described below)
822  mso_colorFillBackColor, // Use the fillBackColor property
823  mso_colorLineBackColor, // Use the lineBackColor property
824  mso_colorFillThenLine, // Use the fillColor unless no fill and line
825  mso_colorIndexMask = 0xFF, // Extract the color index
826 
827  mso_colorProcessMask =0xFFFF00,// All the processing bits
828  mso_colorModificationMask =0x0F00, // Just the function
829  mso_colorModFlagMask =0xF000, // Just the additional flags
830  mso_colorDarken =0x0100, // Darken color by parameter/255
831  mso_colorLighten =0x0200, // Lighten color by parameter/255
832  mso_colorAdd =0x0300, // Add grey level RGB(param,param,param)
833  mso_colorSubtract =0x0400, // Subtract grey level RGB(p,p,p)
834  mso_colorReverseSubtract =0x0500, // Subtract from grey level RGB(p,p,p)
835  /* In the following "black" means maximum component value, white minimum.
836  The operation is per component, to guarantee white combine with
837  mso_colorGray */
838  mso_colorBlackWhite =0x0600, // Black if < uParam, else white (>=)
839  mso_colorInvert =0x2000, // Invert color (at the *end*)
840  mso_colorInvert128 =0x4000, // Invert by toggling the top bit
841  mso_colorGray =0x8000, // Make the color gray (before the above!)
842  mso_colorBParamMask =0xFF0000,// Parameter used as above
843  mso_colorBParamShift = 16 // To extract the parameter value
844 };
845 
847  use_gtextFBestFit = 0x00000100,
848  use_gtextFShrinkFit = 0x00000200,
849  use_gtextFStretch = 0x00000400,
850  gtextFBestFit = 0x01000000,
851  gtextFShrinkFit = 0x02000000,
852  gtextFStretch = 0x04000000
853 };
854 
855 //ALT_TXT_MSINTEROP
856 #define MSPROP_DESCRIPTION_MAX_LEN 4096
857 
858 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
MSO_TextGeometryProperties
Definition: msdffdef.hxx:846
MSO_3DRenderMode
Definition: msdffdef.hxx:620
MSO_Anchor
Definition: msdffdef.hxx:521
MSO_BI
Definition: msdffdef.hxx:770
MSO_LineJoin
Definition: msdffdef.hxx:734
MSO_BLIPCOMPRESSION
Definition: msdffdef.hxx:782
MSO_BLIPTYPE
Definition: msdffdef.hxx:757
MSO_FillType
Definition: msdffdef.hxx:660
#define SAL_MAX_UINT32
MSO_BWMode
Definition: msdffdef.hxx:506
MSO_SPCalloutAngle
Definition: msdffdef.hxx:575
MSO_LineDashing
Definition: msdffdef.hxx:695
MSO_SPCalloutType
Definition: msdffdef.hxx:567
MSO_BlipFlags
Definition: msdffdef.hxx:604
MSO_SPT
Definition: msdffdef.hxx:274
MSO_LineType
Definition: msdffdef.hxx:687
MSO_ShadowType
Definition: msdffdef.hxx:632
MSO_XFormType
Definition: msdffdef.hxx:626
MSO_TextDir
Definition: msdffdef.hxx:560
MSO_BLIPUSAGE
Definition: msdffdef.hxx:751
MSO_DZType
Definition: msdffdef.hxx:642
MSO_BLIPFILTER
Definition: msdffdef.hxx:788
MSO_SPCalloutDrop
Definition: msdffdef.hxx:585
MSO_SYSCOLORINDEX
Definition: msdffdef.hxx:794
MSO_LineCap
Definition: msdffdef.hxx:741
MSO_ConnectorStyle
Definition: msdffdef.hxx:542
const o3tl::enumarray< SvxAdjust, unsigned short > aSvxToUnoAdjust USHRT_MAX
MSO_TextFlow
Definition: msdffdef.hxx:550
MSO_LineStyle
Definition: msdffdef.hxx:677
MSO_LineEndLength
Definition: msdffdef.hxx:727
DFF_TextHeader
Definition: msdffdef.hxx:79
MSO_CDir
Definition: msdffdef.hxx:534
MSO_GeoTextAlign
Definition: msdffdef.hxx:593
MSO_LineEndWidth
Definition: msdffdef.hxx:720
MSO_ShapePath
Definition: msdffdef.hxx:490
const sal_uInt32 nMaxLegalDffRecordLength
Definition: msdffdef.hxx:27
#define DFF_COMMON_RECORD_HEADER_SIZE
Definition: msdffdef.hxx:25
MSO_LineEnd
Definition: msdffdef.hxx:710
MSO_WrapMode
Definition: msdffdef.hxx:498