1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24 #ifndef _MSDFFDEF_HXX 25 #define _MSDFFDEF_HXX 26 27 28 #include <tools/solar.h> 29 #include <tools/stream.hxx> 30 #ifndef _TABLE_HXX 31 #include <tools/table.hxx> 32 #endif 33 #include <tools/string.hxx> 34 #include <tools/gen.hxx> 35 #include "svx/svxdllapi.h" 36 37 #define DFF_COMMON_RECORD_HEADER_SIZE 8 38 39 #define DFF_PSFLAG_CONTAINER 0x0F // If the version field of a record 40 // header takes on this value, the 41 // record header marks the start of 42 // a container. 43 44 #define DFF_PST_Unknown 0 45 #define DFF_PST_SubContainerCompleted 1 46 #define DFF_PST_IRRAtom 2 47 #define DFF_PST_PSS 3 48 #define DFF_PST_SubContainerException 4 49 #define DFF_PST_ClientSignal1 6 50 #define DFF_PST_ClientSignal2 7 51 #define DFF_PST_PowerPointStateInfoAtom 10 52 #define DFF_PST_Document 1000 53 #define DFF_PST_DocumentAtom 1001 54 #define DFF_PST_EndDocument 1002 55 #define DFF_PST_SlidePersist 1003 56 #define DFF_PST_SlideBase 1004 57 #define DFF_PST_SlideBaseAtom 1005 58 #define DFF_PST_Slide 1006 59 #define DFF_PST_SlideAtom 1007 60 #define DFF_PST_Notes 1008 61 #define DFF_PST_NotesAtom 1009 62 #define DFF_PST_Environment 1010 63 #define DFF_PST_SlidePersistAtom 1011 64 #define DFF_PST_Scheme 1012 65 #define DFF_PST_SchemeAtom 1013 66 #define DFF_PST_DocViewInfo 1014 67 #define DFF_PST_SslideLayoutAtom 1015 68 #define DFF_PST_MainMaster 1016 69 #define DFF_PST_SSSlideInfoAtom 1017 70 #define DFF_PST_SlideViewInfo 1018 71 #define DFF_PST_GuideAtom 1019 72 #define DFF_PST_ViewInfo 1020 73 #define DFF_PST_ViewInfoAtom 1021 74 #define DFF_PST_SlideViewInfoAtom 1022 75 #define DFF_PST_VBAInfo 1023 76 #define DFF_PST_VBAInfoAtom 1024 77 #define DFF_PST_SSDocInfoAtom 1025 78 #define DFF_PST_Summary 1026 79 #define DFF_PST_Texture 1027 80 #define DFF_PST_VBASlideInfo 1028 81 #define DFF_PST_VBASlideInfoAtom 1029 82 #define DFF_PST_DocRoutingSlip 1030 83 #define DFF_PST_OutlineViewInfo 1031 84 #define DFF_PST_SorterViewInfo 1032 85 #define DFF_PST_ExObjList 1033 86 #define DFF_PST_ExObjListAtom 1034 87 #define DFF_PST_PPDrawingGroup 1035 88 #define DFF_PST_PPDrawing 1036 89 #define DFF_PST_NamedShows 1040 90 #define DFF_PST_NamedShow 1041 91 #define DFF_PST_NamedShowSlides 1042 92 #define DFF_PST_List 2000 93 #define DFF_PST_FontCollection 2005 94 #define DFF_PST_ListPlaceholder 2017 95 #define DFF_PST_BookmarkCollection 2019 96 #define DFF_PST_SoundCollection 2020 97 #define DFF_PST_SoundCollAtom 2021 98 #define DFF_PST_Sound 2022 99 #define DFF_PST_SoundData 2023 100 #define DFF_PST_BookmarkSeedAtom 2025 101 #define DFF_PST_GuideList 2026 102 #define DFF_PST_RunArray 2028 103 #define DFF_PST_RunArrayAtom 2029 104 #define DFF_PST_ArrayElementAtom 2030 105 #define DFF_PST_Int4ArrayAtom 2031 106 #define DFF_PST_ColorSchemeAtom 2032 107 #define DFF_PST_OEShape 3008 108 #define DFF_PST_ExObjRefAtom 3009 109 #define DFF_PST_OEPlaceholderAtom 3011 110 #define DFF_PST_GrColor 3020 111 #define DFF_PST_GrectAtom 3025 112 #define DFF_PST_GratioAtom 3031 113 #define DFF_PST_Gscaling 3032 114 #define DFF_PST_GpointAtom 3034 115 #define DFF_PST_OEShapeAtom 3035 116 #define DFF_PST_OutlineTextRefAtom 3998 117 #define DFF_PST_TextHeaderAtom 3999 118 #define DFF_PST_TextCharsAtom 4000 119 #define DFF_PST_StyleTextPropAtom 4001 120 #define DFF_PST_BaseTextPropAtom 4002 121 #define DFF_PST_TxMasterStyleAtom 4003 122 #define DFF_PST_TxCFStyleAtom 4004 123 #define DFF_PST_TxPFStyleAtom 4005 124 #define DFF_PST_TextRulerAtom 4006 125 #define DFF_PST_TextBookmarkAtom 4007 126 #define DFF_PST_TextBytesAtom 4008 127 #define DFF_PST_TxSIStyleAtom 4009 128 #define DFF_PST_TextSpecInfoAtom 4010 129 #define DFF_PST_DefaultRulerAtom 4011 130 #define DFF_PST_FontEntityAtom 4023 131 #define DFF_PST_FontEmbedData 4024 132 #define DFF_PST_TypeFace 4025 133 #define DFF_PST_CString 4026 134 #define DFF_PST_ExternalObject 4027 135 #define DFF_PST_MetaFile 4033 136 #define DFF_PST_ExOleObj 4034 137 #define DFF_PST_ExOleObjAtom 4035 138 #define DFF_PST_ExPlainLinkAtom 4036 139 #define DFF_PST_CorePict 4037 140 #define DFF_PST_CorePictAtom 4038 141 #define DFF_PST_ExPlainAtom 4039 142 #define DFF_PST_SrKinsoku 4040 143 #define DFF_PST_Handout 4041 144 #define DFF_PST_ExEmbed 4044 145 #define DFF_PST_ExEmbedAtom 4045 146 #define DFF_PST_ExLink 4046 147 #define DFF_PST_ExLinkAtom_old 4047 148 #define DFF_PST_BookmarkEntityAtom 4048 149 #define DFF_PST_ExLinkAtom 4049 150 #define DFF_PST_SrKinsokuAtom 4050 151 #define DFF_PST_ExHyperlinkAtom 4051 152 #define DFF_PST_ExPlain 4053 153 #define DFF_PST_ExPlainLink 4054 154 #define DFF_PST_ExHyperlink 4055 155 #define DFF_PST_SlideNumberMCAtom 4056 156 #define DFF_PST_HeadersFooters 4057 157 #define DFF_PST_HeadersFootersAtom 4058 158 #define DFF_PST_RecolorEntryAtom 4062 159 #define DFF_PST_TxInteractiveInfoAtom 4063 160 #define DFF_PST_EmFormatAtom 4065 161 #define DFF_PST_CharFormatAtom 4066 162 #define DFF_PST_ParaFormatAtom 4067 163 #define DFF_PST_MasterText 4068 164 #define DFF_PST_RecolorInfoAtom 4071 165 #define DFF_PST_ExQuickTime 4073 166 #define DFF_PST_ExQuickTimeMovie 4074 167 #define DFF_PST_ExQuickTimeMovieData 4075 168 #define DFF_PST_ExSubscription 4076 169 #define DFF_PST_ExSubscriptionSection 4077 170 #define DFF_PST_ExControl 4078 171 #define DFF_PST_ExControlAtom 4091 172 #define DFF_PST_SlideListWithText 4080 173 #define DFF_PST_AnimationInfoAtom 4081 174 #define DFF_PST_InteractiveInfo 4082 175 #define DFF_PST_InteractiveInfoAtom 4083 176 #define DFF_PST_SlideList 4084 177 #define DFF_PST_UserEditAtom 4085 178 #define DFF_PST_CurrentUserAtom 4086 179 #define DFF_PST_DateTimeMCAtom 4087 180 #define DFF_PST_GenericDateMCAtom 4088 181 #define DFF_PST_HeaderMCAtom 4089 182 #define DFF_PST_FooterMCAtom 4090 183 #define DFF_PST_ExMediaAtom 4100 184 #define DFF_PST_ExVideo 4101 185 #define DFF_PST_ExAviMovie 4102 186 #define DFF_PST_ExMCIMovie 4103 187 #define DFF_PST_ExMIDIAudio 4109 188 #define DFF_PST_ExCDAudio 4110 189 #define DFF_PST_ExWAVAudioEmbedded 4111 190 #define DFF_PST_ExWAVAudioLink 4112 191 #define DFF_PST_ExOleObjStg 4113 192 #define DFF_PST_ExCDAudioAtom 4114 193 #define DFF_PST_ExWAVAudioEmbeddedAtom 4115 194 #define DFF_PST_AnimationInfo 4116 195 #define DFF_PST_RTFDateTimeMCAtom 4117 196 #define DFF_PST_ProgTags 5000 197 #define DFF_PST_ProgStringTag 5001 198 #define DFF_PST_ProgBinaryTag 5002 199 #define DFF_PST_BinaryTagData 5003 200 #define DFF_PST_PrintOptions 6000 201 #define DFF_PST_PersistPtrFullBlock 6001 202 #define DFF_PST_PersistPtrIncrementalBlock 6002 203 #define DFF_PST_RulerIndentAtom 10000 204 #define DFF_PST_GscalingAtom 10001 205 #define DFF_PST_GrColorAtom 10002 206 #define DFF_PST_GLPointAtom 10003 207 #define DFF_PST_GlineAtom 10004 208 209 // Record Name FBT-Value Instance Contents Wrd Exl Ppt Ver 210 211 #define DFF_msofbtDggContainer 0xF000 // per-document data X X X 212 #define DFF_msofbtDgg 0xF006 // an FDGG and several FIDCLs X X X 0 213 #define DFF_msofbtCLSID 0xF016 // the CLSID of the application that put the data on the clipboard C C C 0 214 #define DFF_msofbtOPT 0xF00B // count of properties the document-wide default shape properties X X X 3 215 #define DFF_msofbtColorMRU 0xF11A // count of colors the colors in the MRU swatch X X X 0 216 #define DFF_msofbtSplitMenuColors 0xF11E // count of colors the colors in the top-level split menus X X X 0 217 #define DFF_msofbtBstoreContainer 0xF001 // count of BLIPs all images in the document (JPEGs, metafiles, etc.) X X X 218 #define DFF_msofbtBSE 0xF007 // BLIP type an FBSE (one per BLIP) X X X 2 219 #define DFF_msofbtBlipFirst 0xF018 // range of fbts reserved for various kinds of BLIPs X X X 220 #define DFF_msofbtBlipLast 0xF117 // range of fbts reserved for various kinds of BLIPs X X X 221 222 #define DFF_msofbtDgContainer 0xF002 // per-sheet/page/slide data X X X 223 #define DFF_msofbtDg 0xF008 // drawing ID an FDG X X X 0 224 #define DFF_msofbtRegroupItems 0xF118 // count of regroup entries several FRITs X X X 0 225 #define DFF_msofbtColorScheme 0xF120 // count of colors the colors of the source host's color scheme C C 0 226 #define DFF_msofbtSpgrContainer 0xF003 // several SpContainers, the first of which is the group shape itself X X X 227 #define DFF_msofbtSpContainer 0xF004 // a shape X X X 228 #define DFF_msofbtSpgr 0xF009 // an FSPGR; only present if the shape is a group shape X X X 1 229 #define DFF_msofbtSp 0xF00A // shape type an FSP X X X 2 230 #define DFF_msofbtTextbox 0xF00C // RTF text C C C 0 231 #define DFF_msofbtClientTextbox 0xF00D // host-defined the text in the textbox, in host-defined format X X X 232 #define DFF_msofbtAnchor 0xF00E // a RECT, in 100000ths of an inch C C C 0 233 #define DFF_msofbtChildAnchor 0xF00F // a RECT, in units relative to the parent group X X X 0 234 #define DFF_msofbtClientAnchor 0xF010 // host-defined the location of the shape, in a host-defined format X X X 235 #define DFF_msofbtClientData 0xF011 // host-defined host-specific data X X X 236 #define DFF_msofbtOleObject 0xF11F // a serialized IStorage for an OLE object C C C 0 237 #define DFF_msofbtDeletedPspl 0xF11D // an FPSPL; only present in top-level deleted shapes X 0 238 #define DFF_msofbtUDefProp 0xF122 // range of fbts reserved for various kinds of BLIPs X X X 239 #define DFF_msofbtSolverContainer 0xF005 // count of rules the rules governing shapes X X X 240 #define DFF_msofbtConnectorRule 0xF012 // an FConnectorRule X X 1 241 #define DFF_msofbtAlignRule 0xF013 // an FAlignRule X X X 0 242 #define DFF_msofbtArcRule 0xF014 // an FARCRU X X X 0 243 #define DFF_msofbtClientRule 0xF015 // host-defined host-defined 244 #define DFF_msofbtCalloutRule 0xF017 // an FCORU X X X 0 245 246 #define DFF_msofbtSelection 0xF119 // an FDGSL followed by the SPIDs of the shapes in the selection X 0 247 248 // Werte fuer den sal_uIntPtr im DFF_PST_TextHeaderAtom 249 enum DFF_TextHeader { 250 DFFTH_TITLE, 251 DFFTH_BODY, 252 DFFTH_NOTES, 253 DFFTH_NOTUSED, 254 DFFTH_OTHER, // Text in a Shape 255 DFFTH_CENTERBODY, // Subtitle in Title-Slide 256 DFFTH_CENTERTITLE, // Title in Title-Slide 257 DFFTH_HALFBODY, // Body in two-column slide 258 DFFTH_QUARTERBODY // Body in four-body slide 259 }; 260 261 262 // Shape Properties 263 // 1pt = 12700 EMU (English Metric Units) 264 // 1pt = 20 Twip = 20/1440" = 1/72" 265 // 1twip=635 EMU 266 // 1" = 12700*72 = 914400 EMU 267 // 1" = 25.4mm 268 // 1mm = 36000 EMU 269 // Transform 270 #define DFF_Prop_Rotation 4 // Fixed Point 16.16 degrees 271 // Protection 272 #define DFF_Prop_LockRotation 119 // sal_Bool No rotation 273 #define DFF_Prop_LockAspectRatio 120 // sal_Bool Don't allow changes in aspect ratio 274 #define DFF_Prop_LockPosition 121 // sal_Bool Don't allow the shape to be moved 275 #define DFF_Prop_LockAgainstSelect 122 // sal_Bool Shape may not be selected 276 #define DFF_Prop_LockCropping 123 // sal_Bool No cropping this shape 277 #define DFF_Prop_LockVertices 124 // sal_Bool Edit Points not allowed 278 #define DFF_Prop_LockText 125 // sal_Bool Do not edit text 279 #define DFF_Prop_LockAdjustHandles 126 // sal_Bool Do not adjust 280 #define DFF_Prop_LockAgainstGrouping 127 // sal_Bool Do not group this shape 281 // Text 282 #define DFF_Prop_lTxid 128 // LONG id for the text, value determined by the host 283 #define DFF_Prop_dxTextLeft 129 // LONG margins relative to shape's inscribed text rectangle (in EMUs) 284 #define DFF_Prop_dyTextTop 130 // LONG 285 #define DFF_Prop_dxTextRight 131 // LONG 286 #define DFF_Prop_dyTextBottom 132 // LONG 287 #define DFF_Prop_WrapText 133 // MSO_WRAPMODE Wrap text at shape margins 288 #define DFF_Prop_scaleText 134 // LONG Text zoom/scale (used if fFitTextToShape) 289 #define DFF_Prop_anchorText 135 // MSO_ANCHOR How to anchor the text 290 #define DFF_Prop_txflTextFlow 136 // MSO_TXFL Text flow 291 #define DFF_Prop_cdirFont 137 // MSO_CDIR Font rotation 292 #define DFF_Prop_hspNext 138 // MSO_HSP ID of the next shape (used by Word for linked textboxes) 293 #define DFF_Prop_txdir 139 // MSO_TXDIR Bi-Di Text direction 294 #define DFF_Prop_SelectText 187 // sal_Bool sal_True if single click selects text, sal_False if two clicks 295 #define DFF_Prop_AutoTextMargin 188 // sal_Bool use host's margin calculations 296 #define DFF_Prop_RotateText 189 // sal_Bool Rotate text with shape 297 #define DFF_Prop_FitShapeToText 190 // sal_Bool Size shape to fit text size 298 #define DFF_Prop_FitTextToShape 191 // sal_Bool Size text to fit shape size 299 // GeoText 300 #define DFF_Prop_gtextUNICODE 192 // WCHAR* UNICODE text string 301 #define DFF_Prop_gtextRTF 193 // char* RTF text string 302 #define DFF_Prop_gtextAlign 194 // MSO_GEOTEXTALIGN alignment on curve 303 #define DFF_Prop_gtextSize 195 // LONG default point size 304 #define DFF_Prop_gtextSpacing 196 // LONG fixed point 16.16 305 #define DFF_Prop_gtextFont 197 // WCHAR* font family name 306 #define DFF_Prop_gtextFReverseRows 240 // sal_Bool 8000 Reverse row order 307 #define DFF_Prop_fGtext 241 // sal_Bool 4000 Has text effect 308 #define DFF_Prop_gtextFVertical 242 // sal_Bool 2000 Rotate characters 309 #define DFF_Prop_gtextFKern 243 // sal_Bool 1000 Kern characters 310 #define DFF_Prop_gtextFTight 244 // sal_Bool 800 Tightening or tracking 311 #define DFF_Prop_gtextFStretch 245 // sal_Bool 400 Stretch to fit shape 312 #define DFF_Prop_gtextFShrinkFit 246 // sal_Bool 200 Char bounding box 313 #define DFF_Prop_gtextFBestFit 247 // sal_Bool 100 Scale text-on-path 314 #define DFF_Prop_gtextFNormalize 248 // sal_Bool 80 Stretch char height 315 #define DFF_Prop_gtextFDxMeasure 249 // sal_Bool 40 Do not measure along path 316 #define DFF_Prop_gtextFBold 250 // sal_Bool 20 Bold font 317 #define DFF_Prop_gtextFItalic 251 // sal_Bool 10 Italic font 318 #define DFF_Prop_gtextFUnderline 252 // sal_Bool 8 Underline font 319 #define DFF_Prop_gtextFShadow 253 // sal_Bool 4 Shadow font 320 #define DFF_Prop_gtextFSmallcaps 254 // sal_Bool 2 Small caps font 321 #define DFF_Prop_gtextFStrikethrough 255 // sal_Bool 1 Strike through font 322 // Blip 323 #define DFF_Prop_cropFromTop 256 // LONG 16.16 fraction times total image width or height, as appropriate. 324 #define DFF_Prop_cropFromBottom 257 // LONG 325 #define DFF_Prop_cropFromLeft 258 // LONG 326 #define DFF_Prop_cropFromRight 259 // LONG 327 #define DFF_Prop_pib 260 // IMsoBlip* Blip to display 328 #define DFF_Prop_pibName 261 // WCHAR* Blip file name 329 #define DFF_Prop_pibFlags 262 // MSO_BLIPFLAGS Blip flags 330 #define DFF_Prop_pictureTransparent 263 // LONG transparent color (none if ~0UL) 331 #define DFF_Prop_pictureContrast 264 // LONG contrast setting 332 #define DFF_Prop_pictureBrightness 265 // LONG brightness setting 333 #define DFF_Prop_pictureGamma 266 // LONG 16.16 gamma 334 #define DFF_Prop_pictureId 267 // LONG Host-defined ID for OLE objects (usually a pointer) 335 #define DFF_Prop_pictureDblCrMod 268 // MSO_CLR Modification used if shape has double shadow 336 #define DFF_Prop_pictureFillCrMod 269 // MSO_CLR 337 #define DFF_Prop_pictureLineCrMod 270 // MSO_CLR 338 #define DFF_Prop_pibPrint 271 // IMsoBlip* Blip to display when printing 339 #define DFF_Prop_pibPrintName 272 // WCHAR* Blip file name 340 #define DFF_Prop_pibPrintFlags 273 // MSO_BLIPFLAGS Blip flags 341 #define DFF_Prop_fNoHitTestPicture 316 // sal_Bool Do not hit test the picture 342 #define DFF_Prop_pictureGray 317 // sal_Bool grayscale display 343 #define DFF_Prop_pictureBiLevel 318 // sal_Bool bi-level display 344 #define DFF_Prop_pictureActive 319 // sal_Bool Server is active (OLE objects only) 345 // Geometry 346 #define DFF_Prop_geoLeft 320 // LONG Defines the G (geometry) coordinate space. 347 #define DFF_Prop_geoTop 321 // LONG 348 #define DFF_Prop_geoRight 322 // LONG 349 #define DFF_Prop_geoBottom 323 // LONG 350 #define DFF_Prop_shapePath 324 // MSO_SHAPEPATH 351 #define DFF_Prop_pVertices 325 // IMsoArray An array of points, in G units. 352 #define DFF_Prop_pSegmentInfo 326 // IMsoArray 353 #define DFF_Prop_adjustValue 327 // LONG Adjustment values corresponding to the positions of the 354 #define DFF_Prop_adjust2Value 328 // LONG adjust handles of the shape. The number of values used 355 #define DFF_Prop_adjust3Value 329 // LONG and their allowable ranges vary from shape type to shape type. 356 #define DFF_Prop_adjust4Value 330 // LONG 357 #define DFF_Prop_adjust5Value 331 // LONG 358 #define DFF_Prop_adjust6Value 332 // LONG 359 #define DFF_Prop_adjust7Value 333 // LONG 360 #define DFF_Prop_adjust8Value 334 // LONG 361 #define DFF_Prop_adjust9Value 335 // LONG 362 #define DFF_Prop_adjust10Value 336 // LONG 363 #define DFF_Prop_connectorPoints 337 // IMsoArray 364 #define DFF_Prop_stretchPointX 339 // LONG 365 #define DFF_Prop_stretchPointY 340 // LONG 366 #define DFF_Prop_Handles 341 // H* 367 #define DFF_Prop_pFormulas 342 // LONG 368 #define DFF_Prop_textRectangles 343 // LONG 369 #define DFF_Prop_connectorType 344 // LONG ->0=none, 1=segments, 2=custom, 3=rect 370 #define DFF_Prop_fShadowOK 378 // sal_Bool Shadow may be set 371 #define DFF_Prop_f3DOK 379 // sal_Bool 3D may be set 372 #define DFF_Prop_fLineOK 380 // sal_Bool Line style may be set 373 #define DFF_Prop_fGtextOK 381 // sal_Bool Text effect (FontWork) supported 374 #define DFF_Prop_fFillShadeShapeOK 382 // BOOL 375 #define DFF_Prop_fFillOK 383 // sal_Bool OK to fill the shape through the UI or VBA? 376 // FillStyle 377 #define DFF_Prop_fillType 384 // MSO_FILLTYPE Type of fill 378 #define DFF_Prop_fillColor 385 // MSO_CLR Foreground color 379 #define DFF_Prop_fillOpacity 386 // LONG Fixed 16.16 380 #define DFF_Prop_fillBackColor 387 // MSO_CLR Background color 381 #define DFF_Prop_fillBackOpacity 388 // LONG Shades only 382 #define DFF_Prop_fillCrMod 389 // MSO_CLR Modification for BW views 383 #define DFF_Prop_fillBlip 390 // IMsoBlip* Pattern/texture 384 #define DFF_Prop_fillBlipName 391 // WCHAR* Blip file name 385 #define DFF_Prop_fillBlipFlags 392 // MSO_BLIPFLAGS Blip flags 386 #define DFF_Prop_fillWidth 393 // LONG How big (A units) to make a metafile texture. 387 #define DFF_Prop_fillHeight 394 // LONG 388 #define DFF_Prop_fillAngle 395 // LONG Fade angle - degrees in 16.16 389 #define DFF_Prop_fillFocus 396 // LONG Linear shaded fill focus percent 390 #define DFF_Prop_fillToLeft 397 // LONG Fraction 16.16 391 #define DFF_Prop_fillToTop 398 // LONG Fraction 16.16 392 #define DFF_Prop_fillToRight 399 // LONG Fraction 16.16 393 #define DFF_Prop_fillToBottom 400 // LONG Fraction 16.16 394 #define DFF_Prop_fillRectLeft 401 // LONG For shaded fills, use the specified rectangle instead of the shape's bounding rect to define how large the fade is going to be. 395 #define DFF_Prop_fillRectTop 402 // LONG 396 #define DFF_Prop_fillRectRight 403 // LONG 397 #define DFF_Prop_fillRectBottom 404 // LONG 398 #define DFF_Prop_fillDztype 405 // MSO_DZTYPE 399 #define DFF_Prop_fillShadePreset 406 // LONG Special shades 400 #define DFF_Prop_fillShadeColors 407 // IMsoArray a preset array of colors 401 #define DFF_Prop_fillOriginX 408 // LONG 402 #define DFF_Prop_fillOriginY 409 // LONG 403 #define DFF_Prop_fillShapeOriginX 410 // LONG 404 #define DFF_Prop_fillShapeOriginY 411 // LONG 405 #define DFF_Prop_fillShadeType 412 // MSO_SHADETYPE Type of shading, if a shaded (gradient) fill. 406 #define DFF_Prop_fFilled 443 // sal_Bool Is shape filled? 407 #define DFF_Prop_fHitTestFill 444 // sal_Bool Should we hit test fill? 408 #define DFF_Prop_fillShape 445 // sal_Bool Register pattern on shape 409 #define DFF_Prop_fillUseRect 446 // sal_Bool Use the large rect? 410 #define DFF_Prop_fNoFillHitTest 447 // sal_Bool Hit test a shape as though filled 411 // LineStyle 412 #define DFF_Prop_lineColor 448 // MSO_CLR Color of line 413 #define DFF_Prop_lineOpacity 449 // LONG Not implemented 414 #define DFF_Prop_lineBackColor 450 // MSO_CLR Background color 415 #define DFF_Prop_lineCrMod 451 // MSO_CLR Modification for BW views 416 #define DFF_Prop_lineType 452 // MSO_LINETYPE Type of line 417 #define DFF_Prop_lineFillBlip 453 // IMsoBlip* Pattern/texture 418 #define DFF_Prop_lineFillBlipName 454 // WCHAR* Blip file name 419 #define DFF_Prop_lineFillBlipFlags 455 // MSO_BLIPFLAGS Blip flags 420 #define DFF_Prop_lineFillWidth 456 // LONG How big (A units) to make a metafile texture. 421 #define DFF_Prop_lineFillHeight 457 // LONG 422 #define DFF_Prop_lineFillDztype 458 // MSO_DZTYPE How to interpret fillWidth/Height numbers. 423 #define DFF_Prop_lineWidth 459 // LONG A units; 1pt == 12700 EMUs 424 #define DFF_Prop_lineMiterLimit 460 // LONG ratio (16.16) of width 425 #define DFF_Prop_lineStyle 461 // MSO_LINESTYLE Draw parallel lines? 426 #define DFF_Prop_lineDashing 462 // MSO_LINEDASHING Can be overridden by: 427 #define DFF_Prop_lineDashStyle 463 // IMsoArray As Win32 ExtCreatePen 428 #define DFF_Prop_lineStartArrowhead 464 // MSO_LINEEND Arrow at start 429 #define DFF_Prop_lineEndArrowhead 465 // MSO_LINEEND Arrow at end 430 #define DFF_Prop_lineStartArrowWidth 466 // MSO_LINEENDWIDTH Arrow at start 431 #define DFF_Prop_lineStartArrowLength 467 // MSO_LINEENDLENGTH Arrow at end 432 #define DFF_Prop_lineEndArrowWidth 468 // MSO_LINEENDWIDTH Arrow at start 433 #define DFF_Prop_lineEndArrowLength 469 // MSO_LINEENDLENGTH Arrow at end 434 #define DFF_Prop_lineJoinStyle 470 // MSO_LINEJOIN How to join lines 435 #define DFF_Prop_lineEndCapStyle 471 // MSO_LINECAP How to end lines 436 #define DFF_Prop_fArrowheadsOK 507 // sal_Bool Allow arrowheads if prop. is set 437 #define DFF_Prop_fLine 508 // sal_Bool Any line? 438 #define DFF_Prop_fHitTestLine 509 // sal_Bool Should we hit test lines? 439 #define DFF_Prop_lineFillShape 510 // sal_Bool Register pattern on shape 440 #define DFF_Prop_fNoLineDrawDash 511 // sal_Bool Draw a dashed line if no line 441 // ShadowStyle 442 #define DFF_Prop_shadowType 512 // MSO_SHADOWTYPE Type of effect 443 #define DFF_Prop_shadowColor 513 // MSO_CLR Foreground color 444 #define DFF_Prop_shadowHighlight 514 // MSO_CLR Embossed color 445 #define DFF_Prop_shadowCrMod 515 // MSO_CLR Modification for BW views 446 #define DFF_Prop_shadowOpacity 516 // LONG Fixed 16.16 447 #define DFF_Prop_shadowOffsetX 517 // LONG Offset shadow 448 #define DFF_Prop_shadowOffsetY 518 // LONG Offset shadow 449 #define DFF_Prop_shadowSecondOffsetX 519 // LONG Double offset shadow 450 #define DFF_Prop_shadowSecondOffsetY 520 // LONG Double offset shadow 451 #define DFF_Prop_shadowScaleXToX 521 // LONG 16.16 452 #define DFF_Prop_shadowScaleYToX 522 // LONG 16.16 453 #define DFF_Prop_shadowScaleXToY 523 // LONG 16.16 454 #define DFF_Prop_shadowScaleYToY 524 // LONG 16.16 455 #define DFF_Prop_shadowPerspectiveX 525 // LONG 16.16 / weight 456 #define DFF_Prop_shadowPerspectiveY 526 // LONG 16.16 / weight 457 #define DFF_Prop_shadowWeight 527 // LONG scaling factor 458 #define DFF_Prop_shadowOriginX 528 // LONG 459 #define DFF_Prop_shadowOriginY 529 // LONG 460 #define DFF_Prop_fShadow 574 // sal_Bool Any shadow? 461 #define DFF_Prop_fshadowObscured 575 // sal_Bool Excel5-style shadow 462 // PerspectiveStyle 463 #define DFF_Prop_perspectiveType 576 // MSO_XFORMTYPE Where transform applies 464 #define DFF_Prop_perspectiveOffsetX 577 // LONG The LONG values define a transformation matrix, effectively, each value is scaled by the perspectiveWeight parameter. 465 #define DFF_Prop_perspectiveOffsetY 578 // LONG 466 #define DFF_Prop_perspectiveScaleXToX 579 // LONG 467 #define DFF_Prop_perspectiveScaleYToX 580 // LONG 468 #define DFF_Prop_perspectiveScaleXToY 581 // LONG 469 #define DFF_Prop_perspectiveScaleYToY 582 // LONG 470 #define DFF_Prop_perspectivePerspectiveX 583 // LONG 471 #define DFF_Prop_perspectivePerspectiveY 584 // LONG 472 #define DFF_Prop_perspectiveWeight 585 // LONG Scaling factor 473 #define DFF_Prop_perspectiveOriginX 586 // LONG 474 #define DFF_Prop_perspectiveOriginY 587 // LONG 475 #define DFF_Prop_fPerspective 639 // sal_Bool On/off 476 // 3D Object 477 #define DFF_Prop_c3DSpecularAmt 640 // LONG Fixed-point 16.16 478 #define DFF_Prop_c3DDiffuseAmt 641 // LONG Fixed-point 16.16 479 #define DFF_Prop_c3DShininess 642 // LONG Default gives OK results 480 #define DFF_Prop_c3DEdgeThickness 643 // LONG Specular edge thickness 481 #define DFF_Prop_c3DExtrudeForward 644 // LONG Distance of extrusion in EMUs 482 #define DFF_Prop_c3DExtrudeBackward 645 // LONG 483 #define DFF_Prop_c3DExtrudePlane 646 // LONG Extrusion direction 484 #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. 485 #define DFF_Prop_c3DCrMod 648 // MSO_CLR Modification for BW views 486 #define DFF_Prop_f3D 700 // sal_Bool Does this shape have a 3D effect? 487 #define DFF_Prop_fc3DMetallic 701 // sal_Bool Use metallic specularity? 488 #define DFF_Prop_fc3DUseExtrusionColor 702 // BOOL 489 #define DFF_Prop_fc3DLightFace 703 // BOOL 490 // 3D Style 491 #define DFF_Prop_c3DYRotationAngle 704 // LONG degrees (16.16) about y axis 492 #define DFF_Prop_c3DXRotationAngle 705 // LONG degrees (16.16) about x axis 493 #define DFF_Prop_c3DRotationAxisX 706 // LONG These specify the rotation axis; only their relative magnitudes matter. 494 #define DFF_Prop_c3DRotationAxisY 707 // LONG 495 #define DFF_Prop_c3DRotationAxisZ 708 // LONG 496 #define DFF_Prop_c3DRotationAngle 709 // LONG degrees (16.16) about axis 497 #define DFF_Prop_c3DRotationCenterX 710 // LONG rotation center x (16.16 or g-units) 498 #define DFF_Prop_c3DRotationCenterY 711 // LONG rotation center y (16.16 or g-units) 499 #define DFF_Prop_c3DRotationCenterZ 712 // LONG rotation center z (absolute (emus)) 500 #define DFF_Prop_c3DRenderMode 713 // MSO_3DRENDERMODE Full,wireframe, or bcube 501 #define DFF_Prop_c3DTolerance 714 // LONG pixels (16.16) 502 #define DFF_Prop_c3DXViewpoint 715 // LONG X view point (emus) 503 #define DFF_Prop_c3DYViewpoint 716 // LONG Y view point (emus) 504 #define DFF_Prop_c3DZViewpoint 717 // LONG Z view distance (emus) 505 #define DFF_Prop_c3DOriginX 718 // LONG 506 #define DFF_Prop_c3DOriginY 719 // LONG 507 #define DFF_Prop_c3DSkewAngle 720 // LONG degree (16.16) skew angle 508 #define DFF_Prop_c3DSkewAmount 721 // LONG Percentage skew amount 509 #define DFF_Prop_c3DAmbientIntensity 722 // LONG Fixed point intensity 510 #define DFF_Prop_c3DKeyX 723 // LONG Key light source direc- 511 #define DFF_Prop_c3DKeyY 724 // LONG tion; only their relative 512 #define DFF_Prop_c3DKeyZ 725 // LONG magnitudes matter 513 #define DFF_Prop_c3DKeyIntensity 726 // LONG Fixed point intensity 514 #define DFF_Prop_c3DFillX 727 // LONG Fill light source direc- 515 #define DFF_Prop_c3DFillY 728 // LONG tion; only their relative 516 #define DFF_Prop_c3DFillZ 729 // LONG magnitudes matter 517 #define DFF_Prop_c3DFillIntensity 730 // LONG Fixed point intensity 518 #define DFF_Prop_fc3DConstrainRotation 763 // BOOL 519 #define DFF_Prop_fc3DRotationCenterAuto 764 // BOOL 520 #define DFF_Prop_fc3DParallel 765 // sal_Bool Parallel projection? 521 #define DFF_Prop_fc3DKeyHarsh 766 // sal_Bool Is key lighting harsh? 522 #define DFF_Prop_fc3DFillHarsh 767 // sal_Bool Is fill lighting harsh? 523 // Shape 524 #define DFF_Prop_hspMaster 769 // MSO_HSP master shape 525 #define DFF_Prop_cxstyle 771 // MSO_CXSTYLE Type of connector 526 #define DFF_Prop_bWMode 772 // MSO_BWMODE Settings for modifications to be made when in different forms of black-and-white mode. 527 #define DFF_Prop_bWModePureBW 773 // MSO_BWMODE 528 #define DFF_Prop_bWModeBW 774 // MSO_BWMODE 529 #define DFF_Prop_fOleIcon 826 // sal_Bool For OLE objects, whether the object is in icon form 530 #define DFF_Prop_fPreferRelativeResize 827 // sal_Bool For UI only. Prefer relative resizing. 531 #define DFF_Prop_fLockShapeType 828 // sal_Bool Lock the shape type (don't allow Change Shape) 532 #define DFF_Prop_fDeleteAttachedObject 830 // BOOL 533 #define DFF_Prop_fBackground 831 // sal_Bool If sal_True, this is the background shape. 534 535 // Callout 536 #define DFF_Prop_spcot 832 // MSO_SPCOT Callout type 537 #define DFF_Prop_dxyCalloutGap 833 // LONG Distance from box to first point.(EMUs) 538 #define DFF_Prop_spcoa 834 // MSO_SPCOA Callout angle 539 #define DFF_Prop_spcod 835 // MSO_SPCOD Callout drop type 540 #define DFF_Prop_dxyCalloutDropSpecified 836 // LONG if mso_spcodSpecified, the actual drop distance 541 #define DFF_Prop_dxyCalloutLengthSpecified 837 // LONG if fCalloutLengthSpecified, the actual distance 542 #define DFF_Prop_fCallout 889 // sal_Bool Is the shape a callout? 543 #define DFF_Prop_fCalloutAccentBar 890 // sal_Bool does callout have accent bar 544 #define DFF_Prop_fCalloutTextBorder 891 // sal_Bool does callout have a text border 545 #define DFF_Prop_fCalloutMinusX 892 // BOOL 546 #define DFF_Prop_fCalloutMinusY 893 // BOOL 547 #define DFF_Prop_fCalloutDropAuto 894 // sal_Bool If true, then we occasionally invert the drop distance 548 #define DFF_Prop_fCalloutLengthSpecified 895 // sal_Bool if true, we look at dxyCalloutLengthSpecified 549 550 // GroupShape 551 #define DFF_Prop_wzName 896 // WCHAR* Shape Name (present only if explicitly set) 552 #define DFF_Prop_wzDescription 897 // WCHAR* alternate text 553 #define DFF_Prop_pihlShape 898 // IHlink* The hyperlink in the shape. 554 #define DFF_Prop_pWrapPolygonVertices 899 // IMsoArray The polygon that text will be wrapped around (Word) 555 #define DFF_Prop_dxWrapDistLeft 900 // LONG Left wrapping distance from text (Word) 556 #define DFF_Prop_dyWrapDistTop 901 // LONG Top wrapping distance from text (Word) 557 #define DFF_Prop_dxWrapDistRight 902 // LONG Right wrapping distance from text (Word) 558 #define DFF_Prop_dyWrapDistBottom 903 // LONG Bottom wrapping distance from text (Word) 559 #define DFF_Prop_lidRegroup 904 // LONG Regroup ID 560 #define DFF_Prop_tableProperties 927 // LONG 561 #define DFF_Prop_tableRowProperties 928 // LONG* 562 #define DFF_Prop_fEditedWrap 953 // sal_Bool Has the wrap polygon been edited? 563 #define DFF_Prop_fBehindDocument 954 // sal_Bool Word-only (shape is behind text) 564 #define DFF_Prop_fOnDblClickNotify 955 // sal_Bool Notify client on a double click 565 #define DFF_Prop_fIsButton 956 // sal_Bool A button shape (i.e., clicking performs an action). Set for shapes with attached hyperlinks or macros. 566 #define DFF_Prop_fOneD 957 // sal_Bool 1D adjustment 567 #define DFF_Prop_fHidden 958 // sal_Bool Do not display 568 #define DFF_Prop_fPrint 959 // sal_Bool Print this shape 569 // entsprechende BitFlags 570 #define DFF_PBit_EditedWrap 0x00000040 571 #define DFF_PBit_BehindDocument 0x00000020 572 #define DFF_PBit_OnDblClickNotify 0x00000010 573 #define DFF_PBit_IsButton 0x00000008 574 #define DFF_PBit_OneD 0x00000004 575 #define DFF_PBit_Hidden 0x00000002 576 #define DFF_PBit_Print 0x00000001 577 578 // properties of the second property set 579 #define DFF_Prop_metroBlob 937 // XML ZipPackage* 580 581 582 //--------------------------------------------------------------------------- 583 // Dreh- und Angelpunkt: der Shape-Typ 584 //--------------------------------------------------------------------------- 585 typedef enum 586 { 587 mso_sptMin = 0, 588 mso_sptNotPrimitive = mso_sptMin, 589 mso_sptRectangle = 1, 590 mso_sptRoundRectangle = 2, 591 mso_sptEllipse = 3, 592 mso_sptDiamond = 4, 593 mso_sptIsocelesTriangle = 5, 594 mso_sptRightTriangle = 6, 595 mso_sptParallelogram = 7, 596 mso_sptTrapezoid = 8, 597 mso_sptHexagon = 9, 598 mso_sptOctagon = 10, 599 mso_sptPlus = 11, 600 mso_sptStar = 12, 601 mso_sptArrow = 13, 602 mso_sptThickArrow = 14, 603 mso_sptHomePlate = 15, 604 mso_sptCube = 16, 605 mso_sptBalloon = 17, 606 mso_sptSeal = 18, 607 mso_sptArc = 19, 608 mso_sptLine = 20, 609 mso_sptPlaque = 21, 610 mso_sptCan = 22, 611 mso_sptDonut = 23, 612 mso_sptTextSimple = 24, 613 mso_sptTextOctagon = 25, 614 mso_sptTextHexagon = 26, 615 mso_sptTextCurve = 27, 616 mso_sptTextWave = 28, 617 mso_sptTextRing = 29, 618 mso_sptTextOnCurve = 30, 619 mso_sptTextOnRing = 31, 620 mso_sptStraightConnector1 = 32, 621 mso_sptBentConnector2 = 33, 622 mso_sptBentConnector3 = 34, 623 mso_sptBentConnector4 = 35, 624 mso_sptBentConnector5 = 36, 625 mso_sptCurvedConnector2 = 37, 626 mso_sptCurvedConnector3 = 38, 627 mso_sptCurvedConnector4 = 39, 628 mso_sptCurvedConnector5 = 40, 629 mso_sptCallout1 = 41, 630 mso_sptCallout2 = 42, 631 mso_sptCallout3 = 43, 632 mso_sptAccentCallout1 = 44, 633 mso_sptAccentCallout2 = 45, 634 mso_sptAccentCallout3 = 46, 635 mso_sptBorderCallout1 = 47, 636 mso_sptBorderCallout2 = 48, 637 mso_sptBorderCallout3 = 49, 638 mso_sptAccentBorderCallout1 = 50, 639 mso_sptAccentBorderCallout2 = 51, 640 mso_sptAccentBorderCallout3 = 52, 641 mso_sptRibbon = 53, 642 mso_sptRibbon2 = 54, 643 mso_sptChevron = 55, 644 mso_sptPentagon = 56, 645 mso_sptNoSmoking = 57, 646 mso_sptSeal8 = 58, 647 mso_sptSeal16 = 59, 648 mso_sptSeal32 = 60, 649 mso_sptWedgeRectCallout = 61, 650 mso_sptWedgeRRectCallout = 62, 651 mso_sptWedgeEllipseCallout = 63, 652 mso_sptWave = 64, 653 mso_sptFoldedCorner = 65, 654 mso_sptLeftArrow = 66, 655 mso_sptDownArrow = 67, 656 mso_sptUpArrow = 68, 657 mso_sptLeftRightArrow = 69, 658 mso_sptUpDownArrow = 70, 659 mso_sptIrregularSeal1 = 71, 660 mso_sptIrregularSeal2 = 72, 661 mso_sptLightningBolt = 73, 662 mso_sptHeart = 74, 663 mso_sptPictureFrame = 75, 664 mso_sptQuadArrow = 76, 665 mso_sptLeftArrowCallout = 77, 666 mso_sptRightArrowCallout = 78, 667 mso_sptUpArrowCallout = 79, 668 mso_sptDownArrowCallout = 80, 669 mso_sptLeftRightArrowCallout = 81, 670 mso_sptUpDownArrowCallout = 82, 671 mso_sptQuadArrowCallout = 83, 672 mso_sptBevel = 84, 673 mso_sptLeftBracket = 85, 674 mso_sptRightBracket = 86, 675 mso_sptLeftBrace = 87, 676 mso_sptRightBrace = 88, 677 mso_sptLeftUpArrow = 89, 678 mso_sptBentUpArrow = 90, 679 mso_sptBentArrow = 91, 680 mso_sptSeal24 = 92, 681 mso_sptStripedRightArrow = 93, 682 mso_sptNotchedRightArrow = 94, 683 mso_sptBlockArc = 95, 684 mso_sptSmileyFace = 96, 685 mso_sptVerticalScroll = 97, 686 mso_sptHorizontalScroll = 98, 687 mso_sptCircularArrow = 99, 688 mso_sptNotchedCircularArrow = 100, 689 mso_sptUturnArrow = 101, 690 mso_sptCurvedRightArrow = 102, 691 mso_sptCurvedLeftArrow = 103, 692 mso_sptCurvedUpArrow = 104, 693 mso_sptCurvedDownArrow = 105, 694 mso_sptCloudCallout = 106, 695 mso_sptEllipseRibbon = 107, 696 mso_sptEllipseRibbon2 = 108, 697 mso_sptFlowChartProcess = 109, 698 mso_sptFlowChartDecision = 110, 699 mso_sptFlowChartInputOutput = 111, 700 mso_sptFlowChartPredefinedProcess = 112, 701 mso_sptFlowChartInternalStorage = 113, 702 mso_sptFlowChartDocument = 114, 703 mso_sptFlowChartMultidocument = 115, 704 mso_sptFlowChartTerminator = 116, 705 mso_sptFlowChartPreparation = 117, 706 mso_sptFlowChartManualInput = 118, 707 mso_sptFlowChartManualOperation = 119, 708 mso_sptFlowChartConnector = 120, 709 mso_sptFlowChartPunchedCard = 121, 710 mso_sptFlowChartPunchedTape = 122, 711 mso_sptFlowChartSummingJunction = 123, 712 mso_sptFlowChartOr = 124, 713 mso_sptFlowChartCollate = 125, 714 mso_sptFlowChartSort = 126, 715 mso_sptFlowChartExtract = 127, 716 mso_sptFlowChartMerge = 128, 717 mso_sptFlowChartOfflineStorage = 129, 718 mso_sptFlowChartOnlineStorage = 130, 719 mso_sptFlowChartMagneticTape = 131, 720 mso_sptFlowChartMagneticDisk = 132, 721 mso_sptFlowChartMagneticDrum = 133, 722 mso_sptFlowChartDisplay = 134, 723 mso_sptFlowChartDelay = 135, 724 mso_sptTextPlainText = 136, 725 mso_sptTextStop = 137, 726 mso_sptTextTriangle = 138, 727 mso_sptTextTriangleInverted = 139, 728 mso_sptTextChevron = 140, 729 mso_sptTextChevronInverted = 141, 730 mso_sptTextRingInside = 142, 731 mso_sptTextRingOutside = 143, 732 mso_sptTextArchUpCurve = 144, 733 mso_sptTextArchDownCurve = 145, 734 mso_sptTextCircleCurve = 146, 735 mso_sptTextButtonCurve = 147, 736 mso_sptTextArchUpPour = 148, 737 mso_sptTextArchDownPour = 149, 738 mso_sptTextCirclePour = 150, 739 mso_sptTextButtonPour = 151, 740 mso_sptTextCurveUp = 152, 741 mso_sptTextCurveDown = 153, 742 mso_sptTextCascadeUp = 154, 743 mso_sptTextCascadeDown = 155, 744 mso_sptTextWave1 = 156, 745 mso_sptTextWave2 = 157, 746 mso_sptTextWave3 = 158, 747 mso_sptTextWave4 = 159, 748 mso_sptTextInflate = 160, 749 mso_sptTextDeflate = 161, 750 mso_sptTextInflateBottom = 162, 751 mso_sptTextDeflateBottom = 163, 752 mso_sptTextInflateTop = 164, 753 mso_sptTextDeflateTop = 165, 754 mso_sptTextDeflateInflate = 166, 755 mso_sptTextDeflateInflateDeflate = 167, 756 mso_sptTextFadeRight = 168, 757 mso_sptTextFadeLeft = 169, 758 mso_sptTextFadeUp = 170, 759 mso_sptTextFadeDown = 171, 760 mso_sptTextSlantUp = 172, 761 mso_sptTextSlantDown = 173, 762 mso_sptTextCanUp = 174, 763 mso_sptTextCanDown = 175, 764 mso_sptFlowChartAlternateProcess = 176, 765 mso_sptFlowChartOffpageConnector = 177, 766 mso_sptCallout90 = 178, 767 mso_sptAccentCallout90 = 179, 768 mso_sptBorderCallout90 = 180, 769 mso_sptAccentBorderCallout90 = 181, 770 mso_sptLeftRightUpArrow = 182, 771 mso_sptSun = 183, 772 mso_sptMoon = 184, 773 mso_sptBracketPair = 185, 774 mso_sptBracePair = 186, 775 mso_sptSeal4 = 187, 776 mso_sptDoubleWave = 188, 777 mso_sptActionButtonBlank = 189, 778 mso_sptActionButtonHome = 190, 779 mso_sptActionButtonHelp = 191, 780 mso_sptActionButtonInformation = 192, 781 mso_sptActionButtonForwardNext = 193, 782 mso_sptActionButtonBackPrevious = 194, 783 mso_sptActionButtonEnd = 195, 784 mso_sptActionButtonBeginning = 196, 785 mso_sptActionButtonReturn = 197, 786 mso_sptActionButtonDocument = 198, 787 mso_sptActionButtonSound = 199, 788 mso_sptActionButtonMovie = 200, 789 mso_sptHostControl = 201, 790 mso_sptTextBox = 202, 791 //for pptx shape which not exist in ppt 792 mso_sptTearDrop = 203, 793 mso_sptMax = 0x0FFF, 794 mso_sptNil = mso_sptMax 795 } MSO_SPT; 796 797 // verschiedene enums aus der OfficeDraw-Doku, Appendix D - Anfang 798 // 799 // beachte: in Abweichung von der MS-Doku beginnen alle 800 // mit "mso_" statt mit "mso" 801 // 802 enum MSO_ShapePath { 803 mso_shapeLines, // A line of straight segments 804 mso_shapeLinesClosed, // A closed polygonal object 805 mso_shapeCurves, // A line of Bezier curve segments 806 mso_shapeCurvesClosed, // A closed shape with curved edges 807 mso_shapeComplex // pSegmentInfo must be non-empty 808 }; 809 810 enum MSO_WrapMode { 811 mso_wrapSquare, 812 mso_wrapByPoints, 813 mso_wrapNone, 814 mso_wrapTopBottom, 815 mso_wrapThrough 816 }; 817 818 enum MSO_BWMode { 819 mso_bwColor, // only used for predefined shades 820 mso_bwAutomatic, // depends on object type 821 mso_bwGrayScale, // shades of gray only 822 mso_bwLightGrayScale, // shades of light gray only 823 mso_bwInverseGray, // dark gray mapped to light gray, etc. 824 mso_bwGrayOutline, // pure gray and white 825 mso_bwBlackTextLine, // black text and lines, all else grayscale 826 mso_bwHighContrast, // pure black and white mode (no grays) 827 mso_bwBlack, // solid black 828 mso_bwWhite, // solid white 829 mso_bwDontShow, // object not drawn 830 mso_bwNumModes // number of Black and white modes 831 }; 832 833 enum MSO_Anchor { 834 mso_anchorTop, 835 mso_anchorMiddle, 836 mso_anchorBottom, 837 mso_anchorTopCentered, 838 mso_anchorMiddleCentered, 839 mso_anchorBottomCentered, 840 mso_anchorTopBaseline, 841 mso_anchorBottomBaseline, 842 mso_anchorTopCenteredBaseline, 843 mso_anchorBottomCenteredBaseline 844 }; 845 846 enum MSO_CDir { 847 mso_cdir0, // Right 848 mso_cdir90, // Down 849 mso_cdir180, // Left 850 mso_cdir270 // Up 851 }; 852 853 // connector style 854 enum MSO_ConnectorStyle { 855 mso_cxstyleStraight = 0, 856 mso_cxstyleBent, 857 mso_cxstyleCurved, 858 mso_cxstyleNone 859 }; 860 861 // MSO_TXFL -- text flow 862 enum MSO_TextFlow { 863 mso_txflHorzN, // Horizontal non-@ 864 mso_txflTtoBA, // Top to Bottom @-font 865 mso_txflBtoT, // Bottom to Top non-@ 866 mso_txflTtoBN, // Top to Bottom non-@ 867 mso_txflHorzA, // Horizontal @-font 868 mso_txflVertN // Vertical, non-@ 869 }; 870 871 // MSO_TXDIR - text direction (needed for Bi-Di support) 872 enum MSO_TextDir { 873 mso_txdirLTR, // left-to-right text direction 874 mso_txdirRTL, // right-to-left text direction 875 mso_txdirContext // context text direction 876 }; 877 878 // MSO_SPCOT -- Callout Type 879 enum MSO_SPCalloutType { 880 mso_spcotRightAngle = 1, 881 mso_spcotOneSegment = 2, 882 mso_spcotTwoSegment = 3, 883 mso_spcotThreeSegment = 4 884 }; 885 886 // MSO_SPCOA -- Callout Angle 887 enum MSO_SPCalloutAngle { 888 mso_spcoaAny, 889 mso_spcoa30, 890 mso_spcoa45, 891 mso_spcoa60, 892 mso_spcoa90, 893 mso_spcoa0 894 }; 895 896 // MSO_SPCOD -- Callout Drop 897 enum MSO_SPCalloutDrop { 898 mso_spcodTop, 899 mso_spcodCenter, 900 mso_spcodBottom, 901 mso_spcodSpecified 902 }; 903 904 // MSO_GEOTEXTALIGN - FontWork alignment 905 enum MSO_GeoTextAlign { 906 mso_alignTextStretch, /* Stretch each line of text to fit width. */ 907 mso_alignTextCenter, /* Center text on width. */ 908 mso_alignTextLeft, /* Left justify. */ 909 mso_alignTextRight, /* Right justify. */ 910 mso_alignTextLetterJust, /* Spread letters out to fit width. */ 911 mso_alignTextWordJust, /* Spread words out to fit width. */ 912 mso_alignTextInvalid /* Invalid */ 913 }; 914 915 // MSO_BLIPFLAGS - flags for pictures 916 enum MSO_BlipFlags { 917 mso_blipflagDefault = 0, 918 mso_blipflagComment = 0, // Blip name is a comment 919 mso_blipflagFile, // Blip name is a file name 920 mso_blipflagURL, // Blip name is a full URL 921 mso_blipflagType = 3, // Mask to extract type 922 /* Or the following flags with any of the above. */ 923 mso_blipflagDontSave = 4, // A "dont" is the depression in the metal 924 // body work of an automobile caused when a 925 // cyclist violently thrusts his or her nose 926 // at it, thus a DontSave is another name for 927 // a cycle lane. 928 mso_blipflagDoNotSave = 4, // For those who prefer English 929 mso_blipflagLinkToFile = 8 930 }; 931 932 enum MSO_3DRenderMode { 933 mso_FullRender, // Generate a full rendering 934 mso_Wireframe, // Generate a wireframe 935 mso_BoundingCube // Generate a bounding cube 936 }; 937 938 enum MSO_XFormType { 939 mso_xformAbsolute, // Apply transform in absolute space centered on shape 940 mso_xformShape, // Apply transform to shape geometry 941 mso_xformDrawing // Apply transform in drawing space 942 }; 943 944 enum MSO_ShadowType { 945 mso_shadowOffset, // N pixel offset shadow 946 mso_shadowDouble, // Use second offset too 947 mso_shadowRich, // Rich perspective shadow (cast relative to shape) 948 mso_shadowShape, // Rich perspective shadow (cast in shape space) 949 mso_shadowDrawing, // Perspective shadow cast in drawing space 950 mso_shadowEmbossOrEngrave 951 }; 952 953 // MSO_DZTYPE - the type of a (length) measurement 954 enum MSO_DZType { 955 mso_dztypeMin = 0, 956 mso_dztypeDefault = 0, // Default size, ignore the values 957 mso_dztypeA = 1, // Values are in EMUs 958 mso_dztypeV = 2, // Values are in pixels 959 mso_dztypeShape = 3, // Values are 16.16 fractions of shape size 960 mso_dztypeFixedAspect = 4, // Aspect ratio is fixed 961 mso_dztypeAFixed = 5, // EMUs, fixed aspect ratio 962 mso_dztypeVFixed = 6, // Pixels, fixed aspect ratio 963 mso_dztypeShapeFixed = 7, // Proportion of shape, fixed aspect ratio 964 mso_dztypeFixedAspectEnlarge 965 = 8, // Aspect ratio is fixed, favor larger size 966 mso_dztypeAFixedBig = 9, // EMUs, fixed aspect ratio 967 mso_dztypeVFixedBig = 10, // Pixels, fixed aspect ratio 968 mso_dztypeShapeFixedBig= 11, // Proportion of shape, fixed aspect ratio 969 mso_dztypeMax = 11 970 }; 971 972 enum MSO_FillType { 973 mso_fillSolid, // Fill with a solid color 974 mso_fillPattern, // Fill with a pattern (bitmap) 975 mso_fillTexture, // A texture (pattern with its own color map) 976 mso_fillPicture, // Center a picture in the shape 977 mso_fillShade, // Shade from start to end points 978 mso_fillShadeCenter, // Shade from bounding rectangle to end point 979 mso_fillShadeShape, // Shade from shape outline to end point 980 mso_fillShadeScale, // Similar to mso_fillShade, but the fillAngle 981 // is additionally scaled by the aspect ratio of 982 // the shape. If shape is square, it is the 983 // same as mso_fillShade. 984 mso_fillShadeTitle, // special type - shade to title --- for PP 985 mso_fillBackground // Use the background fill color/pattern 986 }; 987 988 // MSO_SHADETYPE - how to interpret the colors in a shaded fill. 989 enum MSO_ShadeType { 990 mso_shadeNone = 0, // Interpolate without correction between RGBs 991 mso_shadeGamma = 1, // Apply gamma correction to colors 992 mso_shadeSigma = 2, // Apply a sigma transfer function to position 993 mso_shadeBand = 4, // Add a flat band at the start of the shade 994 mso_shadeOneColor = 8, // This is a one color shade 995 996 /* A parameter for the band or sigma function can be stored in the top 997 16 bits of the value - this is a proportion of *each* band of the 998 shade to make flat (or the approximate equal value for a sigma 999 function). NOTE: the parameter is not used for the sigma function, 1000 instead a built in value is used. This value should not be changed 1001 from the default! */ 1002 mso_shadeParameterShift = 16, 1003 mso_shadeParameterMask = 0xffff0000, 1004 1005 mso_shadeDefault = (mso_shadeGamma|mso_shadeSigma| 1006 (16384<<mso_shadeParameterShift)) 1007 }; 1008 1009 // MSOLINESTYLE - compound line style 1010 enum MSO_LineStyle { 1011 mso_lineSimple, // Single line (of width lineWidth) 1012 mso_lineDouble, // Double lines of equal width 1013 mso_lineThickThin, // Double lines, one thick, one thin 1014 mso_lineThinThick, // Double lines, reverse order 1015 mso_lineTriple // Three lines, thin, thick, thin 1016 }; 1017 1018 // MSO_LINETYPE - how to "fill" the line contour 1019 enum MSO_LineType { 1020 mso_lineSolidType, // Fill with a solid color 1021 mso_linePattern, // Fill with a pattern (bitmap) 1022 mso_lineTexture, // A texture (pattern with its own color map) 1023 mso_linePicture // Center a picture in the shape 1024 }; 1025 1026 // MSO_LINEDASHING - dashed line style 1027 enum MSO_LineDashing { 1028 mso_lineSolid, // Solid (continuous) pen 1029 mso_lineDashSys, // PS_DASH system dash style 1030 mso_lineDotSys, // PS_DOT system dash style 1031 mso_lineDashDotSys, // PS_DASHDOT system dash style 1032 mso_lineDashDotDotSys, // PS_DASHDOTDOT system dash style 1033 mso_lineDotGEL, // square dot style 1034 mso_lineDashGEL, // dash style 1035 mso_lineLongDashGEL, // long dash style 1036 mso_lineDashDotGEL, // dash short dash 1037 mso_lineLongDashDotGEL, // long dash short dash 1038 mso_lineLongDashDotDotGEL // long dash short dash short dash 1039 }; 1040 1041 // MSO_LINEEND - line end effect 1042 enum MSO_LineEnd { 1043 mso_lineNoEnd, 1044 mso_lineArrowEnd, 1045 mso_lineArrowStealthEnd, 1046 mso_lineArrowDiamondEnd, 1047 mso_lineArrowOvalEnd, 1048 mso_lineArrowOpenEnd 1049 }; 1050 1051 // MSO_LINEENDWIDTH - size of arrowhead 1052 enum MSO_LineEndWidth { 1053 mso_lineNarrowArrow, 1054 mso_lineMediumWidthArrow, 1055 mso_lineWideArrow 1056 }; 1057 1058 // MSO_LINEENDLENGTH - size of arrowhead 1059 enum MSO_LineEndLength { 1060 mso_lineShortArrow, 1061 mso_lineMediumLenArrow, 1062 mso_lineLongArrow 1063 }; 1064 1065 // MSO_LINEJOIN - line join style. 1066 enum MSO_LineJoin { 1067 mso_lineJoinBevel, // Join edges by a straight line 1068 mso_lineJoinMiter, // Extend edges until they join 1069 mso_lineJoinRound // Draw an arc between the two edges 1070 }; 1071 1072 // MSO_LINECAP - line cap style (applies to ends of dash segments too). 1073 enum MSO_LineCap { 1074 mso_lineEndCapRound, // Rounded ends - the default 1075 mso_lineEndCapSquare, // Square protrudes by half line width 1076 mso_lineEndCapFlat // Line ends at end point 1077 }; 1078 // verschiedene enums aus der OfficeDraw-Doku, Appendix D - Ende 1079 1080 // BStore-Container 1081 // FBSE - File Blip Store Entry 1082 typedef struct _MSOF_BSE { 1083 sal_uInt8 btWin32; // Required type on Win32 1084 sal_uInt8 btMacOS; // Required type on Mac 1085 sal_uInt8 rgbUid[16]; // Identifier of blip 1086 sal_uInt16 tag; // currently unused 1087 sal_uIntPtr size; // Blip size in stream 1088 sal_uIntPtr cRef; // Reference count on the blip 1089 sal_uIntPtr /*MSOFO*/ foDelay; // File offset in the delay stream 1090 sal_uInt8 usage; // How this blip is used (MSOBLIPUSAGE) 1091 sal_uInt8 cbName; // length of the blip name 1092 sal_uInt8 unused2; // for the future 1093 sal_uInt8 unused3; // for the future 1094 } MSO_FBSE; 1095 1096 typedef enum { 1097 mso_blipUsageDefault, // All non-texture fill blips get this. 1098 mso_blipUsageTexture, 1099 mso_blipUsageMax = 255 // Since this is stored in a byte 1100 } MSO_BLIPUSAGE; 1101 1102 typedef enum { // GEL provided types... 1103 mso_blipERROR = 0, // An error occured during loading 1104 mso_blipUNKNOWN, // An unknown blip type 1105 mso_blipEMF, // Windows Enhanced Metafile 1106 mso_blipWMF, // Windows Metafile 1107 mso_blipPICT, // Macintosh PICT 1108 mso_blipJPEG, // JFIF 1109 mso_blipPNG, // PNG 1110 mso_blipDIB, // Windows DIB 1111 mso_blipFirstClient = 32, // First client defined blip type 1112 mso_blipLastClient = 255 // Last client defined blip type 1113 } MSO_BLIPTYPE; 1114 1115 typedef enum { 1116 mso_biUNKNOWN = 0, 1117 mso_biWMF = 0x216, // Metafile header then compressed WMF 1118 mso_biEMF = 0x3D4, // Metafile header then compressed EMF 1119 mso_biPICT = 0x542, // Metafile header then compressed PICT 1120 mso_biPNG = 0x6E0, // One byte tag then PNG data 1121 mso_biJFIF = 0x46A, // One byte tag then JFIF data 1122 mso_biJPEG = mso_biJFIF, 1123 mso_biDIB = 0x7A8, // One byte tag then DIB data 1124 mso_biClient=0x800 // Clients should set this bit 1125 } MSO_BI; // Blip signature as encoded in the MSO_FBH.inst 1126 1127 typedef enum { 1128 mso_compressionDeflate = 0, 1129 mso_compressionNone = 254, // Used only if compression fails 1130 mso_compressionTest = 255 // For testing only 1131 } MSO_BLIPCOMPRESSION; 1132 1133 typedef enum { 1134 mso_filterAdaptive = 0, // PNG type - not used/supported for metafile 1135 mso_filterNone = 254, 1136 mso_filterTest = 255 // For testing only 1137 } MSO_BLIPFILTER; 1138 1139 typedef enum { 1140 mso_syscolorButtonFace, // COLOR_BTNFACE 1141 mso_syscolorWindowText, // COLOR_WINDOWTEXT 1142 mso_syscolorMenu, // COLOR_MENU 1143 mso_syscolorHighlight, // COLOR_HIGHLIGHT 1144 mso_syscolorHighlightText, // COLOR_HIGHLIGHTTEXT 1145 mso_syscolorCaptionText, // COLOR_CAPTIONTEXT 1146 mso_syscolorActiveCaption, // COLOR_ACTIVECAPTION 1147 mso_syscolorButtonHighlight, // COLOR_BTNHIGHLIGHT 1148 mso_syscolorButtonShadow, // COLOR_BTNSHADOW 1149 mso_syscolorButtonText, // COLOR_BTNTEXT 1150 mso_syscolorGrayText, // COLOR_GRAYTEXT 1151 mso_syscolorInactiveCaption, // COLOR_INACTIVECAPTION 1152 mso_syscolorInactiveCaptionText, // COLOR_INACTIVECAPTIONTEXT 1153 mso_syscolorInfoBackground, // COLOR_INFOBK 1154 mso_syscolorInfoText, // COLOR_INFOTEXT 1155 mso_syscolorMenuText, // COLOR_MENUTEXT 1156 mso_syscolorScrollbar, // COLOR_SCROLLBAR 1157 mso_syscolorWindow, // COLOR_WINDOW 1158 mso_syscolorWindowFrame, // COLOR_WINDOWFRAME 1159 mso_syscolor3DLight, // COLOR_3DLIGHT 1160 mso_syscolorMax, // Count of system colors 1161 1162 mso_colorFillColor = 0xF0, // Use the fillColor property 1163 mso_colorLineOrFillColor, // Use the line color only if there is a line 1164 mso_colorLineColor, // Use the lineColor property 1165 mso_colorShadowColor, // Use the shadow color 1166 mso_colorThis, // Use this color (only valid as described below) 1167 mso_colorFillBackColor, // Use the fillBackColor property 1168 mso_colorLineBackColor, // Use the lineBackColor property 1169 mso_colorFillThenLine, // Use the fillColor unless no fill and line 1170 mso_colorIndexMask = 0xFF, // Extract the color index 1171 1172 mso_colorProcessMask =0xFFFF00,// All the processing bits 1173 mso_colorModificationMask =0x0F00, // Just the function 1174 mso_colorModFlagMask =0xF000, // Just the additional flags 1175 mso_colorDarken =0x0100, // Darken color by parameter/255 1176 mso_colorLighten =0x0200, // Lighten color by parameter/255 1177 mso_colorAdd =0x0300, // Add grey level RGB(param,param,param) 1178 mso_colorSubtract =0x0400, // Subtract grey level RGB(p,p,p) 1179 mso_colorReverseSubtract =0x0500, // Subtract from grey level RGB(p,p,p) 1180 /* In the following "black" means maximum component value, white minimum. 1181 The operation is per component, to guarantee white combine with 1182 mso_colorGray */ 1183 mso_colorBlackWhite =0x0600, // Black if < uParam, else white (>=) 1184 mso_colorInvert =0x2000, // Invert color (at the *end*) 1185 mso_colorInvert128 =0x4000, // Invert by toggling the top bit 1186 mso_colorGray =0x8000, // Make the color gray (before the above!) 1187 mso_colorBParamMask =0xFF0000,// Parameter used as above 1188 mso_colorBParamShift = 16 // To extract the parameter value 1189 } MSO_SYSCOLORINDEX; 1190 1191 #ifdef Hier_noch_was_aus_der_Doku 1192 /* The secondary, or data, UID - should always be set. */ 1193 sal_uInt8 m_rgbUid[16]; 1194 /* The primary UID - this defaults to 0, in which case the primary ID is 1195 that of the internal data. NOTE!: The primary UID is only saved to disk 1196 if (blip_instance ^ blip_signature == 1). Blip_instance is MSO_FBH.inst and 1197 blip_signature is one of the values defined in MSO_BI */ 1198 sal_uInt8 m_rgbUidPrimary[16]; // optional based on the above check 1199 1200 /* Metafile Blip overhead = 34 bytes. m_cb gives the number of 1201 bytes required to store an uncompressed version of the file, m_cbSave 1202 is the compressed size. m_mfBounds gives the boundary of all the 1203 drawing calls within the metafile (this may just be the bounding box 1204 or it may allow some whitespace, for a WMF this comes from the 1205 SetWindowOrg and SetWindowExt records of the metafile). */ 1206 int m_cb; // Cache of the metafile size 1207 RECT m_rcBounds; // Boundary of metafile drawing commands 1208 POINT m_ptSize; // Size of metafile in EMUs 1209 int m_cbSave; // Cache of saved size (size of m_pvBits) 1210 sal_uInt8 m_fCompression; // MSO_BLIPCOMPRESSION 1211 sal_uInt8 m_fFilter; // always mso_filterNone 1212 void *m_pvBits; // Compressed bits of metafile. 1213 1214 /* The secondary, or data, UID - should always be set. */ 1215 sal_uInt8 m_rgbUid[16]; 1216 /* The primary UID - this defaults to 0, in which case the primary ID is 1217 that of the internal data. NOTE!: The primary UID is only saved to disk 1218 if (blip_instance ^ blip_signature == 1). Blip_instance is MSO_FBH.finst and 1219 blip_signature is one of the values defined in MSO_BI*/ 1220 sal_uInt8 m_rgbUidPrimary[16]; // optional based on the above check 1221 sal_uInt8 m_bTag; 1222 void *m_pvBits; // raster bits of the blip. 1223 #endif 1224 1225 //ALT_TXT_MSINTEROP 1226 #define MSPROP_DESCRIPTION_MAX_LEN 4096 1227 1228 #endif 1229