fdo#74697 Add Bluez 5 support for impress remote.
[LibreOffice.git] / drawinglayer / source / dumper / EnhancedShapeDumper.hxx
blob5c4eba9cb30c4bc984389c660cea262db8c0eade
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
10 #include <libxml/xmlwriter.h>
12 #include <com/sun/star/beans/XPropertySet.hpp>
13 #include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.hpp>
14 #include <com/sun/star/drawing/Direction3D.hpp>
15 #include <com/sun/star/drawing/ShadeMode.hpp>
16 #include <com/sun/star/drawing/ProjectionMode.hpp>
17 #include <com/sun/star/drawing/Position3D.hpp>
19 #include <com/sun/star/awt/Rectangle.hpp>
20 #include <com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.hpp>
21 #include <com/sun/star/beans/PropertyValue.hpp>
22 #include <com/sun/star/beans/PropertyValues.hpp>
23 #include <com/sun/star/drawing/EnhancedCustomShapeParameter.hpp>
25 #include <com/sun/star/drawing/EnhancedCustomShapeSegment.hpp>
26 #include <com/sun/star/drawing/EnhancedCustomShapeTextFrame.hpp>
27 #include <com/sun/star/awt/Size.hpp>
29 #include <com/sun/star/drawing/EnhancedCustomShapeTextPathMode.hpp>
31 #ifndef EnhancedShapeDumper_hxx
32 #define EnhancedShapeDumper_hxx
34 class EnhancedShapeDumper
36 public:
37 EnhancedShapeDumper(xmlTextWriterPtr writer)
39 xmlWriter(writer)
44 // auxiliary functions
45 void dumpEnhancedCustomShapeParameterPair(com::sun::star::drawing::EnhancedCustomShapeParameterPair aParameterPair);
46 void dumpDirection3D(com::sun::star::drawing::Direction3D aDirection3D);
47 void dumpPropertyValueAsElement(com::sun::star::beans::PropertyValue aPropertyValue);
48 void dumpEnhancedCustomShapeParameter(com::sun::star::drawing::EnhancedCustomShapeParameter aParameter);
50 // EnhancedCustomShapeExtrusion.idl
51 void dumpEnhancedCustomShapeExtrusionService(com::sun::star::uno::Reference< com::sun::star::beans::XPropertySet > xPropSet);
52 void dumpExtrusionAsAttribute(sal_Bool bExtrusion);
53 void dumpBrightnessAsAttribute(double aBrightness);
54 void dumpDepthAsElement(com::sun::star::drawing::EnhancedCustomShapeParameterPair aDepth);
55 void dumpDiffusionAsAttribute(double aDiffusion);
56 void dumpNumberOfLineSegmentsAsAttribute(sal_Int32 aNumberOfLineSegments);
57 void dumpLightFaceAsAttribute(sal_Bool bLightFace);
58 void dumpFirstLightHarshAsAttribute(sal_Bool bFirstLightHarsh);
59 void dumpSecondLightHarshAsAttribute(sal_Bool bSecondLightHarsh);
60 void dumpFirstLightLevelAsAttribute(double aFirstLightLevel);
61 void dumpSecondLightLevelAsAttribute(double aSecondLightLevel);
62 void dumpFirstLightDirectionAsElement(com::sun::star::drawing::Direction3D aFirstLightDirection);
63 void dumpSecondLightDirectionAsElement(com::sun::star::drawing::Direction3D aSecondLightDirection);
64 void dumpMetalAsAttribute(sal_Bool bMetal);
65 void dumpShadeModeAsAttribute(com::sun::star::drawing::ShadeMode eShadeMode);
66 void dumpRotateAngleAsElement(com::sun::star::drawing::EnhancedCustomShapeParameterPair aRotateAngle);
67 void dumpRotationCenterAsElement(com::sun::star::drawing::Direction3D aRotationCenter);
68 void dumpShininessAsAttribute(double aShininess);
69 void dumpSkewAsElement(com::sun::star::drawing::EnhancedCustomShapeParameterPair aSkew);
70 void dumpSpecularityAsAttribute(double aSpecularity);
71 void dumpProjectionModeAsAttribute(com::sun::star::drawing::ProjectionMode eProjectionMode);
72 void dumpViewPointAsElement(com::sun::star::drawing::Position3D aViewPoint);
73 void dumpOriginAsElement(com::sun::star::drawing::EnhancedCustomShapeParameterPair aOrigin);
74 void dumpExtrusionColorAsAttribute(sal_Bool bExtrusionColor);
76 // EnhancedCustomShapeGeometry.idl
77 void dumpEnhancedCustomShapeGeometryService(com::sun::star::uno::Reference< com::sun::star::beans::XPropertySet > xPropSet);
78 void dumpTypeAsAttribute(OUString sType);
79 void dumpViewBoxAsElement(com::sun::star::awt::Rectangle aViewBox);
80 void dumpMirroredXAsAttribute(sal_Bool bMirroredX); // also used in EnhancedCustomShapeHandle
81 void dumpMirroredYAsAttribute(sal_Bool bMirroredY); // also used in EnhancedCustomShapeHandle
82 void dumpTextRotateAngleAsAttribute(double aTextRotateAngle);
83 void dumpAdjustmentValuesAsElement(com::sun::star::uno::Sequence< com::sun::star::drawing::EnhancedCustomShapeAdjustmentValue> aAdjustmentValues);
84 void dumpExtrusionAsElement(com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > aExtrusion);
85 void dumpPathAsElement(com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > aPath);
86 void dumpTextPathAsElement(com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > aTextPath);
87 void dumpEquationsAsElement(com::sun::star::uno::Sequence< OUString > aEquations);
88 void dumpHandlesAsElement(com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValues > aHandles);
90 // EnhancedCustomShapeHandle.idl
91 void dumpEnhancedCustomShapeHandleService(com::sun::star::uno::Reference< com::sun::star::beans::XPropertySet > xPropSet);
92 void dumpSwitchedAsAttribute(sal_Bool bSwitched);
93 void dumpPositionAsElement(com::sun::star::drawing::EnhancedCustomShapeParameterPair aPosition);
94 void dumpPolarAsElement(com::sun::star::drawing::EnhancedCustomShapeParameterPair aPolar);
95 void dumpRefXAsAttribute(sal_Int32 aRefX);
96 void dumpRefYAsAttribute(sal_Int32 aRefY);
97 void dumpRefAngleAsAttribute(sal_Int32 aRefAngle);
98 void dumpRefRAsAttribute(sal_Int32 aRefR);
99 void dumpRangeXMinimumAsElement(com::sun::star::drawing::EnhancedCustomShapeParameter aRangeXMinimum);
100 void dumpRangeXMaximumAsElement(com::sun::star::drawing::EnhancedCustomShapeParameter aRangeXMaximum);
101 void dumpRangeYMinimumAsElement(com::sun::star::drawing::EnhancedCustomShapeParameter aRangeYMinimum);
102 void dumpRangeYMaximumAsElement(com::sun::star::drawing::EnhancedCustomShapeParameter aRangeXMaximum);
103 void dumpRadiusRangeMinimumAsElement(com::sun::star::drawing::EnhancedCustomShapeParameter aRadiusRangeMinimum);
104 void dumpRadiusRangeMaximumAsElement(com::sun::star::drawing::EnhancedCustomShapeParameter aRadiusRangeMaximum);
106 // EnhancedCustomShapePath.idl
107 void dumpEnhancedCustomShapePathService(com::sun::star::uno::Reference< com::sun::star::beans::XPropertySet > xPropSet);
108 void dumpCoordinatesAsElement(com::sun::star::uno::Sequence< com::sun::star::drawing::EnhancedCustomShapeParameterPair > aCoordinates);
109 void dumpSegmentsAsElement(com::sun::star::uno::Sequence< com::sun::star::drawing::EnhancedCustomShapeSegment > aSegments);
110 void dumpStretchXAsAttribute(sal_Int32 aStretchX);
111 void dumpStretchYAsAttribute(sal_Int32 aStretchY);
112 void dumpTextFramesAsElement(com::sun::star::uno::Sequence< com::sun::star::drawing::EnhancedCustomShapeTextFrame > aTextFrames);
113 void dumpGluePointsAsElement(com::sun::star::uno::Sequence< com::sun::star::drawing::EnhancedCustomShapeParameterPair > aGluePoints);
114 void dumpGluePointLeavingDirectionsAsElement(com::sun::star::uno::Sequence< double > aGluePointLeavingDirections);
115 void dumpGluePointTypeAsAttribute(sal_Int32 aGluePointType);
116 void dumpExtrusionAllowedAsAttribute(sal_Bool bExtrusionAllowed);
117 void dumpConcentricGradientFillAllowedAsAttribute(sal_Bool bConcentricGradientFillAllowed);
118 void dumpTextPathAllowedAsAttribute(sal_Bool bTextPathAllowed);
119 void dumpSubViewSizeAsElement(com::sun::star::uno::Sequence< com::sun::star::awt::Size > aSubViewSize);
121 // EnhancedCustomShapePath.idl
122 void dumpEnhancedCustomShapeTextPathService(com::sun::star::uno::Reference< com::sun::star::beans::XPropertySet > xPropSet);
123 void dumpTextPathAsAttribute(sal_Bool bTextPath);
124 void dumpTextPathModeAsAttribute(com::sun::star::drawing::EnhancedCustomShapeTextPathMode eTextPathMode);
125 void dumpScaleXAsAttribute(sal_Bool bScaleX);
127 private:
128 xmlTextWriterPtr xmlWriter;
130 #endif