summaryrefslogtreecommitdiff
path: root/filter/inc/filter
diff options
context:
space:
mode:
Diffstat (limited to 'filter/inc/filter')
-rw-r--r--filter/inc/filter/msfilter/escherex.hxx1116
-rw-r--r--filter/inc/filter/msfilter/msdffimp.hxx197
-rw-r--r--filter/inc/filter/msfilter/msocximex.hxx10
-rw-r--r--filter/inc/filter/msfilter/svdfppt.hxx14
4 files changed, 724 insertions, 613 deletions
diff --git a/filter/inc/filter/msfilter/escherex.hxx b/filter/inc/filter/msfilter/escherex.hxx
index 37dbadc207b3..4afd1f006d45 100644
--- a/filter/inc/filter/msfilter/escherex.hxx
+++ b/filter/inc/filter/msfilter/escherex.hxx
@@ -50,264 +50,263 @@
/*Record Name FBT-Value Instance Contents Wrd Exl PPt Ver*/
// In der Mickysoft-Doku heissen die msofbt... statt ESCHER_...
-#define ESCHER_DggContainer 0xF000 /* per-document data X X X */
-#define ESCHER_Dgg 0xF006 /* an FDGG and several FIDCLs X X X 0 */
-#define ESCHER_CLSID 0xF016 /* the CLSID of the application that put the data on the clipboard C C C 0 */
-#define ESCHER_OPT 0xF00B /* count of properties the document-wide default shape properties X X X 3 */
-#define ESCHER_ColorMRU 0xF11A /* count of colors the colors in the MRU swatch X X X 0 */
-#define ESCHER_SplitMenuColors 0xF11E /* count of colors the colors in the top-level split menus X X X 0 */
-#define ESCHER_BstoreContainer 0xF001 /* count of BLIPs all images in the document (JPEGs, metafiles, etc.) X X X */
-#define ESCHER_BSE 0xF007 /* BLIP type an FBSE (one per BLIP) X X X 2 */
-#define ESCHER_BlipFirst 0xF018 /* range of fbts reserved for various kinds of BLIPs X X X */
-#define ESCHER_BlipLast 0xF117 /* range of fbts reserved for various kinds of BLIPs X X X */
-
-#define ESCHER_DgContainer 0xF002 /* per-sheet/page/slide data X X X */
-#define ESCHER_Dg 0xF008 /* drawing ID an FDG X X X 0 */
-#define ESCHER_RegroupItems 0xF118 /* count of regroup entries several FRITs X X X 0 */
-#define ESCHER_ColorScheme 0xF120 /* count of colors the colors of the source host's color scheme C C 0 */
-#define ESCHER_SpgrContainer 0xF003 /* several SpContainers, the first of which is the group shape itself X X X */
-#define ESCHER_SpContainer 0xF004 /* a shape X X X */
-#define ESCHER_Spgr 0xF009 /* an FSPGR; only present if the shape is a group shape X X X 1 */
-#define ESCHER_Sp 0xF00A /* shape type an FSP X X X 2 */
+#define ESCHER_DggContainer 0xF000 /* per-document data X X X */
+#define ESCHER_Dgg 0xF006 /* an FDGG and several FIDCLs X X X 0 */
+#define ESCHER_CLSID 0xF016 /* the CLSID of the application that put the data on the clipboard C C C 0 */
+#define ESCHER_OPT 0xF00B /* count of properties the document-wide default shape properties X X X 3 */
+#define ESCHER_ColorMRU 0xF11A /* count of colors the colors in the MRU swatch X X X 0 */
+#define ESCHER_SplitMenuColors 0xF11E /* count of colors the colors in the top-level split menus X X X 0 */
+#define ESCHER_BstoreContainer 0xF001 /* count of BLIPs all images in the document (JPEGs, metafiles, etc.) X X X */
+#define ESCHER_BSE 0xF007 /* BLIP type an FBSE (one per BLIP) X X X 2 */
+#define ESCHER_BlipFirst 0xF018 /* range of fbts reserved for various kinds of BLIPs X X X */
+#define ESCHER_BlipLast 0xF117 /* range of fbts reserved for various kinds of BLIPs X X X */
+
+#define ESCHER_DgContainer 0xF002 /* per-sheet/page/slide data X X X */
+#define ESCHER_Dg 0xF008 /* drawing ID an FDG X X X 0 */
+#define ESCHER_RegroupItems 0xF118 /* count of regroup entries several FRITs X X X 0 */
+#define ESCHER_ColorScheme 0xF120 /* count of colors the colors of the source host's color scheme C C 0 */
+#define ESCHER_SpgrContainer 0xF003 /* several SpContainers, the first of which is the group shape itself X X X */
+#define ESCHER_SpContainer 0xF004 /* a shape X X X */
+#define ESCHER_Spgr 0xF009 /* an FSPGR; only present if the shape is a group shape X X X 1 */
+#define ESCHER_Sp 0xF00A /* shape type an FSP X X X 2 */
//#define ESCHER_OPT 0xF00B /* count of properties a shape property table X X X 3 */
-#define ESCHER_Textbox 0xF00C /* RTF text C C C 0 */
-#define ESCHER_ClientTextbox 0xF00D /* host-defined the text in the textbox, in host-defined format X X X */
-#define ESCHER_Anchor 0xF00E /* a RECT, in 100000ths of an inch C C C 0 */
-#define ESCHER_ChildAnchor 0xF00F /* a RECT, in units relative to the parent group X X X 0 */
-#define ESCHER_ClientAnchor 0xF010 /* host-defined the location of the shape, in a host-defined format X X X */
-#define ESCHER_ClientData 0xF011 /* host-defined host-specific data X X X */
-#define ESCHER_OleObject 0xF11F /* a serialized IStorage for an OLE object C C C 0 */
-#define ESCHER_DeletedPspl 0xF11D /* an FPSPL; only present in top-level deleted shapes X 0 */
-#define ESCHER_SolverContainer 0xF005 /* count of rules the rules governing shapes X X X */
-#define ESCHER_ConnectorRule 0xF012 /* an FConnectorRule X X 1 */
-#define ESCHER_AlignRule 0xF013 /* an FAlignRule X X X 0 */
-#define ESCHER_ArcRule 0xF014 /* an FARCRU X X X 0 */
-#define ESCHER_ClientRule 0xF015 /* host-defined host-defined */
-#define ESCHER_CalloutRule 0xF017 /* an FCORU X X X 0 */
-#define ESCHER_Selection 0xF119 /* an FDGSL followed by the SPIDs of the shapes in the selection X 0 */
-#define ESCHER_UDefProp 0xF122
-
-#define SHAPEFLAG_GROUP 0x001 // This shape is a group shape
-#define SHAPEFLAG_CHILD 0x002 // Not a top-level shape
-#define SHAPEFLAG_PATRIARCH 0x004 // This is the topmost group shape. Exactly one of these per drawing.
-#define SHAPEFLAG_DELETED 0x008 // The shape has been deleted
-#define SHAPEFLAG_OLESHAPE 0x010 // The shape is an OLE object
-#define SHAPEFLAG_HAVEMASTER 0x020 // Shape has a hspMaster property
-#define SHAPEFLAG_FLIPH 0x040 // Shape is flipped horizontally
-#define SHAPEFLAG_FLIPV 0x080 // Shape is flipped vertically
-#define SHAPEFLAG_CONNECTOR 0x100 // Connector type of shape
-#define SHAPEFLAG_HAVEANCHOR 0x200 // Shape has an anchor of some kind
-#define SHAPEFLAG_BACKGROUND 0x400 // Background shape
-#define SHAPEFLAG_HAVESPT 0x800 // Shape has a shape type property
-
-#define ESCHER_ShpInst_Min 0
-#define ESCHER_ShpInst_NotPrimitive ESCHER_ShpInst_Min
-#define ESCHER_ShpInst_Rectangle 1
-#define ESCHER_ShpInst_RoundRectangle 2
-#define ESCHER_ShpInst_Ellipse 3
-#define ESCHER_ShpInst_Diamond 4
-#define ESCHER_ShpInst_IsocelesTriangle 5
-#define ESCHER_ShpInst_RightTriangle 6
-#define ESCHER_ShpInst_Parallelogram 7
-#define ESCHER_ShpInst_Trapezoid 8
-#define ESCHER_ShpInst_Hexagon 9
-#define ESCHER_ShpInst_Octagon 10
-#define ESCHER_ShpInst_Plus 11
-#define ESCHER_ShpInst_Star 12
-#define ESCHER_ShpInst_Arrow 13
-#define ESCHER_ShpInst_ThickArrow 14
-#define ESCHER_ShpInst_HomePlate 15
-#define ESCHER_ShpInst_Cube 16
-#define ESCHER_ShpInst_Balloon 17
-#define ESCHER_ShpInst_Seal 18
-#define ESCHER_ShpInst_Arc 19
-#define ESCHER_ShpInst_Line 20
-#define ESCHER_ShpInst_Plaque 21
-#define ESCHER_ShpInst_Can 22
-#define ESCHER_ShpInst_Donut 23
-#define ESCHER_ShpInst_TextSimple 24
-#define ESCHER_ShpInst_TextOctagon 25
-#define ESCHER_ShpInst_TextHexagon 26
-#define ESCHER_ShpInst_TextCurve 27
-#define ESCHER_ShpInst_TextWave 28
-#define ESCHER_ShpInst_TextRing 29
-#define ESCHER_ShpInst_TextOnCurve 30
-#define ESCHER_ShpInst_TextOnRing 31
-#define ESCHER_ShpInst_StraightConnector1 32
-#define ESCHER_ShpInst_BentConnector2 33
-#define ESCHER_ShpInst_BentConnector3 34
-#define ESCHER_ShpInst_BentConnector4 35
-#define ESCHER_ShpInst_BentConnector5 36
-#define ESCHER_ShpInst_CurvedConnector2 37
-#define ESCHER_ShpInst_CurvedConnector3 38
-#define ESCHER_ShpInst_CurvedConnector4 39
-#define ESCHER_ShpInst_CurvedConnector5 40
-#define ESCHER_ShpInst_Callout1 41
-#define ESCHER_ShpInst_Callout2 42
-#define ESCHER_ShpInst_Callout3 43
-#define ESCHER_ShpInst_AccentCallout1 44
-#define ESCHER_ShpInst_AccentCallout2 45
-#define ESCHER_ShpInst_AccentCallout3 46
-#define ESCHER_ShpInst_BorderCallout1 47
-#define ESCHER_ShpInst_BorderCallout2 48
-#define ESCHER_ShpInst_BorderCallout3 49
-#define ESCHER_ShpInst_AccentBorderCallout1 50
-#define ESCHER_ShpInst_AccentBorderCallout2 51
-#define ESCHER_ShpInst_AccentBorderCallout3 52
-#define ESCHER_ShpInst_Ribbon 53
-#define ESCHER_ShpInst_Ribbon2 54
-#define ESCHER_ShpInst_Chevron 55
-#define ESCHER_ShpInst_Pentagon 56
-#define ESCHER_ShpInst_NoSmoking 57
-#define ESCHER_ShpInst_Seal8 58
-#define ESCHER_ShpInst_Seal16 59
-#define ESCHER_ShpInst_Seal32 60
-#define ESCHER_ShpInst_WedgeRectCallout 61
-#define ESCHER_ShpInst_WedgeRRectCallout 62
-#define ESCHER_ShpInst_WedgeEllipseCallout 63
-#define ESCHER_ShpInst_Wave 64
-#define ESCHER_ShpInst_FoldedCorner 65
-#define ESCHER_ShpInst_LeftArrow 66
-#define ESCHER_ShpInst_DownArrow 67
-#define ESCHER_ShpInst_UpArrow 68
-#define ESCHER_ShpInst_LeftRightArrow 69
-#define ESCHER_ShpInst_UpDownArrow 70
-#define ESCHER_ShpInst_IrregularSeal1 71
-#define ESCHER_ShpInst_IrregularSeal2 72
-#define ESCHER_ShpInst_LightningBolt 73
-#define ESCHER_ShpInst_Heart 74
-#define ESCHER_ShpInst_PictureFrame 75
-#define ESCHER_ShpInst_QuadArrow 76
-#define ESCHER_ShpInst_LeftArrowCallout 77
-#define ESCHER_ShpInst_RightArrowCallout 78
-#define ESCHER_ShpInst_UpArrowCallout 79
-#define ESCHER_ShpInst_DownArrowCallout 80
-#define ESCHER_ShpInst_LeftRightArrowCallout 81
-#define ESCHER_ShpInst_UpDownArrowCallout 82
-#define ESCHER_ShpInst_QuadArrowCallout 83
-#define ESCHER_ShpInst_Bevel 84
-#define ESCHER_ShpInst_LeftBracket 85
-#define ESCHER_ShpInst_RightBracket 86
-#define ESCHER_ShpInst_LeftBrace 87
-#define ESCHER_ShpInst_RightBrace 88
-#define ESCHER_ShpInst_LeftUpArrow 89
-#define ESCHER_ShpInst_BentUpArrow 90
-#define ESCHER_ShpInst_BentArrow 91
-#define ESCHER_ShpInst_Seal24 92
-#define ESCHER_ShpInst_StripedRightArrow 93
-#define ESCHER_ShpInst_NotchedRightArrow 94
-#define ESCHER_ShpInst_BlockArc 95
-#define ESCHER_ShpInst_SmileyFace 96
-#define ESCHER_ShpInst_VerticalScroll 97
-#define ESCHER_ShpInst_HorizontalScroll 98
-#define ESCHER_ShpInst_CircularArrow 99
-#define ESCHER_ShpInst_NotchedCircularArrow 100
-#define ESCHER_ShpInst_UturnArrow 101
-#define ESCHER_ShpInst_CurvedRightArrow 102
-#define ESCHER_ShpInst_CurvedLeftArrow 103
-#define ESCHER_ShpInst_CurvedUpArrow 104
-#define ESCHER_ShpInst_CurvedDownArrow 105
-#define ESCHER_ShpInst_CloudCallout 106
-#define ESCHER_ShpInst_EllipseRibbon 107
-#define ESCHER_ShpInst_EllipseRibbon2 108
-#define ESCHER_ShpInst_FlowChartProcess 109
-#define ESCHER_ShpInst_FlowChartDecision 110
-#define ESCHER_ShpInst_FlowChartInputOutput 111
+#define ESCHER_Textbox 0xF00C /* RTF text C C C 0 */
+#define ESCHER_ClientTextbox 0xF00D /* host-defined the text in the textbox, in host-defined format X X X */
+#define ESCHER_Anchor 0xF00E /* a RECT, in 100000ths of an inch C C C 0 */
+#define ESCHER_ChildAnchor 0xF00F /* a RECT, in units relative to the parent group X X X 0 */
+#define ESCHER_ClientAnchor 0xF010 /* host-defined the location of the shape, in a host-defined format X X X */
+#define ESCHER_ClientData 0xF011 /* host-defined host-specific data X X X */
+#define ESCHER_OleObject 0xF11F /* a serialized IStorage for an OLE object C C C 0 */
+#define ESCHER_DeletedPspl 0xF11D /* an FPSPL; only present in top-level deleted shapes X 0 */
+#define ESCHER_SolverContainer 0xF005 /* count of rules the rules governing shapes X X X */
+#define ESCHER_ConnectorRule 0xF012 /* an FConnectorRule X X 1 */
+#define ESCHER_AlignRule 0xF013 /* an FAlignRule X X X 0 */
+#define ESCHER_ArcRule 0xF014 /* an FARCRU X X X 0 */
+#define ESCHER_ClientRule 0xF015 /* host-defined host-defined */
+#define ESCHER_CalloutRule 0xF017 /* an FCORU X X X 0 */
+#define ESCHER_Selection 0xF119 /* an FDGSL followed by the SPIDs of the shapes in the selection X 0 */
+#define ESCHER_UDefProp 0xF122
+
+#define SHAPEFLAG_GROUP 0x001 /* This shape is a group shape */
+#define SHAPEFLAG_CHILD 0x002 /* Not a top-level shape */
+#define SHAPEFLAG_PATRIARCH 0x004 /* This is the topmost group shape. Exactly one of these per drawing. */
+#define SHAPEFLAG_DELETED 0x008 /* The shape has been deleted */
+#define SHAPEFLAG_OLESHAPE 0x010 /* The shape is an OLE object */
+#define SHAPEFLAG_HAVEMASTER 0x020 /* Shape has a hspMaster property */
+#define SHAPEFLAG_FLIPH 0x040 /* Shape is flipped horizontally */
+#define SHAPEFLAG_FLIPV 0x080 /* Shape is flipped vertically */
+#define SHAPEFLAG_CONNECTOR 0x100 /* Connector type of shape */
+#define SHAPEFLAG_HAVEANCHOR 0x200 /* Shape has an anchor of some kind */
+#define SHAPEFLAG_BACKGROUND 0x400 /* Background shape */
+#define SHAPEFLAG_HAVESPT 0x800 /* Shape has a shape type property */
+
+#define ESCHER_ShpInst_Min 0
+#define ESCHER_ShpInst_NotPrimitive ESCHER_ShpInst_Min
+#define ESCHER_ShpInst_Rectangle 1
+#define ESCHER_ShpInst_RoundRectangle 2
+#define ESCHER_ShpInst_Ellipse 3
+#define ESCHER_ShpInst_Diamond 4
+#define ESCHER_ShpInst_IsocelesTriangle 5
+#define ESCHER_ShpInst_RightTriangle 6
+#define ESCHER_ShpInst_Parallelogram 7
+#define ESCHER_ShpInst_Trapezoid 8
+#define ESCHER_ShpInst_Hexagon 9
+#define ESCHER_ShpInst_Octagon 10
+#define ESCHER_ShpInst_Plus 11
+#define ESCHER_ShpInst_Star 12
+#define ESCHER_ShpInst_Arrow 13
+#define ESCHER_ShpInst_ThickArrow 14
+#define ESCHER_ShpInst_HomePlate 15
+#define ESCHER_ShpInst_Cube 16
+#define ESCHER_ShpInst_Balloon 17
+#define ESCHER_ShpInst_Seal 18
+#define ESCHER_ShpInst_Arc 19
+#define ESCHER_ShpInst_Line 20
+#define ESCHER_ShpInst_Plaque 21
+#define ESCHER_ShpInst_Can 22
+#define ESCHER_ShpInst_Donut 23
+#define ESCHER_ShpInst_TextSimple 24
+#define ESCHER_ShpInst_TextOctagon 25
+#define ESCHER_ShpInst_TextHexagon 26
+#define ESCHER_ShpInst_TextCurve 27
+#define ESCHER_ShpInst_TextWave 28
+#define ESCHER_ShpInst_TextRing 29
+#define ESCHER_ShpInst_TextOnCurve 30
+#define ESCHER_ShpInst_TextOnRing 31
+#define ESCHER_ShpInst_StraightConnector1 32
+#define ESCHER_ShpInst_BentConnector2 33
+#define ESCHER_ShpInst_BentConnector3 34
+#define ESCHER_ShpInst_BentConnector4 35
+#define ESCHER_ShpInst_BentConnector5 36
+#define ESCHER_ShpInst_CurvedConnector2 37
+#define ESCHER_ShpInst_CurvedConnector3 38
+#define ESCHER_ShpInst_CurvedConnector4 39
+#define ESCHER_ShpInst_CurvedConnector5 40
+#define ESCHER_ShpInst_Callout1 41
+#define ESCHER_ShpInst_Callout2 42
+#define ESCHER_ShpInst_Callout3 43
+#define ESCHER_ShpInst_AccentCallout1 44
+#define ESCHER_ShpInst_AccentCallout2 45
+#define ESCHER_ShpInst_AccentCallout3 46
+#define ESCHER_ShpInst_BorderCallout1 47
+#define ESCHER_ShpInst_BorderCallout2 48
+#define ESCHER_ShpInst_BorderCallout3 49
+#define ESCHER_ShpInst_AccentBorderCallout1 50
+#define ESCHER_ShpInst_AccentBorderCallout2 51
+#define ESCHER_ShpInst_AccentBorderCallout3 52
+#define ESCHER_ShpInst_Ribbon 53
+#define ESCHER_ShpInst_Ribbon2 54
+#define ESCHER_ShpInst_Chevron 55
+#define ESCHER_ShpInst_Pentagon 56
+#define ESCHER_ShpInst_NoSmoking 57
+#define ESCHER_ShpInst_Seal8 58
+#define ESCHER_ShpInst_Seal16 59
+#define ESCHER_ShpInst_Seal32 60
+#define ESCHER_ShpInst_WedgeRectCallout 61
+#define ESCHER_ShpInst_WedgeRRectCallout 62
+#define ESCHER_ShpInst_WedgeEllipseCallout 63
+#define ESCHER_ShpInst_Wave 64
+#define ESCHER_ShpInst_FoldedCorner 65
+#define ESCHER_ShpInst_LeftArrow 66
+#define ESCHER_ShpInst_DownArrow 67
+#define ESCHER_ShpInst_UpArrow 68
+#define ESCHER_ShpInst_LeftRightArrow 69
+#define ESCHER_ShpInst_UpDownArrow 70
+#define ESCHER_ShpInst_IrregularSeal1 71
+#define ESCHER_ShpInst_IrregularSeal2 72
+#define ESCHER_ShpInst_LightningBolt 73
+#define ESCHER_ShpInst_Heart 74
+#define ESCHER_ShpInst_PictureFrame 75
+#define ESCHER_ShpInst_QuadArrow 76
+#define ESCHER_ShpInst_LeftArrowCallout 77
+#define ESCHER_ShpInst_RightArrowCallout 78
+#define ESCHER_ShpInst_UpArrowCallout 79
+#define ESCHER_ShpInst_DownArrowCallout 80
+#define ESCHER_ShpInst_LeftRightArrowCallout 81
+#define ESCHER_ShpInst_UpDownArrowCallout 82
+#define ESCHER_ShpInst_QuadArrowCallout 83
+#define ESCHER_ShpInst_Bevel 84
+#define ESCHER_ShpInst_LeftBracket 85
+#define ESCHER_ShpInst_RightBracket 86
+#define ESCHER_ShpInst_LeftBrace 87
+#define ESCHER_ShpInst_RightBrace 88
+#define ESCHER_ShpInst_LeftUpArrow 89
+#define ESCHER_ShpInst_BentUpArrow 90
+#define ESCHER_ShpInst_BentArrow 91
+#define ESCHER_ShpInst_Seal24 92
+#define ESCHER_ShpInst_StripedRightArrow 93
+#define ESCHER_ShpInst_NotchedRightArrow 94
+#define ESCHER_ShpInst_BlockArc 95
+#define ESCHER_ShpInst_SmileyFace 96
+#define ESCHER_ShpInst_VerticalScroll 97
+#define ESCHER_ShpInst_HorizontalScroll 98
+#define ESCHER_ShpInst_CircularArrow 99
+#define ESCHER_ShpInst_NotchedCircularArrow 100
+#define ESCHER_ShpInst_UturnArrow 101
+#define ESCHER_ShpInst_CurvedRightArrow 102
+#define ESCHER_ShpInst_CurvedLeftArrow 103
+#define ESCHER_ShpInst_CurvedUpArrow 104
+#define ESCHER_ShpInst_CurvedDownArrow 105
+#define ESCHER_ShpInst_CloudCallout 106
+#define ESCHER_ShpInst_EllipseRibbon 107
+#define ESCHER_ShpInst_EllipseRibbon2 108
+#define ESCHER_ShpInst_FlowChartProcess 109
+#define ESCHER_ShpInst_FlowChartDecision 110
+#define ESCHER_ShpInst_FlowChartInputOutput 111
#define ESCHER_ShpInst_FlowChartPredefinedProcess 112
-#define ESCHER_ShpInst_FlowChartInternalStorage 113
-#define ESCHER_ShpInst_FlowChartDocument 114
-#define ESCHER_ShpInst_FlowChartMultidocument 115
-#define ESCHER_ShpInst_FlowChartTerminator 116
-#define ESCHER_ShpInst_FlowChartPreparation 117
-#define ESCHER_ShpInst_FlowChartManualInput 118
-#define ESCHER_ShpInst_FlowChartManualOperation 119
-#define ESCHER_ShpInst_FlowChartConnector 120
-#define ESCHER_ShpInst_FlowChartPunchedCard 121
-#define ESCHER_ShpInst_FlowChartPunchedTape 122
-#define ESCHER_ShpInst_FlowChartSummingJunction 123
-#define ESCHER_ShpInst_FlowChartOr 124
-#define ESCHER_ShpInst_FlowChartCollate 125
-#define ESCHER_ShpInst_FlowChartSort 126
-#define ESCHER_ShpInst_FlowChartExtract 127
-#define ESCHER_ShpInst_FlowChartMerge 128
-#define ESCHER_ShpInst_FlowChartOfflineStorage 129
-#define ESCHER_ShpInst_FlowChartOnlineStorage 130
-#define ESCHER_ShpInst_FlowChartMagneticTape 131
-#define ESCHER_ShpInst_FlowChartMagneticDisk 132
-#define ESCHER_ShpInst_FlowChartMagneticDrum 133
-#define ESCHER_ShpInst_FlowChartDisplay 134
-#define ESCHER_ShpInst_FlowChartDelay 135
-#define ESCHER_ShpInst_TextPlainText 136
-#define ESCHER_ShpInst_TextStop 137
-#define ESCHER_ShpInst_TextTriangle 138
-#define ESCHER_ShpInst_TextTriangleInverted 139
-#define ESCHER_ShpInst_TextChevron 140
-#define ESCHER_ShpInst_TextChevronInverted 141
-#define ESCHER_ShpInst_TextRingInside 142
-#define ESCHER_ShpInst_TextRingOutside 143
-#define ESCHER_ShpInst_TextArchUpCurve 144
-#define ESCHER_ShpInst_TextArchDownCurve 145
-#define ESCHER_ShpInst_TextCircleCurve 146
-#define ESCHER_ShpInst_TextButtonCurve 147
-#define ESCHER_ShpInst_TextArchUpPour 148
-#define ESCHER_ShpInst_TextArchDownPour 149
-#define ESCHER_ShpInst_TextCirclePour 150
-#define ESCHER_ShpInst_TextButtonPour 151
-#define ESCHER_ShpInst_TextCurveUp 152
-#define ESCHER_ShpInst_TextCurveDown 153
-#define ESCHER_ShpInst_TextCascadeUp 154
-#define ESCHER_ShpInst_TextCascadeDown 155
-#define ESCHER_ShpInst_TextWave1 156
-#define ESCHER_ShpInst_TextWave2 157
-#define ESCHER_ShpInst_TextWave3 158
-#define ESCHER_ShpInst_TextWave4 159
-#define ESCHER_ShpInst_TextInflate 160
-#define ESCHER_ShpInst_TextDeflate 161
-#define ESCHER_ShpInst_TextInflateBottom 162
-#define ESCHER_ShpInst_TextDeflateBottom 163
-#define ESCHER_ShpInst_TextInflateTop 164
-#define ESCHER_ShpInst_TextDeflateTop 165
-#define ESCHER_ShpInst_TextDeflateInflate 166
+#define ESCHER_ShpInst_FlowChartInternalStorage 113
+#define ESCHER_ShpInst_FlowChartDocument 114
+#define ESCHER_ShpInst_FlowChartMultidocument 115
+#define ESCHER_ShpInst_FlowChartTerminator 116
+#define ESCHER_ShpInst_FlowChartPreparation 117
+#define ESCHER_ShpInst_FlowChartManualInput 118
+#define ESCHER_ShpInst_FlowChartManualOperation 119
+#define ESCHER_ShpInst_FlowChartConnector 120
+#define ESCHER_ShpInst_FlowChartPunchedCard 121
+#define ESCHER_ShpInst_FlowChartPunchedTape 122
+#define ESCHER_ShpInst_FlowChartSummingJunction 123
+#define ESCHER_ShpInst_FlowChartOr 124
+#define ESCHER_ShpInst_FlowChartCollate 125
+#define ESCHER_ShpInst_FlowChartSort 126
+#define ESCHER_ShpInst_FlowChartExtract 127
+#define ESCHER_ShpInst_FlowChartMerge 128
+#define ESCHER_ShpInst_FlowChartOfflineStorage 129
+#define ESCHER_ShpInst_FlowChartOnlineStorage 130
+#define ESCHER_ShpInst_FlowChartMagneticTape 131
+#define ESCHER_ShpInst_FlowChartMagneticDisk 132
+#define ESCHER_ShpInst_FlowChartMagneticDrum 133
+#define ESCHER_ShpInst_FlowChartDisplay 134
+#define ESCHER_ShpInst_FlowChartDelay 135
+#define ESCHER_ShpInst_TextPlainText 136
+#define ESCHER_ShpInst_TextStop 137
+#define ESCHER_ShpInst_TextTriangle 138
+#define ESCHER_ShpInst_TextTriangleInverted 139
+#define ESCHER_ShpInst_TextChevron 140
+#define ESCHER_ShpInst_TextChevronInverted 141
+#define ESCHER_ShpInst_TextRingInside 142
+#define ESCHER_ShpInst_TextRingOutside 143
+#define ESCHER_ShpInst_TextArchUpCurve 144
+#define ESCHER_ShpInst_TextArchDownCurve 145
+#define ESCHER_ShpInst_TextCircleCurve 146
+#define ESCHER_ShpInst_TextButtonCurve 147
+#define ESCHER_ShpInst_TextArchUpPour 148
+#define ESCHER_ShpInst_TextArchDownPour 149
+#define ESCHER_ShpInst_TextCirclePour 150
+#define ESCHER_ShpInst_TextButtonPour 151
+#define ESCHER_ShpInst_TextCurveUp 152
+#define ESCHER_ShpInst_TextCurveDown 153
+#define ESCHER_ShpInst_TextCascadeUp 154
+#define ESCHER_ShpInst_TextCascadeDown 155
+#define ESCHER_ShpInst_TextWave1 156
+#define ESCHER_ShpInst_TextWave2 157
+#define ESCHER_ShpInst_TextWave3 158
+#define ESCHER_ShpInst_TextWave4 159
+#define ESCHER_ShpInst_TextInflate 160
+#define ESCHER_ShpInst_TextDeflate 161
+#define ESCHER_ShpInst_TextInflateBottom 162
+#define ESCHER_ShpInst_TextDeflateBottom 163
+#define ESCHER_ShpInst_TextInflateTop 164
+#define ESCHER_ShpInst_TextDeflateTop 165
+#define ESCHER_ShpInst_TextDeflateInflate 166
#define ESCHER_ShpInst_TextDeflateInflateDeflate 167
-#define ESCHER_ShpInst_TextFadeRight 168
-#define ESCHER_ShpInst_TextFadeLeft 169
-#define ESCHER_ShpInst_TextFadeUp 170
-#define ESCHER_ShpInst_TextFadeDown 171
-#define ESCHER_ShpInst_TextSlantUp 172
-#define ESCHER_ShpInst_TextSlantDown 173
-#define ESCHER_ShpInst_TextCanUp 174
-#define ESCHER_ShpInst_TextCanDown 175
+#define ESCHER_ShpInst_TextFadeRight 168
+#define ESCHER_ShpInst_TextFadeLeft 169
+#define ESCHER_ShpInst_TextFadeUp 170
+#define ESCHER_ShpInst_TextFadeDown 171
+#define ESCHER_ShpInst_TextSlantUp 172
+#define ESCHER_ShpInst_TextSlantDown 173
+#define ESCHER_ShpInst_TextCanUp 174
+#define ESCHER_ShpInst_TextCanDown 175
#define ESCHER_ShpInst_FlowChartAlternateProcess 176
#define ESCHER_ShpInst_FlowChartOffpageConnector 177
-#define ESCHER_ShpInst_Callout90 178
-#define ESCHER_ShpInst_AccentCallout90 179
-#define ESCHER_ShpInst_BorderCallout90 180
-#define ESCHER_ShpInst_AccentBorderCallout90 181
-#define ESCHER_ShpInst_LeftRightUpArrow 182
-#define ESCHER_ShpInst_Sun 183
-#define ESCHER_ShpInst_Moon 184
-#define ESCHER_ShpInst_BracketPair 185
-#define ESCHER_ShpInst_BracePair 186
-#define ESCHER_ShpInst_Seal4 187
-#define ESCHER_ShpInst_DoubleWave 188
-#define ESCHER_ShpInst_ActionButtonBlank 189
-#define ESCHER_ShpInst_ActionButtonHome 190
-#define ESCHER_ShpInst_ActionButtonHelp 191
-#define ESCHER_ShpInst_ActionButtonInformation 192
-#define ESCHER_ShpInst_ActionButtonForwardNext 193
-#define ESCHER_ShpInst_ActionButtonBackPrevious 194
-#define ESCHER_ShpInst_ActionButtonEnd 195
-#define ESCHER_ShpInst_ActionButtonBeginning 196
-#define ESCHER_ShpInst_ActionButtonReturn 197
-#define ESCHER_ShpInst_ActionButtonDocument 198
-#define ESCHER_ShpInst_ActionButtonSound 199
-#define ESCHER_ShpInst_ActionButtonMovie 200
-#define ESCHER_ShpInst_HostControl 201
-#define ESCHER_ShpInst_TextBox 202
-
-#define ESCHER_ShpInst_COUNT 203
-#define ESCHER_ShpInst_Max 0x0FFF
-#define ESCHER_ShpInst_Nil ESCHER_ShpInst_Max
+#define ESCHER_ShpInst_Callout90 178
+#define ESCHER_ShpInst_AccentCallout90 179
+#define ESCHER_ShpInst_BorderCallout90 180
+#define ESCHER_ShpInst_AccentBorderCallout90 181
+#define ESCHER_ShpInst_LeftRightUpArrow 182
+#define ESCHER_ShpInst_Sun 183
+#define ESCHER_ShpInst_Moon 184
+#define ESCHER_ShpInst_BracketPair 185
+#define ESCHER_ShpInst_BracePair 186
+#define ESCHER_ShpInst_Seal4 187
+#define ESCHER_ShpInst_DoubleWave 188
+#define ESCHER_ShpInst_ActionButtonBlank 189
+#define ESCHER_ShpInst_ActionButtonHome 190
+#define ESCHER_ShpInst_ActionButtonHelp 191
+#define ESCHER_ShpInst_ActionButtonInformation 192
+#define ESCHER_ShpInst_ActionButtonForwardNext 193
+#define ESCHER_ShpInst_ActionButtonBackPrevious 194
+#define ESCHER_ShpInst_ActionButtonEnd 195
+#define ESCHER_ShpInst_ActionButtonBeginning 196
+#define ESCHER_ShpInst_ActionButtonReturn 197
+#define ESCHER_ShpInst_ActionButtonDocument 198
+#define ESCHER_ShpInst_ActionButtonSound 199
+#define ESCHER_ShpInst_ActionButtonMovie 200
+#define ESCHER_ShpInst_HostControl 201
+#define ESCHER_ShpInst_TextBox 202
+#define ESCHER_ShpInst_COUNT 203
+#define ESCHER_ShpInst_Max 0x0FFF
+#define ESCHER_ShpInst_Nil ESCHER_ShpInst_Max
enum ESCHER_BlibType
{ // GEL provided types...
@@ -356,11 +355,11 @@ enum ESCHER_wMode
//
enum ESCHER_ShapePath
{
- ESCHER_ShapeLines, // A line of straight segments
- ESCHER_ShapeLinesClosed, // A closed polygonal object
- ESCHER_ShapeCurves, // A line of Bezier curve segments
- ESCHER_ShapeCurvesClosed, // A closed shape with curved edges
- ESCHER_ShapeComplex // pSegmentInfo must be non-empty
+ ESCHER_ShapeLines, // A line of straight segments
+ ESCHER_ShapeLinesClosed, // A closed polygonal object
+ ESCHER_ShapeCurves, // A line of Bezier curve segments
+ ESCHER_ShapeCurvesClosed, // A closed shape with curved edges
+ ESCHER_ShapeComplex // pSegmentInfo must be non-empty
};
@@ -376,18 +375,18 @@ enum ESCHER_WrapMode
//
enum ESCHER_bwMode
{
- ESCHER_bwColor, // only used for predefined shades
- ESCHER_bwAutomatic, // depends on object type
- ESCHER_bwGrayScale, // shades of gray only
- ESCHER_bwLightGrayScale, // shades of light gray only
- ESCHER_bwInverseGray, // dark gray mapped to light gray, etc.
- ESCHER_bwGrayOutline, // pure gray and white
- ESCHER_bwBlackTextLine, // black text and lines, all else grayscale
- ESCHER_bwHighContrast, // pure black and white mode (no grays)
- ESCHER_bwBlack, // solid black
- ESCHER_bwWhite, // solid white
- ESCHER_bwDontShow, // object not drawn
- ESCHER_bwNumModes // number of Black and white modes
+ ESCHER_bwColor, // only used for predefined shades
+ ESCHER_bwAutomatic, // depends on object type
+ ESCHER_bwGrayScale, // shades of gray only
+ ESCHER_bwLightGrayScale, // shades of light gray only
+ ESCHER_bwInverseGray, // dark gray mapped to light gray, etc.
+ ESCHER_bwGrayOutline, // pure gray and white
+ ESCHER_bwBlackTextLine, // black text and lines, all else grayscale
+ ESCHER_bwHighContrast, // pure black and white mode (no grays)
+ ESCHER_bwBlack, // solid black
+ ESCHER_bwWhite, // solid white
+ ESCHER_bwDontShow, // object not drawn
+ ESCHER_bwNumModes // number of Black and white modes
};
@@ -444,10 +443,10 @@ enum ESCHER_txDir
// Callout Type
enum ESCHER_spcot
{
- ESCHER_spcotRightAngle = 1,
- ESCHER_spcotOneSegment = 2,
- ESCHER_spcotTwoSegment = 3,
- ESCHER_spcotThreeSegment = 4
+ ESCHER_spcotRightAngle = 1,
+ ESCHER_spcotOneSegment = 2,
+ ESCHER_spcotTwoSegment = 3,
+ ESCHER_spcotThreeSegment= 4
};
// Callout Angle
@@ -473,30 +472,25 @@ enum ESCHER_spcod
// FontWork alignment
enum ESCHER_GeoTextAlign
{
- ESCHER_AlignTextStretch, /* Stretch each line of text to fit width. */
- ESCHER_AlignTextCenter, /* Center text on width. */
- ESCHER_AlignTextLeft, /* Left justify. */
- ESCHER_AlignTextRight, /* Right justify. */
- ESCHER_AlignTextLetterJust, /* Spread letters out to fit width. */
- ESCHER_AlignTextWordJust, /* Spread words out to fit width. */
- ESCHER_AlignTextInvalid /* Invalid */
+ ESCHER_AlignTextStretch, // Stretch each line of text to fit width.
+ ESCHER_AlignTextCenter, // Center text on width.
+ ESCHER_AlignTextLeft, // Left justify.
+ ESCHER_AlignTextRight, // Right justify.
+ ESCHER_AlignTextLetterJust, // Spread letters out to fit width.
+ ESCHER_AlignTextWordJust, // Spread words out to fit width.
+ ESCHER_AlignTextInvalid // Invalid
};
// flags for pictures
enum ESCHER_BlipFlags
{
ESCHER_BlipFlagDefault = 0,
- ESCHER_BlipFlagComment = 0, // Blip name is a comment
- ESCHER_BlipFlagFile, // Blip name is a file name
- ESCHER_BlipFlagURL, // Blip name is a full URL
- ESCHER_BlipFlagType = 3, // Mask to extract type
+ ESCHER_BlipFlagComment = 0, // Blip name is a comment
+ ESCHER_BlipFlagFile, // Blip name is a file name
+ ESCHER_BlipFlagURL, // Blip name is a full URL
+ ESCHER_BlipFlagType = 3, // Mask to extract type
/* Or the following flags with any of the above. */
- ESCHER_BlipFlagDontSave = 4, // A "dont" is the depression in the metal
- // body work of an automobile caused when a
- // cyclist violently thrusts his or her nose
- // at it, thus a DontSave is another name for
- // a cycle lane.
- ESCHER_BlipFlagDoNotSave = 4, // For those who prefer English
+ ESCHER_BlipFlagDoNotSave = 4,
ESCHER_BlipFlagLinkToFile = 8
};
@@ -530,20 +524,20 @@ enum ESCHER_ShadowType
// - the type of a (length) measurement
enum ESCHER_dzType
{
- ESCHER_dzTypeMin = 0,
- ESCHER_dzTypeDefault = 0, // Default size, ignore the values
- ESCHER_dzTypeA = 1, // Values are in EMUs
- ESCHER_dzTypeV = 2, // Values are in pixels
- ESCHER_dzTypeShape = 3, // Values are 16.16 fractions of shape size
- ESCHER_dzTypeFixedAspect = 4, // Aspect ratio is fixed
- ESCHER_dzTypeAFixed = 5, // EMUs, fixed aspect ratio
- ESCHER_dzTypeVFixed = 6, // Pixels, fixed aspect ratio
- ESCHER_dzTypeShapeFixed = 7, // Proportion of shape, fixed aspect ratio
+ ESCHER_dzTypeMin = 0,
+ ESCHER_dzTypeDefault = 0, // Default size, ignore the values
+ ESCHER_dzTypeA = 1, // Values are in EMUs
+ ESCHER_dzTypeV = 2, // Values are in pixels
+ ESCHER_dzTypeShape = 3, // Values are 16.16 fractions of shape size
+ ESCHER_dzTypeFixedAspect = 4, // Aspect ratio is fixed
+ ESCHER_dzTypeAFixed = 5, // EMUs, fixed aspect ratio
+ ESCHER_dzTypeVFixed = 6, // Pixels, fixed aspect ratio
+ ESCHER_dzTypeShapeFixed = 7, // Proportion of shape, fixed aspect ratio
ESCHER_dzTypeFixedAspectEnlarge= 8, // Aspect ratio is fixed, favor larger size
- ESCHER_dzTypeAFixedBig = 9, // EMUs, fixed aspect ratio
- ESCHER_dzTypeVFixedBig = 10, // Pixels, fixed aspect ratio
- ESCHER_dzTypeShapeFixedBig= 11, // Proportion of shape, fixed aspect ratio
- ESCHER_dzTypeMax = 11
+ ESCHER_dzTypeAFixedBig = 9, // EMUs, fixed aspect ratio
+ ESCHER_dzTypeVFixedBig = 10, // Pixels, fixed aspect ratio
+ ESCHER_dzTypeShapeFixedBig= 11, // Proportion of shape, fixed aspect ratio
+ ESCHER_dzTypeMax = 11
};
// how to interpret the colors in a shaded fill.
@@ -571,36 +565,36 @@ enum ESCHER_ShadeType
// compound line style
enum ESCHER_LineStyle
{
- ESCHER_LineSimple, // Single line (of width lineWidth)
- ESCHER_LineDouble, // Double lines of equal width
- ESCHER_LineThickThin, // Double lines, one thick, one thin
- ESCHER_LineThinThick, // Double lines, reverse order
- ESCHER_LineTriple // Three lines, thin, thick, thin
+ ESCHER_LineSimple, // Single line (of width lineWidth)
+ ESCHER_LineDouble, // Double lines of equal width
+ ESCHER_LineThickThin, // Double lines, one thick, one thin
+ ESCHER_LineThinThick, // Double lines, reverse order
+ ESCHER_LineTriple // Three lines, thin, thick, thin
};
// how to "fill" the line contour
enum ESCHER_LineType
{
- ESCHER_lineSolidType, // Fill with a solid color
- ESCHER_linePattern, // Fill with a pattern (bitmap)
- ESCHER_lineTexture, // A texture (pattern with its own color map)
- ESCHER_linePicture // Center a picture in the shape
+ ESCHER_lineSolidType, // Fill with a solid color
+ ESCHER_linePattern, // Fill with a pattern (bitmap)
+ ESCHER_lineTexture, // A texture (pattern with its own color map)
+ ESCHER_linePicture // Center a picture in the shape
};
// dashed line style
enum ESCHER_LineDashing
{
- ESCHER_LineSolid, // Solid (continuous) pen
- ESCHER_LineDashSys, // PS_DASH system dash style
- ESCHER_LineDotSys, // PS_DOT system dash style
- ESCHER_LineDashDotSys, // PS_DASHDOT system dash style
- ESCHER_LineDashDotDotSys, // PS_DASHDOTDOT system dash style
- ESCHER_LineDotGEL, // square dot style
- ESCHER_LineDashGEL, // dash style
- ESCHER_LineLongDashGEL, // long dash style
- ESCHER_LineDashDotGEL, // dash short dash
- ESCHER_LineLongDashDotGEL, // long dash short dash
- ESCHER_LineLongDashDotDotGEL // long dash short dash short dash
+ ESCHER_LineSolid, // Solid (continuous) pen
+ ESCHER_LineDashSys, // PS_DASH system dash style
+ ESCHER_LineDotSys, // PS_DOT system dash style
+ ESCHER_LineDashDotSys, // PS_DASHDOT system dash style
+ ESCHER_LineDashDotDotSys, // PS_DASHDOTDOT system dash style
+ ESCHER_LineDotGEL, // square dot style
+ ESCHER_LineDashGEL, // dash style
+ ESCHER_LineLongDashGEL, // long dash style
+ ESCHER_LineDashDotGEL, // dash short dash
+ ESCHER_LineLongDashDotGEL, // long dash short dash
+ ESCHER_LineLongDashDotDotGEL // long dash short dash short dash
};
// line end effect
@@ -645,6 +639,7 @@ enum ESCHER_LineCap
ESCHER_LineEndCapSquare, // Square protrudes by half line width
ESCHER_LineEndCapFlat // Line ends at end point
};
+
// Shape Properties
// 1pt = 12700 EMU (English Metric Units)
// 1pt = 20 Twip = 20/1440" = 1/72"
@@ -1000,6 +995,7 @@ struct MSFILTER_DLLPUBLIC EscherExContainer
EscherExContainer( SvStream& rSt, const sal_uInt16 nRecType, const sal_uInt16 nInstance = 0 );
~EscherExContainer();
};
+
struct MSFILTER_DLLPUBLIC EscherExAtom
{
sal_uInt32 nContPos;
@@ -1011,15 +1007,17 @@ struct MSFILTER_DLLPUBLIC EscherExAtom
struct EscherPropertyValueHelper
{
- static sal_Bool GetPropertyValue(
- ::com::sun::star::uno::Any& rAny,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > &,
- const String& rPropertyName,
- sal_Bool bTestPropertyAvailability = sal_False );
-
- static ::com::sun::star::beans::PropertyState GetPropertyState(
- const ::com::sun::star::uno::Reference < ::com::sun::star::beans::XPropertySet > &,
- const String& rPropertyName );
+ static sal_Bool GetPropertyValue(
+ ::com::sun::star::uno::Any& rAny,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > &,
+ const String& rPropertyName,
+ sal_Bool bTestPropertyAvailability = sal_False
+ );
+
+ static ::com::sun::star::beans::PropertyState GetPropertyState(
+ const ::com::sun::star::uno::Reference < ::com::sun::star::beans::XPropertySet > &,
+ const String& rPropertyName
+ );
};
// ---------------------------------------------------------------------------------------------
@@ -1028,7 +1026,8 @@ struct EscherPersistEntry
{
sal_uInt32 mnID;
sal_uInt32 mnOffset;
- EscherPersistEntry( sal_uInt32 nId, sal_uInt32 nOffset ) { mnID = nId; mnOffset = nOffset; };
+
+ EscherPersistEntry( sal_uInt32 nId, sal_uInt32 nOffset ) { mnID = nId; mnOffset = nOffset; };
};
@@ -1037,37 +1036,41 @@ struct EscherPersistEntry
class EscherBlibEntry
{
- friend class EscherGraphicProvider;
- friend class EscherEx;
+ friend class EscherGraphicProvider;
+ friend class EscherEx;
- protected:
+protected:
- sal_uInt32 mnIdentifier[ 4 ];
- sal_uInt32 mnPictureOffset; // offset auf die grafik im PictureStreams
- sal_uInt32 mnSize; // size of real graphic
+ sal_uInt32 mnIdentifier[ 4 ];
+ sal_uInt32 mnPictureOffset; // offset auf die grafik im PictureStreams
+ sal_uInt32 mnSize; // size of real graphic
- sal_uInt32 mnRefCount; // !! reference count
- sal_uInt32 mnSizeExtra; // !! size of preceding header
+ sal_uInt32 mnRefCount; // !! reference count
+ sal_uInt32 mnSizeExtra; // !! size of preceding header
- ESCHER_BlibType meBlibType;
+ ESCHER_BlibType meBlibType;
- Size maPrefSize;
- MapMode maPrefMapMode;
+ Size maPrefSize;
+ MapMode maPrefMapMode;
- sal_Bool mbIsEmpty;
- sal_Bool mbIsNativeGraphicPossible;
+ sal_Bool mbIsEmpty;
+ sal_Bool mbIsNativeGraphicPossible;
- public:
+public:
- EscherBlibEntry( sal_uInt32 nPictureOffset, const GraphicObject& rObj,
- const ByteString& rId, const GraphicAttr* pAttr = NULL );
+ EscherBlibEntry(
+ sal_uInt32 nPictureOffset,
+ const GraphicObject& rObj,
+ const ByteString& rId,
+ const GraphicAttr* pAttr = NULL
+ );
- ~EscherBlibEntry();
+ ~EscherBlibEntry();
- void WriteBlibEntry( SvStream& rSt, sal_Bool bWritePictureOffset, sal_uInt32 nResize = 0 );
- sal_Bool IsEmpty() const { return mbIsEmpty; };
+ void WriteBlibEntry( SvStream& rSt, sal_Bool bWritePictureOffset, sal_uInt32 nResize = 0 );
+ sal_Bool IsEmpty() const { return mbIsEmpty; };
- sal_Bool operator==( const EscherBlibEntry& ) const;
+ sal_Bool operator==( const EscherBlibEntry& ) const;
};
// ---------------------------------------------------------------------------------------------
@@ -1077,55 +1080,72 @@ class EscherBlibEntry
class MSFILTER_DLLPUBLIC EscherGraphicProvider
{
- sal_uInt32 mnFlags;
+ sal_uInt32 mnFlags;
- EscherBlibEntry** mpBlibEntrys;
- sal_uInt32 mnBlibBufSize;
- sal_uInt32 mnBlibEntrys;
+ EscherBlibEntry** mpBlibEntrys;
+ sal_uInt32 mnBlibBufSize;
+ sal_uInt32 mnBlibEntrys;
- protected :
+protected:
- sal_uInt32 ImplInsertBlib( EscherBlibEntry* p_EscherBlibEntry );
+ sal_uInt32 ImplInsertBlib( EscherBlibEntry* p_EscherBlibEntry );
- public :
+public:
- sal_uInt32 GetBlibStoreContainerSize( SvStream* pMergePicStreamBSE = NULL ) const;
- void WriteBlibStoreContainer( SvStream& rStrm, SvStream* pMergePicStreamBSE = NULL );
- sal_Bool WriteBlibStoreEntry(SvStream& rStrm, sal_uInt32 nBlipId,
- sal_Bool bWritePictureOffset, sal_uInt32 nResize = 0);
- sal_uInt32 GetBlibID( SvStream& rPicOutStream, const ByteString& rGraphicId, const Rectangle& rBoundRect,
- const com::sun::star::awt::Rectangle* pVisArea = NULL, const GraphicAttr* pGrafikAttr = NULL );
- sal_Bool HasGraphics() const { return mnBlibEntrys != 0; };
+ sal_uInt32 GetBlibStoreContainerSize( SvStream* pMergePicStreamBSE = NULL ) const;
+ void WriteBlibStoreContainer( SvStream& rStrm, SvStream* pMergePicStreamBSE = NULL );
+ sal_Bool WriteBlibStoreEntry(SvStream& rStrm, sal_uInt32 nBlipId,
+ sal_Bool bWritePictureOffset, sal_uInt32 nResize = 0);
+ sal_uInt32 GetBlibID(
+ SvStream& rPicOutStream,
+ const ByteString& rGraphicId,
+ const Rectangle& rBoundRect,
+ const com::sun::star::awt::Rectangle* pVisArea = NULL,
+ const GraphicAttr* pGrafikAttr = NULL
+ );
+ sal_Bool HasGraphics() const { return mnBlibEntrys != 0; };
- void SetNewBlipStreamOffset( sal_Int32 nOffset );
+ void SetNewBlipStreamOffset( sal_Int32 nOffset );
- sal_Bool GetPrefSize( const sal_uInt32 nBlibId, Size& rSize, MapMode& rMapMode );
+ sal_Bool GetPrefSize( const sal_uInt32 nBlibId, Size& rSize, MapMode& rMapMode );
- EscherGraphicProvider( sal_uInt32 nFlags = _E_GRAPH_PROV_DO_NOT_ROTATE_METAFILES );
- ~EscherGraphicProvider();
+ EscherGraphicProvider( sal_uInt32 nFlags = _E_GRAPH_PROV_DO_NOT_ROTATE_METAFILES );
+ ~EscherGraphicProvider();
};
+class EscherShapeListEntry;
+typedef ::std::vector< EscherShapeListEntry* > EscherShapeList_impl;
+typedef ::std::vector< EscherConnectorListEntry* > EscherConnectorList_impl;
+
class MSFILTER_DLLPUBLIC EscherSolverContainer
{
- List maShapeList;
- List maConnectorList;
+ EscherShapeList_impl maShapeList;
+ EscherConnectorList_impl maConnectorList;
public:
- sal_uInt32 GetShapeId( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rShape ) const;
+ sal_uInt32 GetShapeId(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rShape
+ ) const;
+
+ void AddShape(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > &,
+ sal_uInt32 nId
+ );
- void AddShape( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > &, sal_uInt32 nId );
- void AddConnector( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > &,
- const ::com::sun::star::awt::Point& rA,
- ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > &,
- const ::com::sun::star::awt::Point& rB,
- ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rConB );
+ void AddConnector(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > &,
+ const ::com::sun::star::awt::Point& rA,
+ ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > &,
+ const ::com::sun::star::awt::Point& rB,
+ ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rConB
+ );
- void WriteSolver( SvStream& );
+ void WriteSolver( SvStream& );
- EscherSolverContainer(){};
- ~EscherSolverContainer();
+ EscherSolverContainer(){};
+ ~EscherSolverContainer();
};
// ---------------------------------------------------------------------------------------------
@@ -1149,129 +1169,197 @@ typedef std::vector< EscherPropSortStruct > EscherProperties;
class MSFILTER_DLLPUBLIC EscherPropertyContainer
{
- EscherGraphicProvider* pGraphicProvider;
- SvStream* pPicOutStrm;
- Rectangle* pShapeBoundRect;
-
- EscherPropSortStruct* pSortStruct;
-
- sal_uInt32 nSortCount;
- sal_uInt32 nSortBufSize;
- sal_uInt32 nCountCount;
- sal_uInt32 nCountSize;
-
- sal_Bool bHasComplexData;
- sal_Bool bSuppressRotation;
-
-
- sal_uInt32 ImplGetColor( const sal_uInt32 rColor, sal_Bool bSwap = sal_True );
- void ImplCreateGraphicAttributes( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > & rXPropSet,
- sal_uInt32 nBlibId, sal_Bool bCreateCroppingAttributes );
- sal_Bool ImplCreateEmbeddedBmp( const ByteString& rUniqueId );
- void ImplInit();
-
- public :
+ EscherGraphicProvider* pGraphicProvider;
+ SvStream* pPicOutStrm;
+ Rectangle* pShapeBoundRect;
- EscherPropertyContainer();
- EscherPropertyContainer(
- EscherGraphicProvider& rGraphicProvider, // the PropertyContainer needs to know
- SvStream* pPicOutStrm, // the GraphicProvider to be able to write
- Rectangle& rShapeBoundRect ); // FillBitmaps or GraphicObjects.
- // under some cirumstances the ShapeBoundRect is adjusted
- // this will happen when rotated GraphicObjects
- // are saved to PowerPoint
- ~EscherPropertyContainer();
+ EscherPropSortStruct* pSortStruct;
- void AddOpt( sal_uInt16 nPropertyID, const rtl::OUString& rString );
+ sal_uInt32 nSortCount;
+ sal_uInt32 nSortBufSize;
+ sal_uInt32 nCountCount;
+ sal_uInt32 nCountSize;
- void AddOpt( sal_uInt16 nPropertyID, sal_uInt32 nPropValue,
- sal_Bool bBlib = sal_False );
+ sal_Bool bHasComplexData;
+ sal_Bool bSuppressRotation;
- void AddOpt( sal_uInt16 nPropertyID, sal_Bool bBlib, sal_uInt32 nPropValue,
- sal_uInt8* pProp, sal_uInt32 nPropSize );
- sal_Bool GetOpt( sal_uInt16 nPropertyID, sal_uInt32& rPropValue ) const;
+ sal_uInt32 ImplGetColor( const sal_uInt32 rColor, sal_Bool bSwap = sal_True );
+ void ImplCreateGraphicAttributes(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > & rXPropSet,
+ sal_uInt32 nBlibId,
+ sal_Bool bCreateCroppingAttributes
+ );
+ sal_Bool ImplCreateEmbeddedBmp( const ByteString& rUniqueId );
+ void ImplInit();
- sal_Bool GetOpt( sal_uInt16 nPropertyID, EscherPropSortStruct& rPropValue ) const;
-
- EscherProperties GetOpts() const;
-
- void Commit( SvStream& rSt, sal_uInt16 nVersion = 3, sal_uInt16 nRecType = ESCHER_OPT );
-
- sal_Bool CreateShapeProperties( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rXShape );
- sal_Bool CreateOLEGraphicProperties( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rXOleObject );
+public:
- /** Creates a complex ESCHER_Prop_fillBlip containing the BLIP directly (for Excel charts). */
- sal_Bool CreateEmbeddedBitmapProperties( const ::rtl::OUString& rBitmapUrl,
- ::com::sun::star::drawing::BitmapMode eBitmapMode );
- /** Creates a complex ESCHER_Prop_fillBlip containing a hatch style (for Excel charts). */
- sal_Bool CreateEmbeddedHatchProperties( const ::com::sun::star::drawing::Hatch& rHatch,
- const Color& rBackColor, bool bFillBackground );
+ EscherPropertyContainer();
+ EscherPropertyContainer(
+ EscherGraphicProvider& rGraphicProvider, // the PropertyContainer needs to know
+ SvStream* pPicOutStrm, // the GraphicProvider to be able to write
+ Rectangle& rShapeBoundRect // FillBitmaps or GraphicObjects.
+ ); // under some circumstances the ShapeBoundRect
+ // is adjusted this will happen when rotated
+ // GraphicObjects are saved to PowerPoint
+ ~EscherPropertyContainer();
+
+ void AddOpt( sal_uInt16 nPropertyID, const rtl::OUString& rString );
+
+ void AddOpt(
+ sal_uInt16 nPropertyID,
+ sal_uInt32 nPropValue,
+ sal_Bool bBlib = sal_False
+ );
+
+ void AddOpt(
+ sal_uInt16 nPropertyID,
+ sal_Bool bBlib,
+ sal_uInt32 nPropValue,
+ sal_uInt8* pProp,
+ sal_uInt32 nPropSize
+ );
+
+ sal_Bool GetOpt( sal_uInt16 nPropertyID, sal_uInt32& rPropValue ) const;
+
+ sal_Bool GetOpt( sal_uInt16 nPropertyID, EscherPropSortStruct& rPropValue ) const;
+
+ EscherProperties GetOpts() const;
+
+ void Commit( SvStream& rSt, sal_uInt16 nVersion = 3, sal_uInt16 nRecType = ESCHER_OPT );
+
+ sal_Bool CreateShapeProperties(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rXShape
+ );
+ sal_Bool CreateOLEGraphicProperties(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rXOleObject
+ );
+
+ /** Creates a complex ESCHER_Prop_fillBlip containing the BLIP directly (for Excel charts). */
+ sal_Bool CreateEmbeddedBitmapProperties(
+ const ::rtl::OUString& rBitmapUrl,
+ ::com::sun::star::drawing::BitmapMode eBitmapMode
+ );
+ /** Creates a complex ESCHER_Prop_fillBlip containing a hatch style (for Excel charts). */
+ sal_Bool CreateEmbeddedHatchProperties(
+ const ::com::sun::star::drawing::Hatch& rHatch,
+ const Color& rBackColor,
+ bool bFillBackground
+ );
// the GraphicProperties will only be created if a GraphicProvider and PicOutStrm is known
// DR: #99897# if no GraphicProvider is present, a complex ESCHER_Prop_fillBlip
// will be created, containing the BLIP directly (e.g. for Excel charts).
- sal_Bool CreateGraphicProperties( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > & rXPropSet,
- const String& rSource, const sal_Bool bCreateFillBitmap, const sal_Bool bCreateCroppingAttributes = sal_False,
- const sal_Bool bFillBitmapModeAllowed = sal_True );
-
- sal_Bool CreatePolygonProperties( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > & rXPropSet,
- sal_uInt32 nFlags, sal_Bool bBezier, ::com::sun::star::awt::Rectangle& rGeoRect, Polygon* pPolygon = NULL );
-
- static sal_uInt32 GetGradientColor( const ::com::sun::star::awt::Gradient* pGradient, sal_uInt32 nStartColor );
-
- void CreateGradientProperties( const ::com::sun::star::awt::Gradient & rGradient );
- void CreateGradientProperties( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > & );
- void CreateLineProperties( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > &, sal_Bool bEdge );
- void CreateFillProperties( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > &, sal_Bool bEdge );
- void CreateTextProperties( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > &, sal_uInt32 nText,
- const sal_Bool bIsCustomShape = sal_False, const sal_Bool bIsTextFrame = sal_True );
-
- sal_Bool CreateConnectorProperties( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rXShape,
- EscherSolverContainer& rSolver, ::com::sun::star::awt::Rectangle& rGeoRect,
- sal_uInt16& rShapeType, sal_uInt16& rShapeFlags );
-
- // Because shadow properties depends to the line and fillstyle, the CreateShadowProperties method should be called at last.
- // It activ only when at least a FillStyle or LineStyle is set.
- sal_Bool CreateShadowProperties( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > & );
+ sal_Bool CreateGraphicProperties(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > & rXPropSet,
+ const String& rSource,
+ const sal_Bool bCreateFillBitmap,
+ const sal_Bool bCreateCroppingAttributes = sal_False,
+ const sal_Bool bFillBitmapModeAllowed = sal_True
+ );
+
+ sal_Bool CreatePolygonProperties(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > & rXPropSet,
+ sal_uInt32 nFlags,
+ sal_Bool bBezier,
+ ::com::sun::star::awt::Rectangle& rGeoRect,
+ Polygon* pPolygon = NULL
+ );
+
+ static sal_uInt32 GetGradientColor(
+ const ::com::sun::star::awt::Gradient* pGradient,
+ sal_uInt32 nStartColor
+ );
+
+ void CreateGradientProperties( const ::com::sun::star::awt::Gradient & rGradient );
+ void CreateGradientProperties(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > &
+ );
+ void CreateLineProperties(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > &,
+ sal_Bool bEdge
+ );
+ void CreateFillProperties( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > &, sal_Bool bEdge );
+ void CreateTextProperties(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > &,
+ sal_uInt32 nText,
+ const sal_Bool bIsCustomShape = sal_False,
+ const sal_Bool bIsTextFrame = sal_True
+ );
+
+ sal_Bool CreateConnectorProperties(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rXShape,
+ EscherSolverContainer& rSolver,
+ ::com::sun::star::awt::Rectangle& rGeoRect,
+ sal_uInt16& rShapeType,
+ sal_uInt16& rShapeFlags
+ );
+
+ // Because shadow properties depends to the line and fillstyle, the CreateShadowProperties method should be called at last.
+ // It activ only when at least a FillStyle or LineStyle is set.
+ sal_Bool CreateShadowProperties(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > &
+ );
// creates all necessary CustomShape properties, this includes also Text-, Shadow-, Fill-, and LineProperties
- void CreateCustomShapeProperties( const MSO_SPT eShapeType, const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & );
- sal_Bool IsFontWork() const;
-
- // helper functions which are also used by the escher import
- static PolyPolygon GetPolyPolygon( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rXShape );
- static PolyPolygon GetPolyPolygon( const ::com::sun::star::uno::Any& rSource );
- static MSO_SPT GetCustomShapeType( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rXShape, sal_uInt32& nMirrorFlags );
- static MSO_SPT GetCustomShapeType( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rXShape, sal_uInt32& nMirrorFlags, rtl::OUString& rShapeType );
+ void CreateCustomShapeProperties(
+ const MSO_SPT eShapeType,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > &
+ );
+ sal_Bool IsFontWork() const;
+
+ // helper functions which are also used by the escher import
+ static PolyPolygon GetPolyPolygon(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rXShape
+ );
+ static PolyPolygon GetPolyPolygon( const ::com::sun::star::uno::Any& rSource );
+ static MSO_SPT GetCustomShapeType(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rXShape,
+ sal_uInt32& nMirrorFlags
+ );
+ static MSO_SPT GetCustomShapeType(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rXShape,
+ sal_uInt32& nMirrorFlags,
+ rtl::OUString& rShapeType
+ );
// helper functions which are also used in ooxml export
- static sal_Bool GetLineArrow( const sal_Bool bLineStart,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > & rXPropSet,
- ESCHER_LineEnd& reLineEnd, sal_Int32& rnArrowLength, sal_Int32& rnArrowWidth );
- static sal_Bool IsDefaultObject( SdrObjCustomShape* pCustoShape );
- static void LookForPolarHandles( const MSO_SPT eShapeType, sal_Int32& nAdjustmentsWhichNeedsToBeConverted );
- static sal_Bool GetAdjustmentValue( const com::sun::star::drawing::EnhancedCustomShapeAdjustmentValue & rkProp, sal_Int32 nIndex, sal_Int32 nAdjustmentsWhichNeedsToBeConverted, sal_Int32& nValue );
+ static sal_Bool GetLineArrow(
+ const sal_Bool bLineStart,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > & rXPropSet,
+ ESCHER_LineEnd& reLineEnd,
+ sal_Int32& rnArrowLength,
+ sal_Int32& rnArrowWidth
+ );
+ static sal_Bool IsDefaultObject( SdrObjCustomShape* pCustoShape );
+ static void LookForPolarHandles(
+ const MSO_SPT eShapeType,
+ sal_Int32& nAdjustmentsWhichNeedsToBeConverted
+ );
+ static sal_Bool GetAdjustmentValue( const com::sun::star::drawing::EnhancedCustomShapeAdjustmentValue & rkProp, sal_Int32 nIndex, sal_Int32 nAdjustmentsWhichNeedsToBeConverted, sal_Int32& nValue );
};
// ---------------------------------------------------------------------------------------------
+typedef ::std::vector< EscherPersistEntry* > EscherPersistTable_impl;
+
class MSFILTER_DLLPUBLIC EscherPersistTable
{
- public:
- List maPersistTable;
+public:
+ EscherPersistTable_impl maPersistTable;
- sal_Bool PtIsID( sal_uInt32 nID );
- void PtInsert( sal_uInt32 nID, sal_uInt32 nOfs );
- sal_uInt32 PtDelete( sal_uInt32 nID );
- sal_uInt32 PtGetOffsetByID( sal_uInt32 nID );
- sal_uInt32 PtReplace( sal_uInt32 nID, sal_uInt32 nOfs );
- sal_uInt32 PtReplaceOrInsert( sal_uInt32 nID, sal_uInt32 nOfs );
- sal_uInt32 PtGetCount() const { return maPersistTable.Count(); };
+ sal_Bool PtIsID( sal_uInt32 nID );
+ void PtInsert( sal_uInt32 nID, sal_uInt32 nOfs );
+ sal_uInt32 PtDelete( sal_uInt32 nID );
+ sal_uInt32 PtGetOffsetByID( sal_uInt32 nID );
+ sal_uInt32 PtReplace( sal_uInt32 nID, sal_uInt32 nOfs );
+ sal_uInt32 PtReplaceOrInsert( sal_uInt32 nID, sal_uInt32 nOfs );
+ sal_uInt32 PtGetCount() const { return maPersistTable.size(); };
EscherPersistTable();
- virtual ~EscherPersistTable();
+ virtual ~EscherPersistTable();
};
// ---------------------------------------------------------------------------------------------
@@ -1311,6 +1399,7 @@ class InteractionInfo
bool mbHasInteraction;
std::auto_ptr<SvMemoryStream> mpHyperlinkRecord;
InteractionInfo();
+
public:
InteractionInfo( SvMemoryStream* pStream, bool bInteraction ) : mbHasInteraction( bInteraction )
{
@@ -1489,8 +1578,7 @@ public:
/** Returns the graphic provider from the global object that has been
passed to the constructor.
*/
- inline EscherGraphicProvider&
- GetGraphicProvider() { return *mxGlobal; }
+ inline EscherGraphicProvider& GetGraphicProvider() { return *mxGlobal; }
/** Called if a picture shall be written and no picture stream is set at
class ImplEscherExSdr.
@@ -1522,19 +1610,19 @@ public:
current stream position are always expanded to include the inserted
data.
*/
- void InsertAtCurrentPos( sal_uInt32 nBytes, bool bExpandEndOfAtom );
+ void InsertAtCurrentPos( sal_uInt32 nBytes, bool bExpandEndOfAtom );
- void InsertPersistOffset( sal_uInt32 nKey, sal_uInt32 nOffset ); // Es wird nicht geprueft, ob sich jener schluessel schon in der PersistantTable befindet
- void ReplacePersistOffset( sal_uInt32 nKey, sal_uInt32 nOffset );
- sal_uInt32 GetPersistOffset( sal_uInt32 nKey );
- sal_Bool SeekToPersistOffset( sal_uInt32 nKey );
- virtual sal_Bool InsertAtPersistOffset( sal_uInt32 nKey, sal_uInt32 nValue );// nValue wird im Stream an entrsprechender Stelle eingefuegt(overwrite modus), ohne dass sich die
+ void InsertPersistOffset( sal_uInt32 nKey, sal_uInt32 nOffset ); // Es wird nicht geprueft, ob sich jener schluessel schon in der PersistantTable befindet
+ void ReplacePersistOffset( sal_uInt32 nKey, sal_uInt32 nOffset );
+ sal_uInt32 GetPersistOffset( sal_uInt32 nKey );
+ sal_Bool SeekToPersistOffset( sal_uInt32 nKey );
+ virtual sal_Bool InsertAtPersistOffset( sal_uInt32 nKey, sal_uInt32 nValue );// nValue wird im Stream an entrsprechender Stelle eingefuegt(overwrite modus), ohne dass sich die
// aktuelle StreamPosition aendert
- SvStream& GetStream() const { return *mpOutStrm; }
- sal_uLong GetStreamPos() const { return mpOutStrm->Tell(); }
+ SvStream& GetStream() const { return *mpOutStrm; }
+ sal_uLong GetStreamPos() const { return mpOutStrm->Tell(); }
- virtual sal_Bool SeekBehindRecHeader( sal_uInt16 nRecType ); // der stream muss vor einem gueltigen Record Header oder Atom stehen
+ virtual sal_Bool SeekBehindRecHeader( sal_uInt16 nRecType ); // der stream muss vor einem gueltigen Record Header oder Atom stehen
// features beim erzeugen folgender Container:
//
@@ -1543,42 +1631,42 @@ public:
// ESCHER_SpgrContainer:
// ESCHER_SpContainer:
- virtual void OpenContainer( sal_uInt16 nEscherContainer, int nRecInstance = 0 );
- virtual void CloseContainer();
+ virtual void OpenContainer( sal_uInt16 nEscherContainer, int nRecInstance = 0 );
+ virtual void CloseContainer();
- virtual void BeginAtom();
- virtual void EndAtom( sal_uInt16 nRecType, int nRecVersion = 0, int nRecInstance = 0 );
- virtual void AddAtom( sal_uInt32 nAtomSitze, sal_uInt16 nRecType, int nRecVersion = 0, int nRecInstance = 0 );
- virtual void AddChildAnchor( const Rectangle& rRectangle );
- virtual void AddClientAnchor( const Rectangle& rRectangle );
+ virtual void BeginAtom();
+ virtual void EndAtom( sal_uInt16 nRecType, int nRecVersion = 0, int nRecInstance = 0 );
+ virtual void AddAtom( sal_uInt32 nAtomSitze, sal_uInt16 nRecType, int nRecVersion = 0, int nRecInstance = 0 );
+ virtual void AddChildAnchor( const Rectangle& rRectangle );
+ virtual void AddClientAnchor( const Rectangle& rRectangle );
- virtual sal_uInt32 EnterGroup( const String& rShapeName, const Rectangle* pBoundRect = 0 );
- sal_uInt32 EnterGroup( const Rectangle* pBoundRect = NULL );
- sal_uInt32 GetGroupLevel() const { return mnGroupLevel; };
- virtual sal_Bool SetGroupSnapRect( sal_uInt32 nGroupLevel, const Rectangle& rRect );
- virtual sal_Bool SetGroupLogicRect( sal_uInt32 nGroupLevel, const Rectangle& rRect );
- virtual void LeaveGroup();
+ virtual sal_uInt32 EnterGroup( const String& rShapeName, const Rectangle* pBoundRect = 0 );
+ sal_uInt32 EnterGroup( const Rectangle* pBoundRect = NULL );
+ sal_uInt32 GetGroupLevel() const { return mnGroupLevel; };
+ virtual sal_Bool SetGroupSnapRect( sal_uInt32 nGroupLevel, const Rectangle& rRect );
+ virtual sal_Bool SetGroupLogicRect( sal_uInt32 nGroupLevel, const Rectangle& rRect );
+ virtual void LeaveGroup();
// ein ESCHER_Sp wird geschrieben ( Ein ESCHER_DgContainer muss dazu geoeffnet sein !!)
- virtual void AddShape( sal_uInt32 nShpInstance, sal_uInt32 nFlagIds, sal_uInt32 nShapeID = 0 );
+ virtual void AddShape( sal_uInt32 nShpInstance, sal_uInt32 nFlagIds, sal_uInt32 nShapeID = 0 );
- virtual void Commit( EscherPropertyContainer& rProps, const Rectangle& rRect );
+ virtual void Commit( EscherPropertyContainer& rProps, const Rectangle& rRect );
- sal_uInt32 GetColor( const sal_uInt32 nColor, sal_Bool bSwap = sal_True );
- sal_uInt32 GetColor( const Color& rColor, sal_Bool bSwap = sal_True );
+ sal_uInt32 GetColor( const sal_uInt32 nColor, sal_Bool bSwap = sal_True );
+ sal_uInt32 GetColor( const Color& rColor, sal_Bool bSwap = sal_True );
// ...Sdr... implemented in eschesdo.cxx
- void AddSdrPage( const SdrPage& rPage );
- void AddUnoShapes( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& rxShapes );
+ void AddSdrPage( const SdrPage& rPage );
+ void AddUnoShapes( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& rxShapes );
/// returns the ShapeID
- sal_uInt32 AddSdrObject( const SdrObject& rObj );
+ sal_uInt32 AddSdrObject( const SdrObject& rObj );
/// If objects are written through AddSdrObject the
/// SolverContainer has to be written, and maybe some
/// maintenance to be done.
- void EndSdrObjectPage();
+ void EndSdrObjectPage();
/// Called before a shape is written, application supplies
/// ClientRecords. May set AppData::bDontWriteShape so the
diff --git a/filter/inc/filter/msfilter/msdffimp.hxx b/filter/inc/filter/msfilter/msdffimp.hxx
index 81b4403f3938..e51791ec5b6c 100644
--- a/filter/inc/filter/msfilter/msdffimp.hxx
+++ b/filter/inc/filter/msfilter/msdffimp.hxx
@@ -44,6 +44,7 @@
#include <com/sun/star/beans/XPropertySet.hpp>
#include <filter/msfilter/msfilterdllapi.h>
#include <sot/storage.hxx>
+#include <vector>
class Graphic;
class SvStream;
@@ -66,7 +67,7 @@ class MSFILTER_DLLPUBLIC DffRecordHeader
{
public:
- sal_uInt8 nRecVer; // may be DFF_PSFLAG_CONTAINER
+ sal_uInt8 nRecVer; // may be DFF_PSFLAG_CONTAINER
sal_uInt16 nRecInstance;
sal_uInt16 nImpVerInst;
sal_uInt16 nRecType;
@@ -74,12 +75,23 @@ public:
sal_uLong nFilePos;
public:
DffRecordHeader() : nRecVer(0), nRecInstance(0), nImpVerInst(0), nRecType(0), nRecLen(0), nFilePos(0) {}
- bool IsContainer() const { return nRecVer == DFF_PSFLAG_CONTAINER; }
- sal_uLong GetRecBegFilePos() const { return nFilePos; }
- sal_uLong GetRecEndFilePos() const { return nFilePos + DFF_COMMON_RECORD_HEADER_SIZE + nRecLen; }
- void SeekToEndOfRecord(SvStream& rIn) const { rIn.Seek(nFilePos + DFF_COMMON_RECORD_HEADER_SIZE + nRecLen ); }
- void SeekToContent( SvStream& rIn) const { rIn.Seek(nFilePos + DFF_COMMON_RECORD_HEADER_SIZE ); }
- void SeekToBegOfRecord(SvStream& rIn) const { rIn.Seek( nFilePos ); }
+ bool IsContainer() const { return nRecVer == DFF_PSFLAG_CONTAINER; }
+ sal_uLong GetRecBegFilePos() const { return nFilePos; }
+ sal_uLong GetRecEndFilePos() const { return nFilePos + DFF_COMMON_RECORD_HEADER_SIZE + nRecLen; }
+ bool SeekToEndOfRecord(SvStream& rIn) const
+ {
+ sal_Size nPos = nFilePos + DFF_COMMON_RECORD_HEADER_SIZE + nRecLen;
+ return nPos == rIn.Seek(nPos);
+ }
+ bool SeekToContent(SvStream& rIn) const
+ {
+ sal_Size nPos = nFilePos + DFF_COMMON_RECORD_HEADER_SIZE;
+ return nPos == rIn.Seek(nPos);
+ }
+ bool SeekToBegOfRecord(SvStream& rIn) const
+ {
+ return nFilePos == rIn.Seek(nFilePos);
+ }
MSFILTER_DLLPUBLIC friend SvStream& operator>>(SvStream& rIn, DffRecordHeader& rRec);
@@ -97,28 +109,31 @@ class SvxMSDffManager;
class MSFILTER_DLLPUBLIC DffPropSet : public Table
{
- protected :
+protected:
- sal_uInt32 mpContents[ 1024 ];
- DffPropFlags mpFlags[ 1024 ];
+ sal_uInt32 mpContents[ 1024 ];
+ DffPropFlags mpFlags[ 1024 ];
- public :
+public:
- DffPropSet( sal_Bool bInitialize = sal_False ){ if ( bInitialize )
- memset( mpFlags, 0, 0x400 * sizeof( DffPropFlags ) ); };
-
- inline sal_Bool IsProperty( sal_uInt32 nRecType ) const { return ( mpFlags[ nRecType & 0x3ff ].bSet ); };
- sal_Bool IsHardAttribute( sal_uInt32 nId ) const;
- sal_uInt32 GetPropertyValue( sal_uInt32 nId, sal_uInt32 nDefault = 0 ) const;
- /** Returns a boolean property by its real identifier. */
- bool GetPropertyBool( sal_uInt32 nId, bool bDefault = false ) const;
- /** Returns a string property. */
- ::rtl::OUString GetPropertyString( sal_uInt32 nId, SvStream& rStrm ) const;
- void SetPropertyValue( sal_uInt32 nId, sal_uInt32 nValue ) const;
- sal_Bool SeekToContent( sal_uInt32 nRecType, SvStream& rSt ) const;
- void Merge( DffPropSet& rMasterPropSet ) const;
- void InitializePropSet() const;
- friend SvStream& operator>>( SvStream& rIn, DffPropSet& rPropSet );
+ DffPropSet( sal_Bool bInitialize = sal_False )
+ {
+ if ( bInitialize )
+ memset( mpFlags, 0, 0x400 * sizeof( DffPropFlags ) );
+ };
+
+ inline sal_Bool IsProperty( sal_uInt32 nRecType ) const { return ( mpFlags[ nRecType & 0x3ff ].bSet ); };
+ sal_Bool IsHardAttribute( sal_uInt32 nId ) const;
+ sal_uInt32 GetPropertyValue( sal_uInt32 nId, sal_uInt32 nDefault = 0 ) const;
+ /** Returns a boolean property by its real identifier. */
+ bool GetPropertyBool( sal_uInt32 nId, bool bDefault = false ) const;
+ /** Returns a string property. */
+ ::rtl::OUString GetPropertyString( sal_uInt32 nId, SvStream& rStrm ) const;
+ void SetPropertyValue( sal_uInt32 nId, sal_uInt32 nValue ) const;
+ sal_Bool SeekToContent( sal_uInt32 nRecType, SvStream& rSt ) const;
+ void Merge( DffPropSet& rMasterPropSet ) const;
+ void InitializePropSet() const;
+ friend SvStream& operator>>( SvStream& rIn, DffPropSet& rPropSet );
};
class SfxItemSet;
@@ -215,17 +230,20 @@ struct SvxMSDffConnectorRule
sal_uInt32 nSpFlagsA; // SpFlags of shape A ( the original mirror flags must be known when solving the Solver Container )
sal_uInt32 nSpFlagsB; // SpFlags of shape A
- SdrObject* pAObj; // pPtr of object ( corresponding to shape A )
- SdrObject* pBObj; // "
- SdrObject* pCObj; // " of connector object
+ SdrObject* pAObj; // pPtr of object ( corresponding to shape A )
+ SdrObject* pBObj; // "
+ SdrObject* pCObj; // " of connector object
SvxMSDffConnectorRule() : nSpFlagsA( 0 ), nSpFlagsB( 0 ), pAObj( NULL ), pBObj( NULL ), pCObj( NULL ) {};
friend SvStream& operator>>( SvStream& rIn, SvxMSDffConnectorRule& rAtom );
};
+
+typedef ::std::vector< SvxMSDffConnectorRule* > SvxMSDffConnectorRuleList;
+
struct MSFILTER_DLLPUBLIC SvxMSDffSolverContainer
{
- List aCList;
+ SvxMSDffConnectorRuleList aCList;
SvxMSDffSolverContainer();
~SvxMSDffSolverContainer();
@@ -258,11 +276,11 @@ struct MSFILTER_DLLPUBLIC SvxMSDffImportRec
{
static const int RELTO_DEFAULT = 2;
- SdrObject* pObj;
- Polygon* pWrapPolygon;
- char* pClientAnchorBuffer;
+ SdrObject* pObj;
+ Polygon* pWrapPolygon;
+ char* pClientAnchorBuffer;
sal_uInt32 nClientAnchorLen;
- char* pClientDataBuffer;
+ char* pClientDataBuffer;
sal_uInt32 nClientDataLen;
sal_uInt32 nXAlign;
sal_uInt32 *pXRelTo;
@@ -270,24 +288,24 @@ struct MSFILTER_DLLPUBLIC SvxMSDffImportRec
sal_uInt32 *pYRelTo;
sal_uInt32 nLayoutInTableCell;
sal_uInt32 nFlags;
- long nTextRotationAngle;
- long nDxTextLeft; // Abstand der Textbox vom umgebenden Shape
- long nDyTextTop;
- long nDxTextRight;
- long nDyTextBottom;
- long nDxWrapDistLeft;
- long nDyWrapDistTop;
- long nDxWrapDistRight;
- long nDyWrapDistBottom;
- long nCropFromTop;
- long nCropFromBottom;
- long nCropFromLeft;
- long nCropFromRight;
- MSDffTxId aTextId; // Kennungen fuer Textboxen
+ long nTextRotationAngle;
+ long nDxTextLeft; // Abstand der Textbox vom umgebenden Shape
+ long nDyTextTop;
+ long nDxTextRight;
+ long nDyTextBottom;
+ long nDxWrapDistLeft;
+ long nDyWrapDistTop;
+ long nDxWrapDistRight;
+ long nDyWrapDistBottom;
+ long nCropFromTop;
+ long nCropFromBottom;
+ long nCropFromLeft;
+ long nCropFromRight;
+ MSDffTxId aTextId; // Kennungen fuer Textboxen
sal_uLong nNextShapeId; // fuer verlinkte Textboxen
sal_uLong nShapeId;
- MSO_SPT eShapeType;
- MSO_LineStyle eLineStyle; // Umrandungs-Arten
+ MSO_SPT eShapeType;
+ MSO_LineStyle eLineStyle; // Umrandungs-Arten
MSO_LineDashing eLineDashing;
sal_Bool bDrawHell :1;
sal_Bool bHidden :1;
@@ -303,11 +321,13 @@ struct MSFILTER_DLLPUBLIC SvxMSDffImportRec
~SvxMSDffImportRec();
sal_Bool operator==( const SvxMSDffImportRec& rEntry ) const
{ return nShapeId == rEntry.nShapeId; }
+
sal_Bool operator<( const SvxMSDffImportRec& rEntry ) const
{ return nShapeId < rEntry.nShapeId; }
private:
SvxMSDffImportRec &operator=(const SvxMSDffImportRec&);
};
+
typedef SvxMSDffImportRec* MSDffImportRec_Ptr;
// Liste aller SvxMSDffImportRec fuer eine Gruppe
@@ -345,8 +365,8 @@ struct DffObjData
Rectangle aBoundRect;
Rectangle aChildAnchor;
- sal_uInt32 nShapeId;
- sal_uInt32 nSpFlags;
+ sal_uInt32 nShapeId;
+ sal_uInt32 nSpFlags;
MSO_SPT eShapeType;
sal_Bool bShapeType : 1;
@@ -379,15 +399,15 @@ struct DffObjData
struct DffRecordList
{
- sal_uInt32 nCount;
- sal_uInt32 nCurrent;
- DffRecordList* pPrev;
- DffRecordList* pNext;
+ sal_uInt32 nCount;
+ sal_uInt32 nCurrent;
+ DffRecordList* pPrev;
+ DffRecordList* pNext;
- DffRecordHeader mHd[ DFF_RECORD_MANAGER_BUF_SIZE ];
+ DffRecordHeader mHd[ DFF_RECORD_MANAGER_BUF_SIZE ];
- DffRecordList( DffRecordList* pList );
- ~DffRecordList();
+ DffRecordList( DffRecordList* pList );
+ ~DffRecordList();
};
enum DffSeekToContentMode
@@ -406,7 +426,7 @@ class MSFILTER_DLLPUBLIC DffRecordManager : public DffRecordList
void Clear();
void Consume( SvStream& rIn, sal_Bool bAppend = sal_False, sal_uInt32 nStOfs = 0 );
- sal_Bool SeekToContent( SvStream& rIn, sal_uInt16 nRecType, DffSeekToContentMode eMode = SEEK_FROM_BEGINNING );
+ sal_Bool SeekToContent( SvStream& rIn, sal_uInt16 nRecType, DffSeekToContentMode eMode = SEEK_FROM_BEGINNING );
DffRecordHeader* GetRecordHeader( sal_uInt16 nRecType, DffSeekToContentMode eMode = SEEK_FROM_BEGINNING );
DffRecordManager();
@@ -437,23 +457,23 @@ class MSFILTER_DLLPUBLIC SvxMSDffManager : public DffPropertyReader
SvxMSDffBLIPInfos* pBLIPInfos;
SvxMSDffShapeInfos* pShapeInfos;
SvxMSDffShapeOrders* pShapeOrders;
- sal_uLong nDefaultFontHeight;
- long nOffsDgg;
- sal_uInt16 nBLIPCount;
- sal_uInt16 nShapeCount;
+ sal_uLong nDefaultFontHeight;
+ sal_uInt32 nOffsDgg;
+ sal_uInt16 nBLIPCount;
+ sal_uInt16 nShapeCount;
sal_uInt32 nGroupShapeFlags;
void CheckTxBxStoryChain();
- void GetFidclData( long nOffsDgg );
+ void GetFidclData(sal_uInt32 nOffsDgg);
protected :
- String maBaseURL;
- sal_uInt32 mnCurMaxShapeId; // we need this information to
- sal_uInt32 mnDrawingsSaved; // access the right drawing
- sal_uInt32 mnIdClusters; // while only knowing the shapeid
- FIDCL* mpFidcls;
- Table maDgOffsetTable; // array of fileoffsets
+ String maBaseURL;
+ sal_uInt32 mnCurMaxShapeId; // we need this information to
+ sal_uInt32 mnDrawingsSaved; // access the right drawing
+ sal_uInt32 mnIdClusters; // while only knowing the shapeid
+ FIDCL* mpFidcls;
+ Table maDgOffsetTable; // array of fileoffsets
friend class DffPropertyReader;
@@ -470,16 +490,16 @@ protected :
long nEmuDiv;
long nPntMul;
long nPntDiv;
- bool bNeedMap;
- sal_uInt32 nSvxMSDffSettings;
- sal_uInt32 nSvxMSDffOLEConvFlags;
+ bool bNeedMap;
+ sal_uInt32 nSvxMSDffSettings;
+ sal_uInt32 nSvxMSDffOLEConvFlags;
/** stores a reference to an imported SdrObject with its shape id if
it has one
*/
SvxMSDffShapeIdContainer maShapeIdContainer;
- void GetCtrlData( long nOffsDgg );
+ void GetCtrlData(sal_uInt32 nOffsDgg);
void GetDrawingGroupContainerData( SvStream& rSt,
sal_uLong nLenDgg );
// #156763#
@@ -522,9 +542,9 @@ protected :
/*
folgende Methoden sind zum Excel-Import zu ueberschreiben:
*/
- virtual sal_Bool ProcessClientAnchor(SvStream& rStData, sal_uLong nDatLen, char*& rpBuff, sal_uInt32& rBuffLen ) const;
+ virtual sal_Bool ProcessClientAnchor(SvStream& rStData, sal_uInt32 nDatLen, char*& rpBuff, sal_uInt32& rBuffLen ) const;
virtual void ProcessClientAnchor2( SvStream& rStData, DffRecordHeader& rHd, void* pData, DffObjData& );
- virtual sal_Bool ProcessClientData( SvStream& rStData, sal_uLong nDatLen, char*& rpBuff, sal_uInt32& rBuffLen ) const;
+ virtual sal_Bool ProcessClientData( SvStream& rStData, sal_uInt32 nDatLen, char*& rpBuff, sal_uInt32& rBuffLen ) const;
virtual SdrObject* ProcessObj( SvStream& rSt, DffObjData& rData, void* pData, Rectangle& rTextRect, SdrObject* pObj = NULL);
virtual sal_uLong Calc_nBLIPPos( sal_uLong nOrgVal, sal_uLong nStreamPos ) const;
virtual bool GetColorFromPalette(sal_uInt16 nNum, Color& rColor) const;
@@ -601,7 +621,7 @@ public:
*/
SvxMSDffManager( SvStream& rStCtrl,
const String& rBaseURL,
- long nOffsDgg,
+ sal_uInt32 nOffsDgg,
SvStream* pStData,
SdrModel* pSdrModel_ = 0,
long nApplicationScale = 0,
@@ -613,7 +633,7 @@ public:
// in PPT werden die Parameter DGGContainerOffset und PicStream
// mit Hilfe einer Init Routine Uebergeben.
SvxMSDffManager( SvStream& rStCtrl, const String& rBaseURL, MSFilterTracer* pTracer );
- void InitSvxMSDffManager( long nOffsDgg_, SvStream* pStData_, sal_uInt32 nSvxMSDffOLEConvFlags );
+ void InitSvxMSDffManager(sal_uInt32 nOffsDgg_, SvStream* pStData_, sal_uInt32 nSvxMSDffOLEConvFlags);
void SetDgContainer( SvStream& rSt );
virtual ~SvxMSDffManager();
@@ -729,16 +749,16 @@ public:
return pShapeOrders;
}
- void StoreShapeOrder(sal_uLong nId,
- sal_uLong nTxBx,
+ void StoreShapeOrder(sal_uLong nId,
+ sal_uLong nTxBx,
SdrObject* pObject,
SwFlyFrmFmt* pFly = 0,
short nHdFtSection = 0) const;
- void ExchangeInShapeOrder(SdrObject* pOldObject,
- sal_uLong nTxBx,
- SwFlyFrmFmt* pFly,
- SdrObject* pObject) const;
+ void ExchangeInShapeOrder(SdrObject* pOldObject,
+ sal_uLong nTxBx,
+ SwFlyFrmFmt* pFly,
+ SdrObject* pObject) const;
void RemoveFromShapeOrder( SdrObject* pObject ) const;
@@ -762,9 +782,10 @@ public:
static sal_Bool SetPropValue(
const ::com::sun::star::uno::Any& rAny,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > & rXPropSet,
- const String& rPropertyName,
- sal_Bool bTestPropertyAvailability = sal_False );
+ const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > & rXPropSet,
+ const String& rPropertyName,
+ sal_Bool bTestPropertyAvailability = sal_False
+ );
void insertShapeId( sal_Int32 nShapeId, SdrObject* pShape );
void removeShapeId( SdrObject* pShape );
diff --git a/filter/inc/filter/msfilter/msocximex.hxx b/filter/inc/filter/msfilter/msocximex.hxx
index 5e1915d0406f..31b3732dbfdd 100644
--- a/filter/inc/filter/msfilter/msocximex.hxx
+++ b/filter/inc/filter/msfilter/msocximex.hxx
@@ -96,18 +96,12 @@ public:
virtual ~SvxMSConvertOCXControls();
//Reads a control from the given storage, constructed shape in pShapeRef
- sal_Bool ReadOCXStream( SotStorageRef& rSrc1,
+ virtual sal_Bool ReadOCXStream( SotStorageRef& rSrc1,
com::sun::star::uno::Reference<
com::sun::star::drawing::XShape > *pShapeRef=0,
- sal_Bool bFloatingCtrl=sal_False );
+ sal_Bool bFloatingCtrl=sal_False ) = 0;
- //Excel has a nasty kludged mechanism for this, read
- //the comments in the source to follow it
- sal_Bool ReadOCXExcelKludgeStream(SotStorageStreamRef& rSrc1,
- com::sun::star::uno::Reference <
- com::sun::star::drawing::XShape > *pShapeRef,sal_Bool bFloatingCtrl);
-
//Writes the given Uno Control into the given storage
diff --git a/filter/inc/filter/msfilter/svdfppt.hxx b/filter/inc/filter/msfilter/svdfppt.hxx
index d9f52434b101..57ab915cec71 100644
--- a/filter/inc/filter/msfilter/svdfppt.hxx
+++ b/filter/inc/filter/msfilter/svdfppt.hxx
@@ -633,6 +633,7 @@ public:
sal_uInt32* pTableArry,
SvxMSDffSolverContainer*
);
+ virtual bool ReadFormControl( com::sun::star::uno::Reference< com::sun::star::io::XInputStream >& rxInStrm, com::sun::star::uno::Reference< com::sun::star::form::XFormComponent > & rFormComp ) const = 0;
};
struct PPTTextCharacterStyleAtomInterpreter
@@ -1258,13 +1259,20 @@ class PPTConvertOCXControls : public SvxMSConvertOCXControls
{
virtual const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > & GetDrawPage();
PptPageKind ePageKind;
+ const SdrPowerPointImport* mpPPTImporter;
+ com::sun::star::uno::Reference< com::sun::star::io::XInputStream > mxInStrm;
public :
- PPTConvertOCXControls( SfxObjectShell* pDSh, PptPageKind ePKind ) :
+ PPTConvertOCXControls( const SdrPowerPointImport* pPPTImporter, com::sun::star::uno::Reference< com::sun::star::io::XInputStream >& rxInStrm, SfxObjectShell* pDSh, PptPageKind ePKind ) :
SvxMSConvertOCXControls ( pDSh, NULL ),
- ePageKind ( ePKind )
+ ePageKind ( ePKind ),
+ mpPPTImporter ( pPPTImporter ),
+ mxInStrm ( rxInStrm )
{};
-
+ virtual sal_Bool ReadOCXStream( SotStorageRef& rSrc1,
+ com::sun::star::uno::Reference<
+ com::sun::star::drawing::XShape > *pShapeRef=0,
+ sal_Bool bFloatingCtrl=sal_False );
virtual sal_Bool InsertControl(
const com::sun::star::uno::Reference< com::sun::star::form::XFormComponent > &rFComp,
const com::sun::star::awt::Size& rSize,