summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/drawing
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
commited5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch)
tree7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /offapi/com/sun/star/drawing
parentInitial commit. (diff)
downloadlibreoffice-upstream.tar.xz
libreoffice-upstream.zip
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--offapi/com/sun/star/drawing/AccessibleDrawDocumentView.idl127
-rw-r--r--offapi/com/sun/star/drawing/AccessibleGraphControl.idl77
-rw-r--r--offapi/com/sun/star/drawing/AccessibleGraphicShape.idl83
-rw-r--r--offapi/com/sun/star/drawing/AccessibleImageBullet.idl86
-rw-r--r--offapi/com/sun/star/drawing/AccessibleOLEShape.idl73
-rw-r--r--offapi/com/sun/star/drawing/AccessibleShape.idl189
-rw-r--r--offapi/com/sun/star/drawing/AccessibleSlideView.idl51
-rw-r--r--offapi/com/sun/star/drawing/AccessibleSlideViewObject.idl50
-rw-r--r--offapi/com/sun/star/drawing/Alignment.idl48
-rw-r--r--offapi/com/sun/star/drawing/AppletShape.idl78
-rw-r--r--offapi/com/sun/star/drawing/Arrangement.idl56
-rw-r--r--offapi/com/sun/star/drawing/Background.idl42
-rw-r--r--offapi/com/sun/star/drawing/BarCode.idl48
-rw-r--r--offapi/com/sun/star/drawing/BarCodeErrorCorrection.idl50
-rw-r--r--offapi/com/sun/star/drawing/BezierPoint.idl56
-rw-r--r--offapi/com/sun/star/drawing/BitmapMode.idl53
-rw-r--r--offapi/com/sun/star/drawing/BitmapTable.idl52
-rw-r--r--offapi/com/sun/star/drawing/BoundVolume.idl47
-rw-r--r--offapi/com/sun/star/drawing/CameraGeometry.idl49
-rw-r--r--offapi/com/sun/star/drawing/CanvasFeature.idl37
-rw-r--r--offapi/com/sun/star/drawing/CaptionEscapeDirection.idl54
-rw-r--r--offapi/com/sun/star/drawing/CaptionShape.idl131
-rw-r--r--offapi/com/sun/star/drawing/CaptionType.idl53
-rw-r--r--offapi/com/sun/star/drawing/CircleKind.idl53
-rw-r--r--offapi/com/sun/star/drawing/ClosedBezierShape.idl65
-rw-r--r--offapi/com/sun/star/drawing/ColorMode.idl55
-rw-r--r--offapi/com/sun/star/drawing/ColorTable.idl38
-rw-r--r--offapi/com/sun/star/drawing/ConnectionType.idl62
-rw-r--r--offapi/com/sun/star/drawing/ConnectorProperties.idl65
-rw-r--r--offapi/com/sun/star/drawing/ConnectorShape.idl118
-rw-r--r--offapi/com/sun/star/drawing/ConnectorType.idl54
-rw-r--r--offapi/com/sun/star/drawing/ControlShape.idl47
-rw-r--r--offapi/com/sun/star/drawing/CoordinateSequence.idl33
-rw-r--r--offapi/com/sun/star/drawing/CoordinateSequenceSequence.idl34
-rw-r--r--offapi/com/sun/star/drawing/CustomShape.idl84
-rw-r--r--offapi/com/sun/star/drawing/CustomShapeEngine.idl47
-rw-r--r--offapi/com/sun/star/drawing/DashStyle.idl55
-rw-r--r--offapi/com/sun/star/drawing/DashTable.idl52
-rw-r--r--offapi/com/sun/star/drawing/Defaults.idl53
-rw-r--r--offapi/com/sun/star/drawing/Direction3D.idl41
-rw-r--r--offapi/com/sun/star/drawing/DocumentSettings.idl95
-rw-r--r--offapi/com/sun/star/drawing/DoubleSequence.idl33
-rw-r--r--offapi/com/sun/star/drawing/DoubleSequenceSequence.idl34
-rw-r--r--offapi/com/sun/star/drawing/DrawPage.idl65
-rw-r--r--offapi/com/sun/star/drawing/DrawPages.idl62
-rw-r--r--offapi/com/sun/star/drawing/DrawViewMode.idl52
-rw-r--r--offapi/com/sun/star/drawing/DrawingDocument.idl42
-rw-r--r--offapi/com/sun/star/drawing/DrawingDocumentDrawView.idl152
-rw-r--r--offapi/com/sun/star/drawing/DrawingDocumentFactory.idl42
-rw-r--r--offapi/com/sun/star/drawing/EllipseShape.idl77
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.idl49
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeExtrusion.idl159
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeGeometry.idl99
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeGluePointType.idl54
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeHandle.idl109
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeMetalType.idl36
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeParameter.idl42
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeParameterPair.idl43
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeParameterType.idl97
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapePath.idl100
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeSegment.idl40
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeSegmentCommand.idl91
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeTextFrame.idl44
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeTextPath.idl51
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeTextPathMode.idl47
-rw-r--r--offapi/com/sun/star/drawing/EscapeDirection.idl46
-rw-r--r--offapi/com/sun/star/drawing/FillProperties.idl244
-rw-r--r--offapi/com/sun/star/drawing/FillStyle.idl53
-rw-r--r--offapi/com/sun/star/drawing/FlagSequence.idl34
-rw-r--r--offapi/com/sun/star/drawing/FlagSequenceSequence.idl35
-rw-r--r--offapi/com/sun/star/drawing/GenericDrawPage.idl166
-rw-r--r--offapi/com/sun/star/drawing/GenericDrawingDocument.idl194
-rw-r--r--offapi/com/sun/star/drawing/GluePoint.idl67
-rw-r--r--offapi/com/sun/star/drawing/GluePoint2.idl71
-rw-r--r--offapi/com/sun/star/drawing/GradientTable.idl52
-rw-r--r--offapi/com/sun/star/drawing/GraphicExportFilter.idl39
-rw-r--r--offapi/com/sun/star/drawing/GraphicFilterRequest.idl45
-rw-r--r--offapi/com/sun/star/drawing/GraphicObjectShape.idl169
-rw-r--r--offapi/com/sun/star/drawing/GroupShape.idl59
-rw-r--r--offapi/com/sun/star/drawing/Hatch.idl61
-rw-r--r--offapi/com/sun/star/drawing/HatchStyle.idl49
-rw-r--r--offapi/com/sun/star/drawing/HatchTable.idl52
-rw-r--r--offapi/com/sun/star/drawing/HomogenMatrix.idl44
-rw-r--r--offapi/com/sun/star/drawing/HomogenMatrix3.idl42
-rw-r--r--offapi/com/sun/star/drawing/HomogenMatrix4.idl43
-rw-r--r--offapi/com/sun/star/drawing/HomogenMatrixLine.idl42
-rw-r--r--offapi/com/sun/star/drawing/HomogenMatrixLine3.idl41
-rw-r--r--offapi/com/sun/star/drawing/HomogenMatrixLine4.idl42
-rw-r--r--offapi/com/sun/star/drawing/HorizontalDimensioning.idl55
-rw-r--r--offapi/com/sun/star/drawing/Layer.idl78
-rw-r--r--offapi/com/sun/star/drawing/LayerManager.idl60
-rw-r--r--offapi/com/sun/star/drawing/LayerType.idl53
-rw-r--r--offapi/com/sun/star/drawing/LineCap.idl45
-rw-r--r--offapi/com/sun/star/drawing/LineDash.idl64
-rw-r--r--offapi/com/sun/star/drawing/LineEndType.idl56
-rw-r--r--offapi/com/sun/star/drawing/LineJoint.idl52
-rw-r--r--offapi/com/sun/star/drawing/LineProperties.idl128
-rw-r--r--offapi/com/sun/star/drawing/LineShape.idl60
-rw-r--r--offapi/com/sun/star/drawing/LineStyle.idl48
-rw-r--r--offapi/com/sun/star/drawing/MarkerTable.idl52
-rw-r--r--offapi/com/sun/star/drawing/MasterPage.idl61
-rw-r--r--offapi/com/sun/star/drawing/MasterPages.idl48
-rw-r--r--offapi/com/sun/star/drawing/MeasureKind.idl48
-rw-r--r--offapi/com/sun/star/drawing/MeasureProperties.idl120
-rw-r--r--offapi/com/sun/star/drawing/MeasureShape.idl68
-rw-r--r--offapi/com/sun/star/drawing/MeasureTextHorzPos.idl44
-rw-r--r--offapi/com/sun/star/drawing/MeasureTextVertPos.idl44
-rw-r--r--offapi/com/sun/star/drawing/MirrorAxis.idl45
-rw-r--r--offapi/com/sun/star/drawing/ModuleDispatcher.idl38
-rw-r--r--offapi/com/sun/star/drawing/NormalsKind.idl52
-rw-r--r--offapi/com/sun/star/drawing/OLE2Shape.idl67
-rw-r--r--offapi/com/sun/star/drawing/OpenBezierShape.idl62
-rw-r--r--offapi/com/sun/star/drawing/PageShape.idl52
-rw-r--r--offapi/com/sun/star/drawing/PluginShape.idl64
-rw-r--r--offapi/com/sun/star/drawing/PointSequence.idl34
-rw-r--r--offapi/com/sun/star/drawing/PointSequenceSequence.idl34
-rw-r--r--offapi/com/sun/star/drawing/PolyLineShape.idl62
-rw-r--r--offapi/com/sun/star/drawing/PolyPolygonBezierCoords.idl44
-rw-r--r--offapi/com/sun/star/drawing/PolyPolygonBezierDescriptor.idl58
-rw-r--r--offapi/com/sun/star/drawing/PolyPolygonBezierShape.idl63
-rw-r--r--offapi/com/sun/star/drawing/PolyPolygonDescriptor.idl57
-rw-r--r--offapi/com/sun/star/drawing/PolyPolygonShape.idl67
-rw-r--r--offapi/com/sun/star/drawing/PolyPolygonShape3D.idl43
-rw-r--r--offapi/com/sun/star/drawing/PolygonFlags.idl50
-rw-r--r--offapi/com/sun/star/drawing/PolygonKind.idl73
-rw-r--r--offapi/com/sun/star/drawing/Position3D.idl47
-rw-r--r--offapi/com/sun/star/drawing/ProjectionMode.idl45
-rw-r--r--offapi/com/sun/star/drawing/RectanglePoint.idl65
-rw-r--r--offapi/com/sun/star/drawing/RectangleShape.idl66
-rw-r--r--offapi/com/sun/star/drawing/RotationDescriptor.idl65
-rw-r--r--offapi/com/sun/star/drawing/ShadeMode.idl58
-rw-r--r--offapi/com/sun/star/drawing/ShadingPattern.idl225
-rw-r--r--offapi/com/sun/star/drawing/ShadowProperties.idl74
-rw-r--r--offapi/com/sun/star/drawing/Shape.idl204
-rw-r--r--offapi/com/sun/star/drawing/ShapeCollection.idl41
-rw-r--r--offapi/com/sun/star/drawing/Shapes.idl41
-rw-r--r--offapi/com/sun/star/drawing/SlideRenderer.idl40
-rw-r--r--offapi/com/sun/star/drawing/SlideSorter.idl60
-rw-r--r--offapi/com/sun/star/drawing/SnapObjectType.idl41
-rw-r--r--offapi/com/sun/star/drawing/Text.idl50
-rw-r--r--offapi/com/sun/star/drawing/TextAdjust.idl63
-rw-r--r--offapi/com/sun/star/drawing/TextAnimationDirection.idl42
-rw-r--r--offapi/com/sun/star/drawing/TextAnimationKind.idl57
-rw-r--r--offapi/com/sun/star/drawing/TextFitToSizeType.idl68
-rw-r--r--offapi/com/sun/star/drawing/TextHorizontalAdjust.idl59
-rw-r--r--offapi/com/sun/star/drawing/TextProperties.idl267
-rw-r--r--offapi/com/sun/star/drawing/TextShape.idl63
-rw-r--r--offapi/com/sun/star/drawing/TextVerticalAdjust.idl56
-rw-r--r--offapi/com/sun/star/drawing/TextureKind.idl49
-rw-r--r--offapi/com/sun/star/drawing/TextureKind2.idl54
-rw-r--r--offapi/com/sun/star/drawing/TextureMode.idl50
-rw-r--r--offapi/com/sun/star/drawing/TextureProjectionMode.idl55
-rw-r--r--offapi/com/sun/star/drawing/TransparencyGradientTable.idl52
-rw-r--r--offapi/com/sun/star/drawing/VerticalDimensioning.idl55
-rw-r--r--offapi/com/sun/star/drawing/XConnectableShape.idl49
-rw-r--r--offapi/com/sun/star/drawing/XConnectorShape.idl64
-rw-r--r--offapi/com/sun/star/drawing/XControlShape.idl67
-rw-r--r--offapi/com/sun/star/drawing/XCustomShapeEngine.idl66
-rw-r--r--offapi/com/sun/star/drawing/XCustomShapeHandle.idl52
-rw-r--r--offapi/com/sun/star/drawing/XDrawPage.idl40
-rw-r--r--offapi/com/sun/star/drawing/XDrawPageDuplicator.idl58
-rw-r--r--offapi/com/sun/star/drawing/XDrawPageExpander.idl57
-rw-r--r--offapi/com/sun/star/drawing/XDrawPageSummarizer.idl51
-rw-r--r--offapi/com/sun/star/drawing/XDrawPageSupplier.idl52
-rw-r--r--offapi/com/sun/star/drawing/XDrawPages.idl74
-rw-r--r--offapi/com/sun/star/drawing/XDrawPagesSupplier.idl48
-rw-r--r--offapi/com/sun/star/drawing/XDrawSubController.idl59
-rw-r--r--offapi/com/sun/star/drawing/XDrawView.idl60
-rw-r--r--offapi/com/sun/star/drawing/XEnhancedCustomShapeDefaulter.idl281
-rw-r--r--offapi/com/sun/star/drawing/XGluePointsSupplier.idl46
-rw-r--r--offapi/com/sun/star/drawing/XGraphicExportFilter.idl93
-rw-r--r--offapi/com/sun/star/drawing/XLayer.idl40
-rw-r--r--offapi/com/sun/star/drawing/XLayerManager.idl95
-rw-r--r--offapi/com/sun/star/drawing/XLayerSupplier.idl51
-rw-r--r--offapi/com/sun/star/drawing/XMasterPageTarget.idl58
-rw-r--r--offapi/com/sun/star/drawing/XMasterPagesSupplier.idl49
-rw-r--r--offapi/com/sun/star/drawing/XPresenterHelper.idl158
-rw-r--r--offapi/com/sun/star/drawing/XSelectionFunction.idl52
-rw-r--r--offapi/com/sun/star/drawing/XShape.idl80
-rw-r--r--offapi/com/sun/star/drawing/XShapeAligner.idl51
-rw-r--r--offapi/com/sun/star/drawing/XShapeArranger.idl83
-rw-r--r--offapi/com/sun/star/drawing/XShapeBinder.idl71
-rw-r--r--offapi/com/sun/star/drawing/XShapeCombiner.idl74
-rw-r--r--offapi/com/sun/star/drawing/XShapeDescriptor.idl49
-rw-r--r--offapi/com/sun/star/drawing/XShapeGroup.idl67
-rw-r--r--offapi/com/sun/star/drawing/XShapeGrouper.idl75
-rw-r--r--offapi/com/sun/star/drawing/XShapeMirror.idl63
-rw-r--r--offapi/com/sun/star/drawing/XShapes.idl64
-rw-r--r--offapi/com/sun/star/drawing/XShapes2.idl47
-rw-r--r--offapi/com/sun/star/drawing/XShapes3.idl44
-rw-r--r--offapi/com/sun/star/drawing/XSlidePreviewCache.idl108
-rw-r--r--offapi/com/sun/star/drawing/XSlidePreviewCacheListener.idl47
-rw-r--r--offapi/com/sun/star/drawing/XSlideRenderer.idl104
-rw-r--r--offapi/com/sun/star/drawing/XSlideSorterBase.idl119
-rw-r--r--offapi/com/sun/star/drawing/XUniversalShapeDescriptor.idl41
-rw-r--r--offapi/com/sun/star/drawing/framework/AnchorBindingMode.idl44
-rw-r--r--offapi/com/sun/star/drawing/framework/BasicPaneFactory.idl52
-rw-r--r--offapi/com/sun/star/drawing/framework/BasicToolBarFactory.idl55
-rw-r--r--offapi/com/sun/star/drawing/framework/BasicViewFactory.idl57
-rw-r--r--offapi/com/sun/star/drawing/framework/BorderType.idl40
-rw-r--r--offapi/com/sun/star/drawing/framework/Configuration.idl49
-rw-r--r--offapi/com/sun/star/drawing/framework/ConfigurationChangeEvent.idl78
-rw-r--r--offapi/com/sun/star/drawing/framework/ConfigurationController.idl51
-rw-r--r--offapi/com/sun/star/drawing/framework/ModuleController.idl49
-rw-r--r--offapi/com/sun/star/drawing/framework/ResourceActivationMode.idl47
-rw-r--r--offapi/com/sun/star/drawing/framework/ResourceId.idl62
-rw-r--r--offapi/com/sun/star/drawing/framework/TabBarButton.idl58
-rw-r--r--offapi/com/sun/star/drawing/framework/XConfiguration.idl126
-rw-r--r--offapi/com/sun/star/drawing/framework/XConfigurationChangeListener.idl47
-rw-r--r--offapi/com/sun/star/drawing/framework/XConfigurationChangeRequest.idl58
-rw-r--r--offapi/com/sun/star/drawing/framework/XConfigurationController.idl255
-rw-r--r--offapi/com/sun/star/drawing/framework/XConfigurationControllerBroadcaster.idl81
-rw-r--r--offapi/com/sun/star/drawing/framework/XConfigurationControllerRequestQueue.idl67
-rw-r--r--offapi/com/sun/star/drawing/framework/XControllerManager.idl55
-rw-r--r--offapi/com/sun/star/drawing/framework/XModuleController.idl53
-rw-r--r--offapi/com/sun/star/drawing/framework/XPane.idl60
-rw-r--r--offapi/com/sun/star/drawing/framework/XPane2.idl68
-rw-r--r--offapi/com/sun/star/drawing/framework/XPaneBorderPainter.idl152
-rw-r--r--offapi/com/sun/star/drawing/framework/XRelocatableResource.idl48
-rw-r--r--offapi/com/sun/star/drawing/framework/XResource.idl55
-rw-r--r--offapi/com/sun/star/drawing/framework/XResourceFactory.idl80
-rw-r--r--offapi/com/sun/star/drawing/framework/XResourceFactoryManager.idl90
-rw-r--r--offapi/com/sun/star/drawing/framework/XResourceId.idl145
-rw-r--r--offapi/com/sun/star/drawing/framework/XTabBar.idl94
-rw-r--r--offapi/com/sun/star/drawing/framework/XToolBar.idl40
-rw-r--r--offapi/com/sun/star/drawing/framework/XView.idl46
-rw-r--r--offapi/com/sun/star/drawing/modules.idl50
227 files changed, 15431 insertions, 0 deletions
diff --git a/offapi/com/sun/star/drawing/AccessibleDrawDocumentView.idl b/offapi/com/sun/star/drawing/AccessibleDrawDocumentView.idl
new file mode 100644
index 000000000..9dcf86314
--- /dev/null
+++ b/offapi/com/sun/star/drawing/AccessibleDrawDocumentView.idl
@@ -0,0 +1,127 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_AccessibleDrawDocumentView_idl__
+#define __com_sun_star_drawing_AccessibleDrawDocumentView_idl__
+
+#include <com/sun/star/accessibility/XAccessible.idl>
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+
+module com { module sun { module star { module drawing {
+
+/** The AccessibleDrawDocumentView service is implemented by
+ views of Draw and Impress documents.
+
+ <p>An object that implements the AccessibleDrawDocumentView
+ service provides information about the view of a Draw or Impress
+ document in one of the various view modes. With its children it gives
+ access to the current page and the shapes on that page.</p>
+
+ <p>This service gives a simplified view on the underlying document. It
+ tries both to keep the structure of the accessibility representation
+ tree as simple as possible and provide as much relevant information as
+ possible. This has the following consequences:
+ <ol>
+ <li>Only the current draw page and only the visible shapes are
+ accessible. To switch to another page or to access shapes that lie
+ outside the currently visible area, the user has to issue these requests
+ manually or programmatically through the usual channels, e.g. pressing
+ keys or selecting menu entries.</li>
+ <li>The hierarchy exposed through the
+ ::com::sun::star::accessibility::XAccessibleContext
+ interface does not necessarily correspond directly to the underlying
+ draw page structure. Internal nodes in this hierarchy are introduced
+ by group shapes, 3D scenes, and OLE objects.</li>
+ <li>The view modes editing view, outline view, slides view, notes view,
+ handout view, and presentation view are not exposed explicitly.
+ However, if there happens to be a view mode change which results in a
+ rearrangement of the visible shapes, the user gets notified of this.</li>
+ </ol></p>
+
+ @since OOo 1.1.2
+*/
+service AccessibleDrawDocumentView
+{
+ /** Base interface for being accessible. It gives access to the
+ ::com::sun::star::accessibility::XAccessibleContext
+ interface.
+ */
+ interface ::com::sun::star::accessibility::XAccessible;
+
+ /** Provide access to the view of a document.
+
+ <p>You can access the following information:
+ <ul>
+ <li>Role: The object's role might be
+ com::sun::star::accessibility::AccessibleRole::DOCUMENT or
+ com::sun::star::accessibility::AccessibleRole::DOCUMENT_PRESENTATION
+ , the former for a Draw and the latter for an Impress document.</li>
+ <li>Name: Its name is "AccessibleDrawDocumentView",
+ "AccessibleOutlineView", or "slide window".</li>
+ <li>Description: The description is "Draw Document", "Accessible
+ Draw Document Outline", or "slide window".</li>
+ <li>Children: The shapes of the current draw page that are currently
+ visible are direct and indirect children of (an object
+ implementing)
+ this service. Group shapes, 3D scenes, and OLE objects
+ introduce further levels into the hierarchy. If the visibility
+ of shapes changes--due to
+ scrolling, switching the current draw page, or changing the view
+ mode--the appropriate listeners are called and the user gets
+ informed of this.</li>
+ <li>Parent: The parent will usually be the window that contains the
+ draw document view. It has to be set via implementation dependent
+ ways.</li>
+ <li>Relations: Relations are set and modified from the outside.</li>
+ <li>States: com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if a document view
+ becomes obsolete like when the window, which displays the view,
+ is closed. Otherwise the states
+ com::sun::star::accessibility::AccessibleStateType::ENABLED,
+ com::sun::star::accessibility::AccessibleStateType::SHOWING,
+ com::sun::star::accessibility::AccessibleStateType::VISIBLE,
+ com::sun::star::accessibility::AccessibleStateType::FOCUSABLE,
+ and
+ com::sun::star::accessibility::AccessibleStateType::SELECTABLE
+ are always set.</li>
+ <li>Locale: Is obtained from the parent and returned unchanged.</li>
+ </ul></p>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** Provide access to a draw document's graphical representation.
+
+ <p>The main purpose of this interface is to provide a bounding box
+ of the currently visible area and to let the user find children
+ (i.e. shapes) that cover a given test point. The more interesting
+ part of the graphical representation of a draw page lies in its
+ children. See the AccessibleShape service for more
+ information about shapes.</p>
+
+ @see AccessibleShape
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/AccessibleGraphControl.idl b/offapi/com/sun/star/drawing/AccessibleGraphControl.idl
new file mode 100644
index 000000000..34cece8b3
--- /dev/null
+++ b/offapi/com/sun/star/drawing/AccessibleGraphControl.idl
@@ -0,0 +1,77 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_AccessibleGraphControl_idl__
+#define __com_sun_star_drawing_AccessibleGraphControl_idl__
+
+
+// Declarations of interfaces to avoid inclusion of IDL files.
+module com { module sun { module star { module accessibility {
+ interface XAccessible;
+ interface XAccessibleContext;
+ interface XAccessibleComponent;
+ interface XAccessibleEventBroadcaster;
+ interface XAccessibleSelection;
+}; }; }; };
+
+
+
+
+module com { module sun { module star { module drawing {
+
+/** The service describes the accessible graph controls that are used in the
+ image map of the Draw and Impress applications and the contour dialog of
+ the Writer application.
+
+ <p>The children of graph controls are shapes that define contours.</p>
+
+ @since OOo 1.1.2
+ */
+service AccessibleGraphControl
+{
+ /** Base interface for being accessible. It gives access to the
+ ::com::sun::star::accessibility::XAccessibleContext
+ interface.
+ */
+ interface ::com::sun::star::accessibility::XAccessible;
+
+ /** Description of the base accessibility information.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** This interface describes the graphical representation of an image
+ bullet.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ /** Inform listeners about new or removed children and about changes of
+ the visual appearance.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+
+ /** Handle the selection of the shapes that represent the contour.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleSelection;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/AccessibleGraphicShape.idl b/offapi/com/sun/star/drawing/AccessibleGraphicShape.idl
new file mode 100644
index 000000000..9dfd88c03
--- /dev/null
+++ b/offapi/com/sun/star/drawing/AccessibleGraphicShape.idl
@@ -0,0 +1,83 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_AccessibleGraphicShape_idl__
+#define __com_sun_star_drawing_AccessibleGraphicShape_idl__
+
+#include <com/sun/star/drawing/AccessibleShape.idl>
+#include <com/sun/star/accessibility/XAccessibleImage.idl>
+
+module com { module sun { module star { module drawing {
+
+/** The AccessibleGraphicShape service is implemented by the
+ graphic object shapes shapes com.sun.star.drawing.GraphicObjectShape and
+ com.sun.star.presentation.GraphicObjectShape.
+
+ <p>It differs from the included AccessibleShape "base"
+ service by the additional support of the
+ ::com::sun::star::accessibility::XAccessibleImage
+ interface.</p>
+
+ @since OOo 1.1.2
+*/
+service AccessibleGraphicShape
+{
+ /** Give access to information of generic shapes.
+
+ <p>See AccessibleShape for documentation and support of
+ the interfaces
+ ::com::sun::star::accessibility::XAccessible,
+ ::com::sun::star::accessibility::XAccessibleContext,
+ and
+ ::com::sun::star::accessibility::XAccessibleComponent.</p>
+
+ @see AccessibleShape
+ */
+ service AccessibleShape;
+
+ /** Give access to image specific information.
+
+ <p>The support of the
+ ::com::sun::star::accessibility::XAccessibleImage interface
+ requires the shape to provide a description of the displayed image
+ and the image's size in the screen coordinate system (pixel). At
+ the time being this interface does not provide information that is
+ not available through the AccessibleShape service:
+ the size returned by the
+ ::com::sun::star::accessibility::XAccessibleImage::getAccessibleImageWidth() and
+ ::com::sun::star::accessibility::XAccessibleImage::getAccessibleImageHeight()
+ functions is the same as that returned by the
+ ::com::sun::star::accessibility::XAccessibleComponent::getSize()
+ function; the description returned by
+ ::com::sun::star::accessibility::XAccessibleImage::getAccessibleImageDescription()
+ function is the same as the one returned by the
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleDescription()
+ function.
+ This makes the additional interface for
+ the time being basically an indicator of graphic shapes. This may
+ change in the future.</p>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleImage;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/AccessibleImageBullet.idl b/offapi/com/sun/star/drawing/AccessibleImageBullet.idl
new file mode 100644
index 000000000..f7faf43b9
--- /dev/null
+++ b/offapi/com/sun/star/drawing/AccessibleImageBullet.idl
@@ -0,0 +1,86 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_AccessibleImageBullet_idl__
+#define __com_sun_star_drawing_AccessibleImageBullet_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleEditableText.idl>
+
+
+
+module com { module sun { module star { module drawing {
+
+
+/** The accessible view of an image bullet.
+
+ @since OOo 1.1.2
+ */
+service AccessibleImageBullet
+{
+ /** This interface gives access to an image bullet within a text
+ paragraph fragment that is at least partially visible on the
+ screen.
+
+ <ul>
+ <li>The parent returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleParent()
+ is the accessible object of a text paragraph.
+ <li>There are no children returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild().
+ <li>The role is
+ ::com::sun::star::accessibility::AccessibleRole::GRAPHIC.
+ <li>The name is "image bullet" (or the equivalent term
+ in application's language).
+ <li>The description contains the term "image bullet" (or the equivalent
+ term in application's language) and the number of the paragraph
+ within this bullet appears.
+ <li>There are no relations.
+ <li>The following states are supported by the
+ ::com::sun::star::accessibility::XAccessibleStateSet returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleStateSet().
+ <ul>
+ <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ (indicates that
+ the document window has been closed or the image bullet
+ is not existing any longer).
+ <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED
+ (always contained)
+ <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING
+ <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ <li>::com::sun::star::accessibility::AccessibleStateType::INVALID
+ </ul>
+ </ul>
+
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** This interface describes the graphical representation of an image
+ bullet.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/AccessibleOLEShape.idl b/offapi/com/sun/star/drawing/AccessibleOLEShape.idl
new file mode 100644
index 000000000..66f626cac
--- /dev/null
+++ b/offapi/com/sun/star/drawing/AccessibleOLEShape.idl
@@ -0,0 +1,73 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_AccessibleOLEShape_idl__
+#define __com_sun_star_drawing_AccessibleOLEShape_idl__
+
+#include <com/sun/star/drawing/AccessibleShape.idl>
+#include <com/sun/star/accessibility/XAccessibleAction.idl>
+
+module com { module sun { module star { module drawing {
+
+/** The AccessibleOLEShape service is implemented by
+ OLE shapes.
+
+ <p>This includes generic OLE shapes, frames, plug-ins, and applets.</p>
+
+ <p>This service supports the additional
+ ::com::sun::star::accessibility::XAccessibleAction
+ interface.</p>
+
+ <p>OLE objects are handled as place holders. While not activated the
+ accessible OLE shape is the only indicator of the OLE object's
+ existence. When an OLE object has been activated then the accessibility
+ tree representing it (as far as that is available) is included directly
+ under the accessible document view and not under the OLE object. This
+ is due to underlying implementation constraints and may change in the
+ future.</p>
+
+
+
+ @since OOo 1.1.2
+*/
+service AccessibleOLEShape
+{
+ /** Give access to information of generic shapes.
+
+ <p>See AccessibleShape for basic documentation and
+ support of the ::com::sun::star::accessibility::XAccessibleContext, and
+ ::com::sun::star::accessibility::XAccessibleComponent interfaces.
+
+ @see AccessibleShape
+ */
+ service AccessibleShape;
+
+ /** The intended purpose of the support of this interface is the
+ activation of the accessible OLE object. This, however, is not
+ realized at the moment. It therefore serves solely as indicator of
+ accessible OLE objects.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleAction;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/AccessibleShape.idl b/offapi/com/sun/star/drawing/AccessibleShape.idl
new file mode 100644
index 000000000..7e10a6fe5
--- /dev/null
+++ b/offapi/com/sun/star/drawing/AccessibleShape.idl
@@ -0,0 +1,189 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_AccessibleShape_idl__
+#define __com_sun_star_drawing_AccessibleShape_idl__
+
+#include <com/sun/star/accessibility/XAccessible.idl>
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+
+module com { module sun { module star { module drawing {
+
+/** The AccessibleShape service is implemented by UNO shapes to
+ provide accessibility information that describe the shape's features.
+ A UNO shape is any object that implements the
+ ::com::sun::star::drawing::XShape interface.
+
+ <p>The content of a draw page is modelled as tree of accessible shapes
+ and accessible text paragraphs. The root of this (sub-)tree is the
+ accessible draw document view. An accessible shape implements either
+ this service or one of the "derived" services
+ AccessibleGraphicShape or AccessibleOLEShape.
+ See the section Children in the description of the
+ ::com::sun::star::accessibility::XAccessibleContext
+ interface support for more details.</p>
+
+ <p>There are two services that extend this one: the
+ AccessibleGraphicShape and the
+ AccessibleOLEShape services provide additional interfaces.
+ See there for details.</p>
+
+ <p>A shape object is either fully or partially visible on the screen or
+ has set the ::com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ state to indicate that it is no longer
+ actively supported by its parent.</p>
+
+ <p>Each shape object that has not set the DEFUNC state has a valid
+ parent. That is either the containing draw page or a group shape or a
+ 3D scene object.</p>
+
+ @since OOo 1.1.2
+*/
+service AccessibleShape
+{
+ /** Base interface for being accessible. It gives access to the
+ ::com::sun::star::accessibility::XAccessibleContext
+ interface.
+ */
+ interface ::com::sun::star::accessibility::XAccessible;
+
+ /** Give access to the structural information of a shape.
+
+ <p>You can access the following information for the shape being made
+ accessible:
+ <ul>
+ <li>Role: The role of all shapes is
+ com::sun::star::accessibility::AccessibleRole::SHAPE.</li>
+ <li>Name: The name of a shape is its localized type name.</li>
+ <li>Description: Descriptions are localized and start with the
+ shape's type and style. After that follow some properties that
+ differ from the defaults with respect to the style.
+ <li>Children: The children of a shape are either other accessible
+ shapes or accessible text paragraphs. Only group shapes, 3D scene
+ shapes, and OLE shapes may contain other shapes as children.
+ Some of the shapes may have text paragraphs as (additional)
+ children. See ::com::sun::star::text::AccessibleParagraphView for
+ details of how this text is represented.</li>
+ <li>Parent: The parent is either the document view as represented by
+ AccessibleDrawDocumentView or a group shape, 3D
+ scene shape, or OLE shape.</li>
+ <li>Relations: Are set and maintained from the outside. See the
+ service description of the object that has accessible shapes as
+ children for details.</li>
+ <li>States: The states supported by this service are:
+ <ul>
+ <li><p>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if an accessible
+ shape is not visible but still existent for some reason.
+ This should not really happen and is a sign that someone,
+ e.g. an AT-Tool holds references to such a shape. The
+ reason for this is that either the owner of the accessible
+ shape did not remove it from its list of children or that
+ the AT-Tool does not care for the events indicating
+ this.</p>
+ <p>Usually an object that has the
+ com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ state set has already
+ been disposed and subsequent calls to this object result in
+ ::com::sun::star::lang::DisposedException
+ exceptions.</p>
+ <p>If this state is set then no other of the states below is
+ set. This is also true for the states that are otherwise
+ always set (which makes "always" more of a sort of
+ "normally").</p></li>
+ <li>com::sun::star::accessibility::AccessibleStateType::EDITABLE
+ is always set.
+ This state is interpreted to mean that not only text but
+ also other, graphical, properties of a shape can be modified.
+ </li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSED
+ is set according to
+ whether the shape currently has the focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::MULTI_LINE
+ is set if a shape supports the
+ ::com::sun::star::accessibility::XAccessibleText interface.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ is set for certain shapes
+ with certain attributes like for a filled rectangle.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::RESIZABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SELECTABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SELECTED
+ is set according to
+ whether the shape is currently selected.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ </ul>
+ <li>Locale: The shape returns the locale of its parent.</li>
+ <li>Property change listeners: Property change listeners that are
+ registered with a shape are informed of the usual events.</li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** Give access to the graphical representation of a shape.
+
+ <p>The bounding box returned by the
+ ::com::sun::star::accessibility::XAccessibleComponent::getBounds()
+ function returns the
+ shape's bounding box clipped at its parent's bounding box</p>
+
+ <p>An accessible shape tries as best as it can to return proper
+ values for calls to the
+ ::com::sun::star::accessibility::XAccessibleExtendedComponent::getForeground()
+ and
+ ::com::sun::star::accessibility::XAccessibleExtendedComponent::getBackground()
+ functions.
+ If the shape is painted with a uniform and non-transparent color
+ then the returned colors may differ from the ones visible on the
+ screen.</p>
+
+ <p>Key bindings are not supported at the moment</p>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ /** Give extended access to the graphical representation of a shape.
+
+ <p>The functions
+ ::com::sun::star::accessibility::XAccessibleExtendedComponent::getFont(),
+ ::com::sun::star::accessibility::XAccessibleExtendedComponent::getTitledBorderText(), and
+ ::com::sun::star::accessibility::XAccessibleExtendedComponent::getToolTipText()
+ are not supported and return empty references respectively empty
+ strings.</p>
+
+ <p>The support of this interface is optional to reduce overhead in
+ case that no text is displayed and color information can not be
+ determined with an acceptable cost.</p>
+ */
+ [optional] interface ::com::sun::star::accessibility::XAccessibleExtendedComponent;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/AccessibleSlideView.idl b/offapi/com/sun/star/drawing/AccessibleSlideView.idl
new file mode 100644
index 000000000..a5b248d21
--- /dev/null
+++ b/offapi/com/sun/star/drawing/AccessibleSlideView.idl
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_AccessibleSlideView_idl__
+#define __com_sun_star_drawing_AccessibleSlideView_idl__
+
+#include <com/sun/star/accessibility/XAccessible.idl>
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+
+module com { module sun { module star { module drawing {
+
+/** The AccessibleSlideView service is implemented by
+ slide views of Impress documents.
+
+ <p>An accessible slide view gives access to all visible slides of a
+ slide view.</p>
+
+ @since OOo 1.1.2
+*/
+service AccessibleSlideView
+{
+ interface ::com::sun::star::accessibility::XAccessible;
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+ interface ::com::sun::star::accessibility::XAccessibleSelection;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/AccessibleSlideViewObject.idl b/offapi/com/sun/star/drawing/AccessibleSlideViewObject.idl
new file mode 100644
index 000000000..3adaba8e7
--- /dev/null
+++ b/offapi/com/sun/star/drawing/AccessibleSlideViewObject.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_AccessibleSlideViewObject_idl__
+#define __com_sun_star_drawing_AccessibleSlideViewObject_idl__
+
+#include <com/sun/star/accessibility/XAccessible.idl>
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+
+module com { module sun { module star { module drawing {
+
+/** The AccessibleSlideViewObject service is implemented by
+ the slides of the slide view of Impress documents.
+
+ <p>An accessible slide view object gives access to one of the visible
+ slides of a slide view.</p>
+
+ @since OOo 1.1.2
+*/
+service AccessibleSlideViewObject
+{
+ interface ::com::sun::star::accessibility::XAccessible;
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/Alignment.idl b/offapi/com/sun/star/drawing/Alignment.idl
new file mode 100644
index 000000000..4150f517d
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Alignment.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_Alignment_idl__
+#define __com_sun_star_drawing_Alignment_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** The Alignment enumeration is a general way to specify the
+ alignment of an object or sub-object relative to another object.
+ */
+published enum Alignment
+{
+ TOP_LEFT,
+ TOP,
+ TOP_RIGHT,
+ LEFT,
+ CENTER,
+ RIGHT,
+ BOTTOM_LEFT,
+ BOTTOM,
+ BOTTOM_RIGHT
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/AppletShape.idl b/offapi/com/sun/star/drawing/AppletShape.idl
new file mode 100644
index 000000000..baa256adb
--- /dev/null
+++ b/offapi/com/sun/star/drawing/AppletShape.idl
@@ -0,0 +1,78 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_AppletShape_idl__
+#define __com_sun_star_drawing_AppletShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+module com { module sun { module star { module drawing {
+
+/** This Shape encapsulates an applet.
+
+ <p> An applet is a small Java-based program that is executed and rendered
+ embedded in a document.
+*/
+published service AppletShape
+{
+ /** basic service for position, size and z-order.
+
+ <p>A AppletShape cannot be rotated.
+ */
+ service com::sun::star::drawing::Shape;
+
+
+ /** This property specifies the base URI for the applet.
+
+ <p>If this property is empty, then it defaults the same base URI as for
+ the current document.
+ */
+ [property] string AppletCodeBase;
+
+
+ /** this is an optional name for the applet.
+ */
+ [property] string AppletName;
+
+
+ /** This property specifies one of the following:
+ <br>The name of the class file that contains the compiled applet subclass.
+ <br>The path to the class, including the class file itself.
+ */
+ [property] string AppletCode;
+
+
+ /** This sequence contains parameters that are passed to the applet
+ when it is initialized.
+ */
+ [property] sequence< com::sun::star::beans::PropertyValue > AppletCommands;
+
+
+ /** This property specifies whether or not the applet can be scripted.
+ */
+ [readonly, property] boolean AppletIsScript;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/Arrangement.idl b/offapi/com/sun/star/drawing/Arrangement.idl
new file mode 100644
index 000000000..131d6323c
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Arrangement.idl
@@ -0,0 +1,56 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_Arrangement_idl__
+#define __com_sun_star_drawing_Arrangement_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** With this enumeration you can arrange the relative position of an object
+ within the other objects.
+
+ @deprecated
+ */
+published enum Arrangement
+{
+ /** Move this object in front of all other objects.
+ */
+ FRONT,
+
+ /** Move this object one object more to the front.
+ */
+ MORE_FRONT,
+
+ /** Move this object one object more to the back.
+ */
+ MORE_BACK,
+
+ /** Move this object behind all other objects.
+ */
+ BACK
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/Background.idl b/offapi/com/sun/star/drawing/Background.idl
new file mode 100644
index 000000000..eff312c59
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Background.idl
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_Background_idl__
+#define __com_sun_star_drawing_Background_idl__
+
+#include <com/sun/star/drawing/FillProperties.idl>
+
+
+module com { module sun { module star { module drawing {
+
+
+/** this service provides the properties to describe a background filling for
+ a drawing page. It can be obtained by the com::sun::star::lang::XMultiServiceFactory
+ of a document and be set on draw pages that support a filled background.
+ */
+published service Background
+{
+ service FillProperties;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/BarCode.idl b/offapi/com/sun/star/drawing/BarCode.idl
new file mode 100644
index 000000000..ef26aa945
--- /dev/null
+++ b/offapi/com/sun/star/drawing/BarCode.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_drawing_BarCode_idl__
+#define __com_sun_star_drawing_BarCode_idl__
+
+ module com { module sun { module star { module drawing {
+
+
+/// This struct defines the attributes of a Bar Code
+/// @since LibreOffice 7.3
+
+published struct BarCode
+{
+ /** Type of the Bar Code
+ that is to be generated.
+ Supported types - 0:"QR Code", 1:"Code 128"
+ */
+ long Type;
+
+ /** Text for which Bar Code is made
+ */
+ string Payload;
+
+ /** Bar Code Error Correction Level
+ @see drawing/BarCodeErrorCorrection
+ */
+ long ErrorCorrection;
+
+ /** Border surrounding the Bar Code
+ It is a non-negative value.
+ One Border unit is equal to one dot in the generated Bar code.
+ */
+ long Border;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ \ No newline at end of file
diff --git a/offapi/com/sun/star/drawing/BarCodeErrorCorrection.idl b/offapi/com/sun/star/drawing/BarCodeErrorCorrection.idl
new file mode 100644
index 000000000..9314bacb5
--- /dev/null
+++ b/offapi/com/sun/star/drawing/BarCodeErrorCorrection.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_drawing_BarCodeErrorCorrection_idl__
+#define __com_sun_star_drawing_BarCodeErrorCorrection_idl__
+
+module com { module sun { module star { module drawing {
+
+/** These constants identify the type of Error Correction for
+ a Bar Code.
+
+ <p>The Error Correction for a Bar code is a measure that
+ helps a Bar code to recover, if it is destroyed.
+
+ Level L (Low) 7% of codewords can be restored.
+ Level M (Medium) 15% of codewords can be restored.
+ Level Q (Quartile) 25% of codewords can be restored.
+ Level H (High) 30% of codewords can be restored.
+
+ More Info - <a href="https://en.wikipedia.org/wiki/QR_code#Error_correction">here</a>
+ </p>
+
+ @see BarCode
+ @see GraphicObectShape
+
+ @since LibreOffice 7.3
+*/
+
+published constants BarCodeErrorCorrection
+{
+ const long LOW = 1;
+
+ const long MEDIUM = 2;
+
+ const long QUARTILE = 3;
+
+ const long HIGH = 4;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/offapi/com/sun/star/drawing/BezierPoint.idl b/offapi/com/sun/star/drawing/BezierPoint.idl
new file mode 100644
index 000000000..b06b435c3
--- /dev/null
+++ b/offapi/com/sun/star/drawing/BezierPoint.idl
@@ -0,0 +1,56 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_BezierPoint_idl__
+#define __com_sun_star_drawing_BezierPoint_idl__
+
+#include <com/sun/star/awt/Point.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This is a point on a Bezier curve.
+
+ <p>The two control points specify how the Bezier curve
+ goes through the given position.</p>
+
+ @deprecated
+ */
+published struct BezierPoint
+{
+ /** This is the position of this point.
+ */
+ com::sun::star::awt::Point Position;
+
+ /** This is the position of the first control point.
+ */
+ com::sun::star::awt::Point ControlPoint1;
+
+ /** This is the position of the second control point.
+ */
+ com::sun::star::awt::Point ControlPoint2;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/BitmapMode.idl b/offapi/com/sun/star/drawing/BitmapMode.idl
new file mode 100644
index 000000000..0172bc2b8
--- /dev/null
+++ b/offapi/com/sun/star/drawing/BitmapMode.idl
@@ -0,0 +1,53 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_BitmapMode_idl__
+#define __com_sun_star_drawing_BitmapMode_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** The BitmapMode selects an algorithm for filling an area with
+ a bitmap.
+ */
+published enum BitmapMode
+{
+
+ /** the bitmap is repeated over the fill area.
+ */
+ REPEAT,
+
+
+ /** the bitmap is stretched to fill the area.
+ */
+ STRETCH,
+
+
+ /** the bitmap is painted in its original or selected size.
+ */
+ NO_REPEAT
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/BitmapTable.idl b/offapi/com/sun/star/drawing/BitmapTable.idl
new file mode 100644
index 000000000..6deea952f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/BitmapTable.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_BitmapTable_idl__
+#define __com_sun_star_drawing_BitmapTable_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** this is a container for URLs to bitmaps.
+
+ <p>It is used for example to access the bitmaps that
+ are used inside a document for filling.
+
+ @see DrawingDocumentFactory
+ @see FillStyle::FillBitmapURL
+*/
+published service BitmapTable
+{
+ /** this container lets you access the URLs that
+ are indexed with a name.
+
+ <p>Note: You can add new entries for later use, but you cannot
+ remove entries that are used inside the document.
+ */
+ interface com::sun::star::container::XNameContainer;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/BoundVolume.idl b/offapi/com/sun/star/drawing/BoundVolume.idl
new file mode 100644
index 000000000..86f5b406b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/BoundVolume.idl
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_BoundVolume_idl__
+#define __com_sun_star_drawing_BoundVolume_idl__
+
+#include <com/sun/star/drawing/Position3D.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** specifies a three-dimensional boundary volume with two positions.
+ */
+published struct BoundVolume
+{
+ /** this is the minimum position inside the boundary volume.
+ */
+ Position3D min;
+
+
+ /** this is the maximum position inside the boundary volume.
+ */
+ Position3D max;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/CameraGeometry.idl b/offapi/com/sun/star/drawing/CameraGeometry.idl
new file mode 100644
index 000000000..8e5b8d1c4
--- /dev/null
+++ b/offapi/com/sun/star/drawing/CameraGeometry.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_CameraGeometry_idl__
+#define __com_sun_star_drawing_CameraGeometry_idl__
+
+#include <com/sun/star/drawing/Direction3D.idl>
+#include <com/sun/star/drawing/Position3D.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** specifies a three-dimensional camera.
+ */
+published struct CameraGeometry
+{
+ /** is the camera position */
+ Position3D vrp;
+
+ /** is the camera view direction */
+ Direction3D vpn;
+
+ /** is the camera up direction */
+ Direction3D vup;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/CanvasFeature.idl b/offapi/com/sun/star/drawing/CanvasFeature.idl
new file mode 100644
index 000000000..2710bbd18
--- /dev/null
+++ b/offapi/com/sun/star/drawing/CanvasFeature.idl
@@ -0,0 +1,37 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_CanvasFeature_idl__
+#define __com_sun_star_drawing_CanvasFeature_idl__
+
+module com { module sun { module star { module drawing {
+
+constants CanvasFeature
+{
+ const short None = 0;
+ const short SpriteCanvas = 1;
+};
+
+
+
+}; }; }; }; // ::com::sun::star::drawing
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/CaptionEscapeDirection.idl b/offapi/com/sun/star/drawing/CaptionEscapeDirection.idl
new file mode 100644
index 000000000..ff9fd4e5c
--- /dev/null
+++ b/offapi/com/sun/star/drawing/CaptionEscapeDirection.idl
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_CaptionEscapeDirection_idl__
+#define __com_sun_star_drawing_CaptionEscapeDirection_idl__
+
+
+module com { module sun { module star { module drawing {
+
+/** this flags describe escape direction for
+ the line of a CaptionShape.
+
+ @see CaptionShape
+*/
+published constants CaptionEscapeDirection
+{
+ /** the caption line leaves the caption area at the horizontal edge
+ that is nearest to the caption point.
+ */
+ const short horizontal = 0;
+
+ /** the caption line leaves the caption area at the vertical edge
+ that is nearest to the caption point.
+ */
+ const short vertical = 1;
+
+ /** the caption line leaves the caption area at the edge
+ that is nearest to the caption point.
+ */
+ const short auto = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/CaptionShape.idl b/offapi/com/sun/star/drawing/CaptionShape.idl
new file mode 100644
index 000000000..548a85b34
--- /dev/null
+++ b/offapi/com/sun/star/drawing/CaptionShape.idl
@@ -0,0 +1,131 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_CaptionShape_idl__
+#define __com_sun_star_drawing_CaptionShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+
+#include <com/sun/star/drawing/Text.idl>
+#include <com/sun/star/drawing/FillProperties.idl>
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/drawing/ShadowProperties.idl>
+
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+#include <com/sun/star/awt/Point.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** The CaptionShape represents a rectangular drawing shape
+ with an additional set of lines. It can be used as a description for
+ a fixed point inside a drawing.
+ */
+published service CaptionShape
+{
+ /** the position and size is only used for the
+ caption area
+ */
+ service com::sun::star::drawing::Shape;
+
+ service com::sun::star::drawing::FillProperties;
+
+ service com::sun::star::drawing::LineProperties;
+
+ service com::sun::star::drawing::ShadowProperties;
+
+ service com::sun::star::drawing::Text;
+
+ service com::sun::star::drawing::RotationDescriptor;
+
+ /** This is the radius of the caption area corners.
+ */
+ [property] long CornerRadius;
+
+ /** The caption point property specify the position of
+ the point that is captioned. A set of lines are
+ rendered from the caption area.
+ */
+ [property] com::sun::star::awt::Point CaptionPoint;
+
+ /** This property specifies the geometry of the line of a caption.
+
+ @see CaptionType
+ */
+ [property] short CaptionType;
+
+ /** This property specifies if the escape angle of
+ the line of a caption is fixed or free. If this
+ is set to `FALSE`, the application can choose
+ the best possible angle. If not, the value in
+ <code>CaptionAngle</code> is used.
+ */
+ [property] boolean CaptionIsFixedAngle;
+
+ /** This property specifies the escape angle of
+ the line of a caption.
+ It is only used if <code>CaptionIsFixedAngle</code>
+ is set to `TRUE`
+ */
+ [property] long CaptionAngle;
+
+ /** This property specifies the distance between the
+ text area of the caption and the start of the line.
+ */
+ [property] long CaptionGap;
+
+ /** This property specifies the escape direction for the
+ line of a caption.
+
+ @see CaptionEscapeDirection
+ */
+ [property] long CaptionEscapeDirection;
+
+ /** If this property is `TRUE`, the property <code>CaptionEscapeRelative</code>
+ is used, else the property <code>CaptionEscapeAbsolute</code> is used.
+ */
+ [property] boolean CaptionIsEscapeRelative;
+
+ /** This property specifies the relative escape distance for
+ the line of a caption.
+ */
+ [property] long CaptionEscapeRelative;
+
+ /** This property specifies the absolute escape distance for
+ the line of a caption.
+ */
+ [property] long CaptionEscapeAbsolute;
+
+ /** This property specifies the length of the caption line.
+ */
+ [property] long CaptionLineLength;
+
+ /** If this property is `TRUE`, the application determines
+ the best possible length for the caption line.
+ */
+ [property] boolean CaptionIsFitLineLength;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/CaptionType.idl b/offapi/com/sun/star/drawing/CaptionType.idl
new file mode 100644
index 000000000..5a881b4a3
--- /dev/null
+++ b/offapi/com/sun/star/drawing/CaptionType.idl
@@ -0,0 +1,53 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_CaptionType_idl__
+#define __com_sun_star_drawing_CaptionType_idl__
+
+
+module com { module sun { module star { module drawing {
+
+/** This constants specifies the geometry of the line of a CaptionShape.
+
+ @see CaptionShape
+*/
+published constants CaptionType
+{
+ /** the caption line is a straight line from a caption area edge to the
+ caption point.
+ */
+ const short straight = 0;
+
+ /** the caption line is the shortest line from the caption area edge to
+ the caption point.
+ */
+ const short angled = 1;
+
+ /** the caption line is build up with a straight line from the caption area
+ edge, followed by the shortest line to the caption area point.
+ */
+ const short connector = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/CircleKind.idl b/offapi/com/sun/star/drawing/CircleKind.idl
new file mode 100644
index 000000000..a640a0589
--- /dev/null
+++ b/offapi/com/sun/star/drawing/CircleKind.idl
@@ -0,0 +1,53 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_CircleKind_idl__
+#define __com_sun_star_drawing_CircleKind_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This enumeration defines a circle.
+ */
+published enum CircleKind
+{
+ /** a full circle
+ */
+ FULL,
+
+ /** a circle with a cut connected by a line
+ */
+ SECTION,
+
+ /** a circle with a cut connected by two lines
+ */
+ CUT,
+
+ /** a circle with an open cut
+ */
+ ARC
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/ClosedBezierShape.idl b/offapi/com/sun/star/drawing/ClosedBezierShape.idl
new file mode 100644
index 000000000..3364e28e3
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ClosedBezierShape.idl
@@ -0,0 +1,65 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_ClosedBezierShape_idl__
+#define __com_sun_star_drawing_ClosedBezierShape_idl__
+
+#include <com/sun/star/drawing/LineShape.idl>
+
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/drawing/FillProperties.idl>
+
+#include <com/sun/star/drawing/PolyPolygonBezierDescriptor.idl>
+
+#include <com/sun/star/drawing/Text.idl>
+
+#include <com/sun/star/drawing/ShadowProperties.idl>
+
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service is for a closed Bezier shape.
+ */
+published service ClosedBezierShape
+{
+ service com::sun::star::drawing::Shape;
+
+ service com::sun::star::drawing::LineProperties;
+
+ service com::sun::star::drawing::FillProperties;
+
+ service com::sun::star::drawing::PolyPolygonBezierDescriptor;
+
+ service com::sun::star::drawing::Text;
+
+ service com::sun::star::drawing::ShadowProperties;
+
+ service com::sun::star::drawing::RotationDescriptor;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/ColorMode.idl b/offapi/com/sun/star/drawing/ColorMode.idl
new file mode 100644
index 000000000..90288b6b4
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ColorMode.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_ColorMode_idl__
+#define __com_sun_star_drawing_ColorMode_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** The ColorMode defines the output style of colors
+ for a graphic.
+ */
+published enum ColorMode
+{
+ /** the graphic is rendered in the default color style of the output
+ device,
+ */
+ STANDARD,
+
+ /** the graphic is rendered in grayscale on the output device,
+ */
+ GREYS,
+
+ /** the graphic is rendered in black and white only,
+ */
+ MONO,
+
+ /** the graphic is rendered in a watermark like style,
+ */
+ WATERMARK
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/ColorTable.idl b/offapi/com/sun/star/drawing/ColorTable.idl
new file mode 100644
index 000000000..3b9bcddd5
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ColorTable.idl
@@ -0,0 +1,38 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_ColorTable_idl__
+#define __com_sun_star_drawing_ColorTable_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+
+module com { module sun { module star { module drawing {
+
+
+/**
+ @since LibreOffice 4.1
+ */
+published service ColorTable : com::sun::star::container::XNameContainer;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/ConnectionType.idl b/offapi/com/sun/star/drawing/ConnectionType.idl
new file mode 100644
index 000000000..7d04ea722
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ConnectionType.idl
@@ -0,0 +1,62 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_ConnectionType_idl__
+#define __com_sun_star_drawing_ConnectionType_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** the direction where the
+ connection line leaves the connection point.
+ */
+published enum ConnectionType
+{
+ /** the connection point is chosen automatically,
+ */
+ AUTO,
+
+ /** the connection line leaves the connected object to the left,
+ */
+ LEFT,
+
+ /** the connection line leaves the connected object from the top,
+ */
+ TOP,
+
+ /** the connection line leaves the connected object to the right,
+ */
+ RIGHT,
+
+ /** the connection line leaves the connected object from the bottom,
+ */
+ BOTTOM,
+
+ /** not implemented, yet.
+ */
+ SPECIAL
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/ConnectorProperties.idl b/offapi/com/sun/star/drawing/ConnectorProperties.idl
new file mode 100644
index 000000000..0e97ef5ae
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ConnectorProperties.idl
@@ -0,0 +1,65 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_ConnectorProperties_idl__
+#define __com_sun_star_drawing_ConnectorProperties_idl__
+
+#include <com/sun/star/drawing/ConnectorType.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This is a set of properties to describe the style for rendering connector.
+ */
+published service ConnectorProperties
+{
+
+ /** This property contains the kind of the connector.
+ */
+ [property] com::sun::star::drawing::ConnectorType EdgeKind;
+
+
+ /** This property contains the horizontal distance of node 1.
+ */
+ [property] long EdgeNode1HorzDist;
+
+
+ /** This property contains the vertical distance of node 1.
+ */
+ [property] long EdgeNode1VertDist;
+
+
+ /** This property contains the horizontal distance of node 2.
+ */
+ [property] long EdgeNode2HorzDist;
+
+
+ /** This property contains the vertical distance of node 2.
+ */
+ [property] long EdgeNode2VertDist;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/ConnectorShape.idl b/offapi/com/sun/star/drawing/ConnectorShape.idl
new file mode 100644
index 000000000..f3272e11e
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ConnectorShape.idl
@@ -0,0 +1,118 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_ConnectorShape_idl__
+#define __com_sun_star_drawing_ConnectorShape_idl__
+
+#include <com/sun/star/drawing/XConnectorShape.idl>
+#include <com/sun/star/drawing/ConnectorProperties.idl>
+
+#include <com/sun/star/drawing/Shape.idl>
+
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/drawing/Text.idl>
+
+#include <com/sun/star/drawing/ShadowProperties.idl>
+
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service is for a ConnectorShape, a specialized Shape,
+ which can be connected to other Shapes or GluePoints.
+ */
+published service ConnectorShape
+{
+ service com::sun::star::drawing::Shape;
+
+ service com::sun::star::drawing::LineProperties;
+
+ service com::sun::star::drawing::ConnectorProperties;
+
+ service com::sun::star::drawing::ShadowProperties;
+
+ service com::sun::star::drawing::Text;
+
+ service com::sun::star::drawing::RotationDescriptor;
+
+
+ /** this property either holds the shape that the start point of this
+ connector is connected to, or is empty when the start point of the
+ connector is not connected to a shape.
+ */
+ [property] com::sun::star::drawing::XShape StartShape;
+
+
+ /** this property holds the index of the gluepoint the start point of
+ this connector is glued on.
+ */
+ [property] long StartGluePointIndex;
+
+
+ /** this is the position of the connectors start point in 100th/mm. For
+ unconnected start points you can get and set the position. For
+ connected start points you can only get the position.
+ */
+ [property] com::sun::star::awt::Point StartPosition;
+
+
+ /** this property either holds the shape that the end point of this
+ connector is connected to, or is empty when the end point of the
+ connector is not connected to a shape.
+ */
+ [property] com::sun::star::drawing::XShape EndShape;
+
+
+ /** this property holds the index of the gluepoint the end point of
+ this connector is glued on.
+ */
+ [property] com::sun::star::awt::Point EndPosition;
+
+
+ /** this is the position of the connectors end point in 100th/mm. For
+ unconnected end points you can get and set the position. For
+ connected end points you can only get the position.
+ */
+ [property] long EndGluePointIndex;
+
+
+ /** This property contains the distance of line 1.
+ */
+ [property] long EdgeLine1Delta;
+
+
+ /** This property contains the distance of line 2.
+ */
+ [property] long EdgeLine2Delta;
+
+
+ /** This property contains the distance of line 3.
+ */
+ [property] long EdgeLine3Delta;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/ConnectorType.idl b/offapi/com/sun/star/drawing/ConnectorType.idl
new file mode 100644
index 000000000..c693ad22d
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ConnectorType.idl
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_ConnectorType_idl__
+#define __com_sun_star_drawing_ConnectorType_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** The ConnectorType specifies the appearance of a connector.
+ */
+published enum ConnectorType
+{
+ /** the connector is drawn with three lines, with the middle line
+ perpendicular to the other two
+ */
+ STANDARD,
+
+ /** the ConnectorShape is drawn as a curve
+ */
+ CURVE,
+
+ /** the ConnectorShape is drawn as a straight line
+ */
+ LINE,
+
+ /** the connector is drawn with three lines
+ */
+ LINES
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/ControlShape.idl b/offapi/com/sun/star/drawing/ControlShape.idl
new file mode 100644
index 000000000..4ecb5f3d6
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ControlShape.idl
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_ControlShape_idl__
+#define __com_sun_star_drawing_ControlShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+
+#include <com/sun/star/drawing/XControlShape.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service is for a Shape which contains a control.
+ <p>
+ @see Shape
+ @see XControlShape
+ */
+published service ControlShape
+{
+ service com::sun::star::drawing::Shape;
+ interface com::sun::star::drawing::XControlShape;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/CoordinateSequence.idl b/offapi/com/sun/star/drawing/CoordinateSequence.idl
new file mode 100644
index 000000000..b09755940
--- /dev/null
+++ b/offapi/com/sun/star/drawing/CoordinateSequence.idl
@@ -0,0 +1,33 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_CoordinateSequence_idl__
+#define __com_sun_star_drawing_CoordinateSequence_idl__
+
+
+
+module com { module sun { module star { module drawing {
+
+published typedef sequence<long> CoordinateSequence;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/CoordinateSequenceSequence.idl b/offapi/com/sun/star/drawing/CoordinateSequenceSequence.idl
new file mode 100644
index 000000000..231c23720
--- /dev/null
+++ b/offapi/com/sun/star/drawing/CoordinateSequenceSequence.idl
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_CoordinateSequenceSequence_idl__
+#define __com_sun_star_drawing_CoordinateSequenceSequence_idl__
+
+#include <com/sun/star/drawing/CoordinateSequence.idl>
+
+
+module com { module sun { module star { module drawing {
+
+published typedef sequence<CoordinateSequence> CoordinateSequenceSequence;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/CustomShape.idl b/offapi/com/sun/star/drawing/CustomShape.idl
new file mode 100644
index 000000000..f3e1f224c
--- /dev/null
+++ b/offapi/com/sun/star/drawing/CustomShape.idl
@@ -0,0 +1,84 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_CustomShape_idl__
+#define __com_sun_star_drawing_CustomShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+
+#include <com/sun/star/drawing/FillProperties.idl>
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/drawing/ShadowProperties.idl>
+#include <com/sun/star/drawing/Text.idl>
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+module com { module sun { module star { module drawing {
+
+
+/** This service is for a CustomShape
+ */
+service CustomShape
+{
+ service com::sun::star::drawing::Shape;
+
+ service com::sun::star::drawing::FillProperties;
+
+ service com::sun::star::drawing::LineProperties;
+
+ service com::sun::star::drawing::ShadowProperties;
+
+ service com::sun::star::drawing::Text;
+
+ service com::sun::star::drawing::RotationDescriptor;
+
+ /** This property contains the CustomShapeEngine service name that has to
+ be used for rendering.
+ */
+ [property] string CustomShapeEngine;
+
+ /** This property can be used to store data that the CustomShapeEngine may
+ use for rendering
+ */
+ [optional, property] string CustomShapeData;
+
+ /** This property describes the geometry of the CustomShape. The CustomShapeEngine
+ that is used should be able to get on with the content of this property.
+
+ If the CustomShapeEngine property is "com.sun.star.drawing.EnhancedCustomShapeEngine",
+ then this property is containing properties as they are specified in the service
+ com.sun.star.drawing.EnhancedCustomShapeGeometry
+ */
+ [optional, property] sequence<::com::sun::star::beans::PropertyValue> CustomShapeGeometry;
+
+ /** This property describes the URL to a replacement graphic that could
+ be displayed if the CustomShape engine is not available.
+ */
+ [optional, property] string CustomShapeReplacementURL;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/CustomShapeEngine.idl b/offapi/com/sun/star/drawing/CustomShapeEngine.idl
new file mode 100644
index 000000000..e0b89e531
--- /dev/null
+++ b/offapi/com/sun/star/drawing/CustomShapeEngine.idl
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_CustomShapeEngine_idl__
+#define __com_sun_star_drawing_CustomShapeEngine_idl__
+
+#include <com/sun/star/lang/XInitialization.idl>
+
+#include <com/sun/star/drawing/XCustomShapeEngine.idl>
+
+
+module com { module sun { module star { module drawing {
+
+
+/** This service is for a CustomShape
+ */
+service CustomShapeEngine
+{
+ /** initializing the CustomShapeEngine
+
+ */
+ interface ::com::sun::star::lang::XInitialization;
+
+ interface com::sun::star::drawing::XCustomShapeEngine;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/DashStyle.idl b/offapi/com/sun/star/drawing/DashStyle.idl
new file mode 100644
index 000000000..8b8217541
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DashStyle.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_DashStyle_idl__
+#define __com_sun_star_drawing_DashStyle_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This enumeration defines the style of a dash on a line.
+ */
+published enum DashStyle
+{
+ /** the dash is a rectangle
+ */
+ RECT,
+
+ /** the dash is a point
+ */
+ ROUND,
+
+ /** the dash is a rectangle, with the size of the dash given in
+ relation to the length of the line
+ */
+ RECTRELATIVE,
+
+ /** the dash is a point, with the size of the dash given in relation
+ to the length of the line
+ */
+ ROUNDRELATIVE
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/DashTable.idl b/offapi/com/sun/star/drawing/DashTable.idl
new file mode 100644
index 000000000..2e140c42b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DashTable.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_DashTable_idl__
+#define __com_sun_star_drawing_DashTable_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** this is a container for LineDashs
+
+ <p>It is used for example to access the LineDashs that
+ are used inside a document.
+
+ @see DrawingDocumentFactory
+ @see LineDash
+*/
+published service DashTable
+{
+ /** this container lets you access the LineDashs that
+ are indexed with a name.
+
+ <p>Note: You can add new entries for later use, but you cannot
+ remove entries that are used inside the document.
+ */
+ interface com::sun::star::container::XNameContainer;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/Defaults.idl b/offapi/com/sun/star/drawing/Defaults.idl
new file mode 100644
index 000000000..7a54f0049
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Defaults.idl
@@ -0,0 +1,53 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_Defaults_idl__
+#define __com_sun_star_drawing_Defaults_idl__
+
+#include <com/sun/star/drawing/TextProperties.idl>
+#include <com/sun/star/drawing/FillProperties.idl>
+#include <com/sun/star/drawing/LineProperties.idl>
+#include <com/sun/star/drawing/ShadowProperties.idl>
+#include <com/sun/star/drawing/ConnectorProperties.idl>
+#include <com/sun/star/drawing/MeasureProperties.idl>
+
+
+
+module com { module sun { module star { module drawing {
+
+
+/** This is a set of properties to access the defaults of a drawing document
+
+ @see DrawingDocumentFactory
+ */
+published service Defaults
+{
+ service TextProperties;
+ service LineProperties;
+ service FillProperties;
+ service ShadowProperties;
+ service ConnectorProperties;
+ service MeasureProperties;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/Direction3D.idl b/offapi/com/sun/star/drawing/Direction3D.idl
new file mode 100644
index 000000000..1afcd1b54
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Direction3D.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_Direction3D_idl__
+#define __com_sun_star_drawing_Direction3D_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** specifies a 3-dimensional vector.
+ */
+published struct Direction3D
+{
+ double DirectionX;
+ double DirectionY;
+ double DirectionZ;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/DocumentSettings.idl b/offapi/com/sun/star/drawing/DocumentSettings.idl
new file mode 100644
index 000000000..5223d906b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DocumentSettings.idl
@@ -0,0 +1,95 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_DocumentSettings_idl__
+#define __com_sun_star_drawing_DocumentSettings_idl__
+
+#include <com/sun/star/document/Settings.idl>
+#include <com/sun/star/document/HeaderFooterSettings.idl>
+
+
+module com { module sun { module star { module drawing {
+
+
+/** describes properties that apply to the whole drawing document.
+ */
+published service DocumentSettings
+{
+ service com::sun::star::document::Settings;
+
+ /** This service configures the header and footer settings during print
+ */
+ [optional] service com::sun::star::document::HeaderFooterSettings;
+
+
+ /** provides access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** This is the default logical measure unit that is used for string
+ formatting inside the document, f.e. the measure text
+ */
+ [optional, property] short MeasureUnit;
+
+ /** is the numerator for the logical scale of the document
+ */
+ [optional, property] long ScaleNumerator;
+
+ /** is the denominator for the logical scale of the document
+ */
+ [optional, property] long ScaleDenominator;
+
+ // Note: the following properties exist also in
+ // css::presentation::DocumentSettings
+
+
+ /** enables or disables the fitting of the page to the printable
+ area during print
+ */
+ [optional, property] boolean IsPrintFitPage;
+
+ /** if this is true and the paper size for printing is larger than
+ the paper size of the printer than the content is tiled over
+ multiple pages.
+ */
+ [optional, property] boolean IsPrintTilePage;
+
+ /** is the number format used for page number fields
+
+ Values 0-7 are supported.
+
+ @see com::sun::star::style::NumberingType
+ */
+ [optional, property] long PageNumberFormat;
+
+ /** If this is true, the distance between two paragraphs is
+ the sum of ParaBottomMargin of the previous and ParaTopMargin of
+ the next paragraph. If false, only the greater of the two is
+ chosen.
+ */
+ [optional, property] boolean ParagraphSummation;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/DoubleSequence.idl b/offapi/com/sun/star/drawing/DoubleSequence.idl
new file mode 100644
index 000000000..e0f006b36
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DoubleSequence.idl
@@ -0,0 +1,33 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_DoubleSequence_idl__
+#define __com_sun_star_drawing_DoubleSequence_idl__
+
+
+
+module com { module sun { module star { module drawing {
+
+published typedef sequence<double> DoubleSequence;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/DoubleSequenceSequence.idl b/offapi/com/sun/star/drawing/DoubleSequenceSequence.idl
new file mode 100644
index 000000000..c85d10fba
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DoubleSequenceSequence.idl
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_DoubleSequenceSequence_idl__
+#define __com_sun_star_drawing_DoubleSequenceSequence_idl__
+
+#include <com/sun/star/drawing/DoubleSequence.idl>
+
+
+module com { module sun { module star { module drawing {
+
+published typedef sequence<DoubleSequence> DoubleSequenceSequence;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/DrawPage.idl b/offapi/com/sun/star/drawing/DrawPage.idl
new file mode 100644
index 000000000..d8e668995
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DrawPage.idl
@@ -0,0 +1,65 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_DrawPage_idl__
+#define __com_sun_star_drawing_DrawPage_idl__
+
+#include <com/sun/star/drawing/GenericDrawPage.idl>
+
+#include <com/sun/star/drawing/XMasterPageTarget.idl>
+#include <com/sun/star/form/XFormsSupplier.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This service specifies a page for the actual draw pages to contain
+ the drawings.
+ @see GenericDrawPage
+ @see DrawPages
+ */
+published service DrawPage
+{
+
+ /** This service describes the base functionality that every
+ draw/master page has.
+ */
+ service com::sun::star::drawing::GenericDrawPage;
+
+ /** provides the link to a MasterPage.
+ */
+ interface com::sun::star::drawing::XMasterPageTarget;
+
+ /** provides access to the hierarchy of form components belonging to the draw page.
+
+ <p>Every draw page may contain a form layer - that is, a hierarchy of form elements. The layer can be
+ accessed using this interface.</p>
+
+ @see com::sun::star::form::FormComponent
+ @see com::sun::star::form::FormComponents
+ @see com::sun::star::form::Forms
+ */
+ [optional] interface com::sun::star::form::XFormsSupplier;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/DrawPages.idl b/offapi/com/sun/star/drawing/DrawPages.idl
new file mode 100644
index 000000000..17b9587e8
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DrawPages.idl
@@ -0,0 +1,62 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_DrawPages_idl__
+#define __com_sun_star_drawing_DrawPages_idl__
+
+#include <com/sun/star/drawing/XDrawPages.idl>
+
+#include <com/sun/star/drawing/XDrawPageSummarizer.idl>
+
+#include <com/sun/star/drawing/XDrawPageExpander.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** provides access to a container of DrawPages
+ and makes it possible for you to manipulate them.
+
+ @see XDrawPagesSupplier
+ @see DrawingDocument
+ */
+published service DrawPages
+{
+ /** lets you access and create DrawPages
+ */
+ interface com::sun::star::drawing::XDrawPages;
+
+
+ /** This optional interface makes it possible to summarize the
+ pages in this collection.
+ */
+ [optional] interface com::sun::star::drawing::XDrawPageSummarizer;
+
+
+ /** This optional interface can be used for expanding a summarized page.
+ */
+ [optional] interface com::sun::star::drawing::XDrawPageExpander;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/DrawViewMode.idl b/offapi/com/sun/star/drawing/DrawViewMode.idl
new file mode 100644
index 000000000..7e0ed15be
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DrawViewMode.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_DrawViewMode_idl__
+#define __com_sun_star_drawing_DrawViewMode_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This enumeration specifies the view mode of a view in a presentation
+ document.
+
+ @deprecated
+ */
+published enum DrawViewMode
+{
+ /** The view shows the drawing pages.
+ */
+ DRAW,
+
+ /** The view shows the notes pages.
+ */
+ NOTES,
+
+ /** The view shows the handout pages,
+ */
+ HANDOUT
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/DrawingDocument.idl b/offapi/com/sun/star/drawing/DrawingDocument.idl
new file mode 100644
index 000000000..e558605a1
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DrawingDocument.idl
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_DrawingDocument_idl__
+#define __com_sun_star_drawing_DrawingDocument_idl__
+
+#include <com/sun/star/drawing/GenericDrawingDocument.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** specifies a document which consists of multiple pages
+ with drawings.
+ */
+service DrawingDocument
+{
+ /** this base service describes the whole functionality of such DrawingDocument. */
+ service GenericDrawingDocument;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/DrawingDocumentDrawView.idl b/offapi/com/sun/star/drawing/DrawingDocumentDrawView.idl
new file mode 100644
index 000000000..5f771c095
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DrawingDocumentDrawView.idl
@@ -0,0 +1,152 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_DrawingDocumentDrawView_idl__
+#define __com_sun_star_drawing_DrawingDocumentDrawView_idl__
+
+#include <com/sun/star/drawing/XDrawView.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/frame/Controller.idl>
+
+#include <com/sun/star/view/XSelectionSupplier.idl>
+
+#include <com/sun/star/drawing/XDrawPage.idl>
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/awt/Point.idl>
+
+module com { module sun { module star { module view {
+ published interface XFormLayerAccess;
+}; }; }; };
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This component integrates a view to a DrawPages or
+ MasterPage from a DrawingDocument.
+ */
+published service DrawingDocumentDrawView
+{
+
+ /** this services offers the integration of this component into the
+ desktop.
+ */
+ service com::sun::star::frame::Controller;
+
+
+ /** lets you access the window for this view
+
+ @since OOo 1.1.2
+ */
+ [optional] interface com::sun::star::awt::XWindow;
+
+ /** let's you access the view part of the form layer contained in the document's view
+ */
+ [optional] interface com::sun::star::view::XFormLayerAccess;
+
+
+ /** lets you set/get the current page displayed by this
+ view.
+ */
+ interface com::sun::star::drawing::XDrawView;
+
+
+
+ /** lets you access the properties of this service.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+
+ /** gives you access to the selected entities of this
+ view.
+ */
+ interface com::sun::star::view::XSelectionSupplier;
+
+
+ /** If the view is in master page mode, the view shows the master pages
+ of this model.
+ */
+ [property] boolean IsMasterPageMode;
+
+
+ /** If the view is in layer mode, the user can modify the layer of the
+ model of this view in the user interface.
+ */
+ [property] boolean IsLayerMode;
+
+
+
+ /** This is the drawing page that is currently visible.
+ */
+ [property] XDrawPage CurrentPage;
+
+
+ /** This is the area that is currently visible.
+ */
+ [readonly, property] com::sun::star::awt::Rectangle VisibleArea;
+
+
+ /** This property defines the zoom type for the document.
+ @see com::sun::star::view::DocumentZoomType
+
+ Note: After setting other types then
+ com::sun::star::view::DocumentZoomType::BY_VALUE,
+ implementations may calculate the required zoom value and set the type
+ to com::sun::star::view::DocumentZoomType::BY_VALUE
+ afterwards.
+
+ @since OOo 1.1.2
+ */
+ [optional, property] short ZoomType;
+
+
+ /** Defines the zoom value to use.
+ Valid only if the ZoomType is set to
+ com::sun::star::view::DocumentZoomType::BY_VALUE.
+
+ @since OOo 1.1.2
+ */
+ [optional, property] short ZoomValue;
+
+
+ /** defines the offset from the top left position of the displayed page
+ to the top left position of the view area in 100th/mm.
+
+ @since OOo 1.1.2
+ */
+ [optional, property] com::sun::star::awt::Point ViewOffset;
+
+ /** The sub controller takes over view specific handling of properties,
+ the selection, and the current page/slide.
+
+ The following line is commented because XDrawSubController is not
+ (yet) published and the IDL compiler does not allow that.
+
+ [optional, property] ::com::sun::star::drawing::XDrawSubController SubController;
+ */
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/DrawingDocumentFactory.idl b/offapi/com/sun/star/drawing/DrawingDocumentFactory.idl
new file mode 100644
index 000000000..abbd1a0a1
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DrawingDocumentFactory.idl
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_DrawingDocumentFactory_idl__
+#define __com_sun_star_drawing_DrawingDocumentFactory_idl__
+
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** @deprecated Please use the factory interface of the service GenericDrawingDocument.
+ */
+published service DrawingDocumentFactory
+{
+ /** @deprecated */
+ interface com::sun::star::lang::XMultiServiceFactory;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EllipseShape.idl b/offapi/com/sun/star/drawing/EllipseShape.idl
new file mode 100644
index 000000000..448094c55
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EllipseShape.idl
@@ -0,0 +1,77 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_EllipseShape_idl__
+#define __com_sun_star_drawing_EllipseShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/drawing/FillProperties.idl>
+
+#include <com/sun/star/drawing/Text.idl>
+
+#include <com/sun/star/drawing/ShadowProperties.idl>
+
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+#include <com/sun/star/drawing/CircleKind.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service is for an ellipse or circle shape.
+ */
+published service EllipseShape
+{
+ service com::sun::star::drawing::Shape;
+
+ service com::sun::star::drawing::LineProperties;
+
+ service com::sun::star::drawing::FillProperties;
+
+ service com::sun::star::drawing::Text;
+
+ service com::sun::star::drawing::ShadowProperties;
+
+ service com::sun::star::drawing::RotationDescriptor;
+
+
+ /** This is the kind of circle.
+ */
+ [property] com::sun::star::drawing::CircleKind CircleKind;
+
+
+ /** If the kind specifies an open circle, this is the start angle.
+ */
+ [property] long CircleStartAngle;
+
+
+ /** If the kind specifies an open circle, this is the end angle.
+ */
+ [property] long CircleEndAngle;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.idl
new file mode 100644
index 000000000..496329f17
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeAdjustmentValue_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeAdjustmentValue_idl__
+
+#include <com/sun/star/beans/PropertyState.idl>
+
+
+module com { module sun { module star { module drawing {
+
+
+/** specifies a single AdjustmentValue
+ */
+struct EnhancedCustomShapeAdjustmentValue
+{
+ /** the any can be of type long or double
+ */
+ any Value;
+
+ ::com::sun::star::beans::PropertyState State;
+
+
+ /** optional name, used by pptx import/export for custom shape presets
+ */
+ string Name;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeExtrusion.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeExtrusion.idl
new file mode 100644
index 000000000..4b589c4aa
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeExtrusion.idl
@@ -0,0 +1,159 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeExtrusion_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeExtrusion_idl__
+
+#include <com/sun/star/awt/Size.idl>
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/drawing/Position3D.idl>
+#include <com/sun/star/drawing/Direction3D.idl>
+#include <com/sun/star/drawing/ProjectionMode.idl>
+#include <com/sun/star/drawing/ShadeMode.idl>
+#include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.idl>
+
+
+module com { module sun { module star { module drawing {
+
+/**
+ This service may be represented by a ::com::sun::star::beans::PropertyValue [].
+*/
+
+service EnhancedCustomShapeExtrusion
+{
+ /** This property specifies if extrusion is displayed. The default for this property
+ is "false"
+ */
+ [optional, property] boolean Extrusion;
+
+ /** This attribute specifies the brightness of a scene in percent.
+ */
+ [optional, property] double Brightness;
+
+ /** The first value of EnhancedCustomShapeParameterPair specifies the depth of the
+ extrusion in 1/100 mm. The second value (0.0 to 1.0) specifies the fraction of
+ the extrusion that lies before the shape, a value of 0 is default.
+ */
+ [optional, property] ::com::sun::star::drawing::EnhancedCustomShapeParameterPair Depth;
+
+ /** This attribute specifies the amount of diffusion reflected by the shape
+ in percent
+ */
+ [optional, property] double Diffusion;
+
+ /** Specifies the number of line segments that should be used to display curved surfaces.
+ The higher the number the more line segments are used.
+ */
+ [optional, property] long NumberOfLineSegments;
+
+ /** Specifies if the front face of the extrusion responds to lightning changes.
+ */
+ [optional, property] boolean LightFace;
+
+ /** Specifies if the primary light is harsh.
+ */
+ [optional, property] boolean FirstLightHarsh;
+
+ /** Specifies if the secondary light is harsh.
+ */
+ [optional, property] boolean SecondLightHarsh;
+
+ /** Specifies the intensity for the first light in percent.
+ */
+ [optional, property] double FirstLightLevel;
+
+ /** Specifies the intensity for the second light in percent.
+ */
+ [optional, property] double SecondLightLevel;
+
+ /** Specifies the direction of the first light.
+ */
+ [optional, property] ::com::sun::star::drawing::Direction3D FirstLightDirection;
+
+ /** Specifies the direction of the second light.
+ */
+ [optional, property] ::com::sun::star::drawing::Direction3D SecondLightDirection;
+
+ /** Specifies if the surface of the extrusion object looks like metal.
+ */
+ [optional, property] boolean Metal;
+
+ /** Specifies in case of Metal=true the way the rendering of the shape is modified.
+ <p>Note: Currently not usable in ODF strict.</p>
+
+ @see EnhancedCustomShapeMetalType
+
+ @since LibreOffice 7.4
+ */
+ [optional, property] short MetalType;
+
+ /** This property defines the shade mode.
+ */
+ [optional, property] ::com::sun::star::drawing::ShadeMode ShadeMode;
+
+ /** This attributes specifies the rotation angle about the x-axis in degrees.
+ The order of rotation is: z-axis, y-axis and then x-axis. The z-axis is
+ specified by the draw:rotate-angle.
+ */
+ [optional, property] ::com::sun::star::drawing::EnhancedCustomShapeParameterPair RotateAngle;
+
+ /** This attribute specifies the position of the rotate center
+ in terms of shape size fractions, if the property is omitted, then
+ the geometrical center of the shape is used (this is the default).
+ */
+ [optional, property] ::com::sun::star::drawing::Direction3D RotationCenter;
+
+ /** The draw:extrusion-shininess specifies the shininess of a mirror in percent.
+ */
+ [optional, property] double Shininess;
+
+ /** The first value of the draw:extrusion-skew attribute specifies the skew amount of
+ an extrusion in percent. The second parameter specifies the skew-angle. Skew settings
+ are only applied if the attribute ProjectionMode is ProjectionMode_PARALLEL.
+ */
+ [optional, property] ::com::sun::star::drawing::EnhancedCustomShapeParameterPair Skew;
+
+ /** This attribute specifies the specularity of an extrusion object in percent.
+ */
+ [optional, property] double Specularity;
+
+ /** This property defines the projection mode.
+ */
+ [optional, property] com::sun::star::drawing::ProjectionMode ProjectionMode;
+
+ /** This attribute specifies the viewpoint of the observer.
+ */
+ [optional, property] ::com::sun::star::drawing::Position3D ViewPoint;
+
+ /** This attribute specifies the origin within the bounding box of the
+ shape in terms of the shape size fractions.
+ */
+ [optional, property] ::com::sun::star::drawing::EnhancedCustomShapeParameterPair Origin;
+
+ /** This attribute specifies if the "SecondFillColor" is used as extrusion color
+ */
+ [optional, property] boolean ExtrusionColor;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeGeometry.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeGeometry.idl
new file mode 100644
index 000000000..d0339bf50
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeGeometry.idl
@@ -0,0 +1,99 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeGeometry_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeGeometry_idl__
+
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/beans/PropertyValues.idl>
+#include <com/sun/star/drawing/EnhancedCustomShapeHandle.idl>
+#include <com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.idl>
+
+
+module com { module sun { module star { module drawing {
+
+/**
+ This service may be represented by a ::com::sun::star::beans::PropertyValue [].
+*/
+
+service EnhancedCustomShapeGeometry
+{
+ /**
+ The Type attribute contains the name of a shape type. This name can be
+ used to offer specialized user interfaces for certain classes of shapes, like
+ for arrows, smileys, etc. The shape type is rendering engine dependent and does
+ not influence the geometry of the shape. If the value of the draw:type
+ attribute is non-primitive, then no shape type is available.
+ */
+ [property] string Type;
+
+ /** This property describes the user space of the shape in its canonical form
+ */
+ [optional, property] ::com::sun::star::awt::Rectangle ViewBox;
+
+ /** This property specifies if the orientation of the shape is horizontal mirrored.
+ */
+ [optional, property] boolean MirroredX;
+
+ /** This property specifies if the orientation of the shape is vertical mirrored.
+ */
+ [optional, property] boolean MirroredY;
+
+ /** This property specifies the text rotation angle in degrees. The text rotation is added
+ to the shape geometry rotation.
+ */
+ [optional, property] double TextRotateAngle;
+
+ /** This property specifies a sequence of Adjustment values.
+ */
+ [optional, property] sequence<::com::sun::star::drawing::EnhancedCustomShapeAdjustmentValue> AdjustmentValues;
+
+ /** This property sequence is including the extrusion description, the properties
+ are as same as specified in the service com::sun::star:drawing::EnhancedCustomShapeExtrusion
+ */
+ [optional, property] sequence<::com::sun::star::beans::PropertyValue> Extrusion;
+
+ /** This property sequence is including the path description, the properties
+ are as same as specified in the service com::sun::star:drawing::EnhancedCustomShapePath
+ */
+ [optional, property] sequence<::com::sun::star::beans::PropertyValue> Path;
+
+ /** This property sequence is including the text path description, the properties
+ are as same as specified in the service com::sun::star:drawing::EnhancedCustomShapeTextPath
+ */
+ [optional, property] sequence<::com::sun::star::beans::PropertyValue> TextPath;
+
+ /** This property is describing the equations that are used, each equation can be referenced
+ by com::sun::star::drawing::EnhancedCustomShapeParameter which are often used in Path, Extrusion
+ and or Handle descriptions.
+ */
+ [optional, property] sequence<string> Equations;
+
+ /** This property is describing the interaction handles that are used, each inner property sequence
+ is having the same properties as they are specified in the service com::sun::star:drawing::EnhancedCustomShapeHandle
+ */
+ [optional, property] sequence<::com::sun::star::beans::PropertyValues> Handles;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeGluePointType.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeGluePointType.idl
new file mode 100644
index 000000000..0d6acb66f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeGluePointType.idl
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeGluePointType_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeGluePointType_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** defines which gluepoints are being offered by the EnhancedCustomShape
+ */
+constants EnhancedCustomShapeGluePointType
+{
+ /** no gluepoints are offered
+ */
+ const short NONE = 0;
+
+ /** gluepoints are offered for each segment
+ */
+ const short SEGMENTS = 1;
+
+ /** only gluepoints of the GluePoints property from the
+ com::sun:star::drawing::EnhancedCustomShapePath are offered
+ */
+ const short CUSTOM = 2;
+
+ /** standard top, left, right, bottom gluepoints are offered
+ */
+ const short RECT = 3;
+ };
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeHandle.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeHandle.idl
new file mode 100644
index 000000000..53038f14b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeHandle.idl
@@ -0,0 +1,109 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeHandle_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeHandle_idl__
+
+#include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.idl>
+
+
+module com { module sun { module star { module drawing {
+
+
+/**
+ This service may be represented by a ::com::sun::star::beans::PropertyValue [].
+*/
+
+service EnhancedCustomShapeHandle
+{
+ /** Specifies if the x position of the handle is mirrored.
+ */
+ [optional, property] boolean MirroredX;
+
+ /** Specifies if the y position of the handle is mirrored.
+ */
+ [optional, property] boolean MirroredY;
+
+ /** Specifies if the handle directions are swapped if the shape is taller than wide.
+ */
+ [optional, property] boolean Switched;
+
+ /** If the property Polar is set, then the first value specifies the radius and the second
+ parameter the angle of the handle. Otherwise, if the handle is not polar, the first parameter
+ specifies the horizontal handle position, the vertical handle position is described by the
+ second parameter.
+ */
+ [optional, property] com::sun::star::drawing::EnhancedCustomShapeParameterPair Position;
+
+ /** If this attribute is set, the handle is a polar handle. The property specifies the center
+ position of the handle. If this attribute is set, the attributes RangeX and RangeY are ignored,
+ instead the attribute RadiusRange is used.
+ */
+ [optional, property] ::com::sun::star::drawing::EnhancedCustomShapeParameterPair Polar;
+
+ /** RefX, if this attribute is set, it specifies the index of the adjustment
+ value which is connected to the horizontal position of the handle
+ */
+ [optional, property] long RefX;
+
+ /** RefY, if this attribute is set, it specifies the index of the adjustment
+ value which is connected to the vertical position of the handle
+ */
+ [optional, property] long RefY;
+
+ /** RefAngle, if this attribute is set, it specifies the index of the adjustment
+ value which is connected to the angle of the handle
+ */
+ [optional, property] long RefAngle;
+
+ /** RefR, if this attribute is set, it specifies the index of the adjustment
+ value which is connected to the radius of the handle
+ */
+ [optional, property] long RefR;
+
+ /** If the attribute RangeXMinimum is set, it specifies the horizontal minimum range of the handle.
+ */
+ [optional, property] ::com::sun::star::drawing::EnhancedCustomShapeParameter RangeXMinimum;
+
+ /** If the attribute RangeXMaximum is set, it specifies the horizontal maximum range of the handle.
+ */
+ [optional, property] ::com::sun::star::drawing::EnhancedCustomShapeParameter RangeXMaximum;
+
+ /** If the attribute RangeYMinimum is set, it specifies the vertical minimum range of the handle.
+ */
+ [optional, property] ::com::sun::star::drawing::EnhancedCustomShapeParameter RangeYMinimum;
+
+ /** If the attribute RangeYMaximum is set, it specifies the vertical maximum range of the handle.
+ */
+ [optional, property] ::com::sun::star::drawing::EnhancedCustomShapeParameter RangeYMaximum;
+
+ /** If this attribute is set, it specifies the minimum radius range that can be used for a polar handle.
+ */
+ [optional, property] ::com::sun::star::drawing::EnhancedCustomShapeParameter RadiusRangeMinimum;
+
+ /** If this attribute is set, it specifies the maximum radius range that can be used for a polar handle.
+ */
+ [optional, property] ::com::sun::star::drawing::EnhancedCustomShapeParameter RadiusRangeMaximum;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeMetalType.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeMetalType.idl
new file mode 100644
index 000000000..aea502ccd
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeMetalType.idl
@@ -0,0 +1,36 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeMetalType_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeMetalType_idl__
+
+
+ module com { module sun { module star { module drawing {
+
+/** These constants define the way the attribute Metal of service
+ EnhancedCustomShapeExtrusion is interpreted for rendering the shape.
+ @since LibreOffice 7.4
+ */
+constants EnhancedCustomShapeMetalType
+{
+ /** The rendering of the shape is modified as specified in the ODF standard.
+ */
+ const short MetalODF = 0;
+
+ /** The rendering of the shape is modified to get a similar rendering as in Microsoft Office for objects, which have the fc3DMetallic flag in Rich Text Format or binary MS Office format set.
+ */
+ const short MetalMSCompatible = 1;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ \ No newline at end of file
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeParameter.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeParameter.idl
new file mode 100644
index 000000000..cd5467caf
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeParameter.idl
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeParameter_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeParameter_idl__
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** specifies a single value which is used with EnhancedCustomShapes
+ */
+struct EnhancedCustomShapeParameter
+{
+ /** the any can be of type long or double
+ */
+ any Value;
+
+ short Type;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeParameterPair.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeParameterPair.idl
new file mode 100644
index 000000000..3e32ca589
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeParameterPair.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeParameterPair_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeParameterPair_idl__
+
+#include <com/sun/star/drawing/EnhancedCustomShapeParameter.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** specifies the coordinates used with EnhancedCustomShapes
+ */
+struct EnhancedCustomShapeParameterPair
+{
+ ::com::sun::star::drawing::EnhancedCustomShapeParameter First;
+
+
+ ::com::sun::star::drawing::EnhancedCustomShapeParameter Second;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeParameterType.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeParameterType.idl
new file mode 100644
index 000000000..a6502f5fc
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeParameterType.idl
@@ -0,0 +1,97 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeParameterType_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeParameterType_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** defines how an EnhancedCustomShapeParameter has to be interpreted
+ */
+constants EnhancedCustomShapeParameterType
+{
+ /** the value of the point component is normal, the Coordinate is taken as it is
+ */
+ const short NORMAL = 0;
+
+ /** the value of the point component has to be interpreted as index to an Equation
+ */
+ const short EQUATION = 1;
+
+ /** the value of the point component has to be interpreted as index into the list of AdjustmentValues
+ */
+ const short ADJUSTMENT = 2;
+
+ /** the logical left border of the CustomShape is used
+ */
+ const short LEFT = 3;
+
+ /** the logical top border of the CustomShape is used
+ */
+ const short TOP = 4;
+
+ /** the logical right border of the CustomShape is used
+ */
+ const short RIGHT = 5;
+
+ /** the logical bottom border of the CustomShape is used
+ */
+ const short BOTTOM = 6;
+
+ /** the x value of the stretch point is used
+ */
+ const short XSTRETCH = 7;
+
+ /** the y value of the stretch point is used
+ */
+ const short YSTRETCH = 8;
+
+ /** If the shape has a line style, a value of 1 is used.
+ */
+ const short HASSTROKE = 9;
+
+ /** If the shape has a fill style, a value of 1 is used.
+ */
+ const short HASFILL = 10;
+
+ /** The width of the svg:viewBox is used.
+ */
+ const short WIDTH = 11;
+
+ /** The height of the svg:viewBox is used.
+ */
+ const short HEIGHT = 12;
+
+ /** The logical width of the shape is used.
+ */
+ const short LOGWIDTH = 13;
+
+ /** The logical height of the shape is used.
+ */
+ const short LOGHEIGHT = 14;
+};
+
+
+ }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapePath.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapePath.idl
new file mode 100644
index 000000000..568365646
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapePath.idl
@@ -0,0 +1,100 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_EnhancedCustomShapePath_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapePath_idl__
+
+#include <com/sun/star/awt/Size.idl>
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.idl>
+#include <com/sun/star/drawing/EnhancedCustomShapeSegment.idl>
+#include <com/sun/star/drawing/EnhancedCustomShapeTextFrame.idl>
+
+
+module com { module sun { module star { module drawing {
+
+/**
+ This service may be represented by a ::com::sun::star::beans::PropertyValue [].
+*/
+
+service EnhancedCustomShapePath
+{
+ /** This property is specifying the points that makes the geometry of the shape
+ */
+ [optional, property] sequence<::com::sun::star::drawing::EnhancedCustomShapeParameterPair> Coordinates;
+
+ /** This property specifies the commands and the way the Coordinates have to be interpreted.
+ */
+ [optional, property] sequence<::com::sun::star::drawing::EnhancedCustomShapeSegment> Segments;
+
+ /** This property specifies the horizontal StretchPoint that has to be used. No stretching is used if
+ this property is omitted.
+ */
+ [optional, property] long StretchX;
+
+ /** This property specifies the vertical StretchPoint that has to be used. No stretching is used if
+ this property is omitted.
+ */
+ [optional, property] long StretchY;
+
+ /** This property specifies the text frames that can be used with the shape. In general
+ the first text frame is used, except the shape is containing vertical text, then the object
+ tries to use the second text frame. The default text frame will be as big as the shape.
+ */
+ [optional, property] sequence<::com::sun::star::drawing::EnhancedCustomShapeTextFrame> TextFrames;
+
+ /** This property specifies custom gluepoints
+ */
+ [optional, property] sequence<::com::sun::star::drawing::EnhancedCustomShapeParameterPair> GluePoints;
+
+ /** This property specifies GluePoint leaving directions.
+ */
+ [optional, property] sequence< double > GluePointLeavingDirections;
+
+ /** This property defines the GluePoint type. The values that can be used are
+ specified in com::sun::star::drawing::EnhancedCustomShapeGluePointType
+ */
+ [optional, property] short GluePointType;
+
+ /** This property specifies if this shape supports the EnhancedCustomShapeExtrusion
+ properties. The default is true.
+ */
+ [optional, property] boolean ExtrusionAllowed;
+
+ /** This property specifies if this shape supports concentric gradient fill. The default
+ is false.
+ */
+ [optional, property] boolean ConcentricGradientFillAllowed;
+
+ /** This property specifies if this shape supports concentric gradient fill. The
+ default is false;
+ */
+ [optional, property] boolean TextPathAllowed;
+
+ /** This property specifies view size per sub path
+ */
+ [optional, property] sequence< ::com::sun::star::awt::Size > SubViewSize;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeSegment.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeSegment.idl
new file mode 100644
index 000000000..50ff91398
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeSegment.idl
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeSegment_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeSegment_idl__
+
+#include <com/sun/star/drawing/EnhancedCustomShapeSegmentCommand.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+struct EnhancedCustomShapeSegment
+{
+ short Command;
+
+ short Count;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeSegmentCommand.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeSegmentCommand.idl
new file mode 100644
index 000000000..8411dfba1
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeSegmentCommand.idl
@@ -0,0 +1,91 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeSegmentCommand_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeSegmentCommand_idl__
+
+
+
+module com { module sun { module star { module drawing {
+
+
+constants EnhancedCustomShapeSegmentCommand
+{
+ const short UNKNOWN = 0;
+
+ const short MOVETO = 1;
+
+ const short LINETO = 2;
+
+ const short CURVETO = 3;
+
+ const short CLOSESUBPATH = 4;
+
+ const short ENDSUBPATH = 5;
+
+ const short NOFILL = 6;
+
+ const short NOSTROKE = 7;
+
+ const short ANGLEELLIPSETO = 8;
+
+ const short ANGLEELLIPSE = 9;
+
+ const short ARCTO = 10;
+
+ const short ARC = 11;
+
+ const short CLOCKWISEARCTO = 12;
+
+ const short CLOCKWISEARC = 13;
+
+ const short ELLIPTICALQUADRANTX = 14;
+
+ const short ELLIPTICALQUADRANTY = 15;
+
+ const short QUADRATICCURVETO = 16;
+
+ const short ARCANGLETO = 17;
+
+ /**
+ darken fill color
+ */
+ const short DARKEN = 18;
+
+ /**
+ darken fill color less
+ */
+ const short DARKENLESS = 19;
+
+ /**
+ lighten fill color
+ */
+ const short LIGHTEN = 20;
+
+ /**
+ lighten fill color less
+ */
+ const short LIGHTENLESS = 21;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeTextFrame.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeTextFrame.idl
new file mode 100644
index 000000000..4bb11e030
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeTextFrame.idl
@@ -0,0 +1,44 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeTextFrame_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeTextFrame_idl__
+
+#include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** specifies the coordinates used with EnhancedCustomShapes
+ */
+struct EnhancedCustomShapeTextFrame
+{
+ ::com::sun::star::drawing::EnhancedCustomShapeParameterPair TopLeft;
+
+
+ ::com::sun::star::drawing::EnhancedCustomShapeParameterPair BottomRight;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeTextPath.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeTextPath.idl
new file mode 100644
index 000000000..53d9af4ed
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeTextPath.idl
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeTextPath_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeTextPath_idl__
+
+#include <com/sun/star/drawing/EnhancedCustomShapeTextPathMode.idl>
+
+
+module com { module sun { module star { module drawing {
+
+/**
+ This service may be represented by a ::com::sun::star::beans::PropertyValue [].
+*/
+
+service EnhancedCustomShapeTextPath
+{
+ /** This property specifies if a text path is used. The default is false.
+ */
+ [optional, property] boolean TextPath;
+
+ /** This property specifies how the text is drawn.
+ */
+ [optional, property] ::com::sun::star::drawing::EnhancedCustomShapeTextPathMode TextPathMode;
+
+ /** This property specifies if the text is scaled using the shape path.
+ */
+ [optional, property] boolean ScaleX;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeTextPathMode.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeTextPathMode.idl
new file mode 100644
index 000000000..c33c3cb06
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeTextPathMode.idl
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeTextPathMode_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeTextPathMode_idl__
+
+
+
+module com { module sun { module star { module drawing {
+
+
+enum EnhancedCustomShapeTextPathMode
+{
+ /** the text is drawn along the path without scaling.
+ */
+ NORMAL,
+
+ /** the text is fit to the path.
+ */
+ PATH,
+
+ /** the text is fit to the bounding box of the shape.
+ */
+ SHAPE
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/EscapeDirection.idl b/offapi/com/sun/star/drawing/EscapeDirection.idl
new file mode 100644
index 000000000..63c948eaa
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EscapeDirection.idl
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_EscapeDirection_idl__
+#define __com_sun_star_drawing_EscapeDirection_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This enumeration defines the escape direction a connector takes on
+ a gluepoint.
+ */
+published enum EscapeDirection
+{
+ SMART,
+ LEFT,
+ RIGHT,
+ UP,
+ DOWN,
+ HORIZONTAL,
+ VERTICAL
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/FillProperties.idl b/offapi/com/sun/star/drawing/FillProperties.idl
new file mode 100644
index 000000000..89335baa3
--- /dev/null
+++ b/offapi/com/sun/star/drawing/FillProperties.idl
@@ -0,0 +1,244 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_FillProperties_idl__
+#define __com_sun_star_drawing_FillProperties_idl__
+
+#include <com/sun/star/drawing/FillStyle.idl>
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/awt/Gradient.idl>
+#include <com/sun/star/drawing/Hatch.idl>
+#include <com/sun/star/drawing/BitmapMode.idl>
+#include <com/sun/star/awt/XBitmap.idl>
+#include <com/sun/star/drawing/RectanglePoint.idl>
+#include <com/sun/star/text/GraphicCrop.idl>
+
+
+module com { module sun { module star { module drawing {
+
+
+/** This is a set of properties to describe the style for rendering an area.
+ */
+published service FillProperties
+{
+ /** This enumeration selects the style the area will be filled with.
+ */
+ [property] FillStyle FillStyle;
+
+ /** If the property #FillStyle is set to
+ FillStyle::SOLID, this is the color used.
+ */
+ [property] com::sun::star::util::Color FillColor;
+
+ /** This is the transparence of the filled area.
+
+ <p>This property is only valid if the property #FillStyle
+ is set to FillStyle::SOLID.
+ */
+ [property] short FillTransparence;
+
+ /** If a gradient is used for transparency, this is the name of the
+ used transparence gradient style or it is empty. If you set the name
+ of a transparence gradient style contained in the document, this
+ style used.
+ */
+ [property] string FillTransparenceGradientName;
+
+
+ /** This describes the transparency of the fill area as a gradient.
+ */
+ [optional, property] com::sun::star::awt::Gradient FillTransparenceGradient;
+
+ /** If the property #FillStyle is set to
+ FillStyle::GRADIENT, this is the name of the used fill
+ gradient style.
+ */
+ [property] string FillGradientName;
+
+ /** If the property #FillStyle is set to
+ FillStyle::GRADIENT, this describes the gradient used.
+ */
+ [optional, property] com::sun::star::awt::Gradient FillGradient;
+
+ /** If the property #FillStyle is set to
+ FillStyle::HATCH, this is the name of the used fill hatch
+ style.
+ */
+ [property] string FillHatchName;
+
+ /** If the property #FillStyle is set to
+ FillStyle::HATCH, this describes the hatch used.
+ */
+ [optional, property] Hatch FillHatch;
+
+ /** if this is `TRUE`, the transparent background of a
+ hatch filled area is drawn in the current background color.
+ */
+ [property] boolean FillBackground;
+
+ /** If the property #FillStyle is set to
+ FillStyle::BITMAP, this is the name of the used fill bitmap
+ style.
+ */
+ [property] string FillBitmapName;
+
+ /** If the property #FillStyle is set to
+ FillStyle::BITMAP, this is the bitmap used.
+ */
+ [optional, property] com::sun::star::awt::XBitmap FillBitmap;
+
+ /** If the property #FillStyle is set to
+ FillStyle::BITMAP, this is a URL to the bitmap used.
+
+ @deprecated as of LibreOffice 6.1, use FillBitmap
+
+ Note the new behaviour since it this was deprecated:
+ This property can only be set and only external URLs are
+ supported (no more vnd.sun.star.GraphicObject scheme). When a
+ URL is set, then it will load the bitmap and set the FillBitmap
+ property.
+ */
+ [optional, property] string FillBitmapURL;
+
+ /** This is the horizontal offset where the tile starts.
+
+ <p>It is given in percent in relation to the width of the bitmap.</p>
+ */
+ [property] short FillBitmapPositionOffsetX;
+
+ /** This is the vertical offset where the tile starts.
+
+ <p>It is given in percent in relation to the height of the bitmap.</p>
+ */
+ [property] short FillBitmapPositionOffsetY;
+
+ /** Every second line of tiles is moved the given percent of the
+ width of the bitmap.
+ */
+ [property] short FillBitmapOffsetX;
+
+ /** Every second row of tiles is moved the given percent of the
+ height of the bitmap.
+ */
+ [property] short FillBitmapOffsetY;
+
+ /** The RectanglePoint specifies the position inside of the bitmap to
+ use as the top left position for rendering.
+ */
+ [property] RectanglePoint FillBitmapRectanglePoint;
+
+ /** specifies if the size is given in percentage or as an absolute value.
+
+ <p>If this is `TRUE`, the properties #FillBitmapSizeX
+ and #FillBitmapSizeY contain the size of the tile in
+ percent of the size of the original bitmap. If this is `FALSE`, the
+ size of the tile is specified with 1/100th mm.
+ */
+ [property] boolean FillBitmapLogicalSize;
+
+ /** This is the width of the tile for filling.
+
+ <p>Depending on the property #FillBitmapLogicalSize,
+ this is either relative or absolute.
+ */
+ [property] long FillBitmapSizeX;
+
+ /** This is the height of the tile for filling.
+
+ <p>Depending on the property #FillBitmapLogicalSize,
+ this is either relative or absolute.
+ */
+ [property] long FillBitmapSizeY;
+
+ /** this enum selects how an area is filled with a single bitmap.
+
+ <p>This property corresponds to the properties
+ #FillBitmapStretch and #FillBitmapTile.</p>
+
+ <p>If set to BitmapMode::REPEAT, the property
+ FillBitmapStretch is set to `FALSE`, and the property FillBitmapTile
+ is set to `TRUE`.</p>
+
+ <p>If set to BitmapMode::STRETCH, the property
+ FillBitmapStretch is set to `TRUE`, and the property FillBitmapTile
+ is set to `FALSE`.</p>
+
+ <p>If set to BitmapMode::NO_REPEAT, both properties
+ FillBitmapStretch and FillBitmapTile are set to `FALSE`.</p>
+ */
+ [property] BitmapMode FillBitmapMode;
+
+ /** if set, the fill bitmap is stretched to fill the area of the shape.
+
+ <p>This property should not be used anymore and is included here for
+ completeness. The #FillBitmapMode property can be used
+ instead to set all supported bitmap modes.</p>
+
+ <p>If set to `TRUE`, the value of the FillBitmapMode property changes
+ to BitmapMode::STRETCH. BUT: behavior is undefined, if
+ the property #FillBitmapTile is `TRUE` too.</p>
+
+ <p>If set to `FALSE`, the value of the FillBitmapMode property
+ changes to BitmapMode::REPEAT or BitmapMode::NO_REPEAT,
+ depending on the current value of the
+ #FillBitmapTile property.</p>
+ */
+ [optional, property] boolean FillBitmapStretch;
+
+ /** if set, the fill bitmap is repeated to fill the area of the shape.
+
+ <p>This property should not be used anymore and is included here for
+ completeness. The #FillBitmapMode property can be used
+ instead to set all supported bitmap modes.</p>
+
+ <p>If set to `TRUE`, the value of the FillBitmapMode property changes
+ to BitmapMode::REPEAT. BUT: behavior is undefined, if
+ the property #FillBitmapStretch is `TRUE` too.</p>
+
+ <p>If set to `FALSE`, the value of the FillBitmapMode property
+ changes to BitmapMode::STRETCH or BitmapMode::NO_REPEAT,
+ depending on the current value of the
+ #FillBitmapStretch property.</p>
+ */
+ [optional, property] boolean FillBitmapTile;
+
+ /** contains the cropping of the object.
+
+ If the property #FillBitmapMode is set to BitmapMode::STRETCH,
+ this is the cropping, otherwise it is empty.
+
+ @see com::sun::star::text::GraphicCrop
+ @since LibreOffice 4.3
+ */
+ [optional, property] com::sun::star::text::GraphicCrop GraphicCrop;
+
+ /** If this is `TRUE`, and FillStyle is FillStyle::NONE:
+ The area displays the slide background
+
+ @since LibreOffice 7.4
+ */
+ [optional, property] boolean FillUseSlideBackground;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/FillStyle.idl b/offapi/com/sun/star/drawing/FillStyle.idl
new file mode 100644
index 000000000..54fad6747
--- /dev/null
+++ b/offapi/com/sun/star/drawing/FillStyle.idl
@@ -0,0 +1,53 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_FillStyle_idl__
+#define __com_sun_star_drawing_FillStyle_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** specifies how an area will be filled.
+ */
+published enum FillStyle
+{
+ /** the area is not filled.
+ */
+ NONE,
+ /** use a solid color to fill the area.
+ */
+ SOLID,
+ /** use a gradient color to fill the area.
+ */
+ GRADIENT,
+ /** use a hatch to fill the area.
+ */
+ HATCH,
+ /** use a bitmap to fill the area.
+ */
+ BITMAP
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/FlagSequence.idl b/offapi/com/sun/star/drawing/FlagSequence.idl
new file mode 100644
index 000000000..17e80d34e
--- /dev/null
+++ b/offapi/com/sun/star/drawing/FlagSequence.idl
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_FlagSequence_idl__
+#define __com_sun_star_drawing_FlagSequence_idl__
+
+#include <com/sun/star/drawing/PolygonFlags.idl>
+
+
+module com { module sun { module star { module drawing {
+
+published typedef sequence<PolygonFlags> FlagSequence;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/FlagSequenceSequence.idl b/offapi/com/sun/star/drawing/FlagSequenceSequence.idl
new file mode 100644
index 000000000..9575d0672
--- /dev/null
+++ b/offapi/com/sun/star/drawing/FlagSequenceSequence.idl
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_FlagSequenceSequence_idl__
+#define __com_sun_star_drawing_FlagSequenceSequence_idl__
+
+#include <com/sun/star/drawing/FlagSequence.idl>
+
+
+module com { module sun { module star { module drawing {
+
+published typedef sequence<FlagSequence> FlagSequenceSequence;
+
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/GenericDrawPage.idl b/offapi/com/sun/star/drawing/GenericDrawPage.idl
new file mode 100644
index 000000000..05073deb3
--- /dev/null
+++ b/offapi/com/sun/star/drawing/GenericDrawPage.idl
@@ -0,0 +1,166 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_GenericDrawPage_idl__
+#define __com_sun_star_drawing_GenericDrawPage_idl__
+
+#include <com/sun/star/drawing/XShapes.idl>
+
+#include <com/sun/star/drawing/XShapeGrouper.idl>
+
+#include <com/sun/star/drawing/XShapeCombiner.idl>
+
+#include <com/sun/star/drawing/XShapeBinder.idl>
+
+#include <com/sun/star/container/XNamed.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/view/PaperOrientation.idl>
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+/** This abstract service is implemented by every page of a
+ DrawingDocument.
+
+ Example to create and insert a couple of LineShapes:
+
+ @code{.bas}
+ xPage = xDoc.DrawPages(0)
+ for x% = 0 to 200
+ xShape = xProv.createInstance( "com::sun::star::drawing::LineShape" )
+ xShape.LineColor = rgb( 255, 0, n%+20 )
+ xShape.LineWidth = 20
+ xShape.Position = Point( x%, 2*x% )
+ xShape.Size = Size( 300-x%, 20 )
+ xPage.add( xShape )
+ next x%
+ @endcode
+ */
+published service GenericDrawPage
+{
+
+ /** manages the Shapes of this page.
+
+ <p>It also lets you add new Shapes. The program currently
+ requires that these Shapes be created by the factory of
+ the document.
+
+ @see DrawingDocument
+ */
+ interface com::sun::star::drawing::XShapes;
+
+ /** With this interface you can group/ungroup a collection of
+ Shapes.
+ */
+ interface com::sun::star::drawing::XShapeGrouper;
+
+ /** With this interface you can combine/split a collection of
+ Shapes.
+ */
+ [optional] interface com::sun::star::drawing::XShapeCombiner;
+
+ /** With this interface you can bind/unbind a collection of
+ Shapes.
+ */
+ [optional] interface com::sun::star::drawing::XShapeBinder;
+
+ /** Gets or sets the name of this page.
+
+ <p>Duplicated page names inside a document are not allowed.
+ */
+ [optional] interface com::sun::star::container::XNamed;
+
+ /** gives you access to the properties of this
+ DrawPage.
+ */
+ [optional] interface com::sun::star::beans::XPropertySet;
+
+ /** This is the border at the bottom.
+ */
+ [optional, property] long BorderBottom;
+
+ /** This is the border at the left.
+ */
+ [optional, property] long BorderLeft;
+
+ /** This is the border at the right.
+ */
+ [optional, property] long BorderRight;
+
+ /** This is the border at the top.
+ */
+ [optional, property] long BorderTop;
+
+ /** This is the height.
+ */
+ [optional, property] long Height;
+
+ /** This is the width.
+ */
+ [optional, property] long Width;
+
+ /** This is the number of this page, starting with 1.
+ */
+ [optional, readonly, property] short Number;
+
+ /** This is the orientation of this page.
+ */
+ [optional, property] com::sun::star::view::PaperOrientation Orientation;
+
+
+ /** this property stores xml attributes.
+ They will be saved to and restored from automatic styles inside xml files.
+
+ @see com::sun::star::xml::AttributeContainer
+ */
+ [optional, property] com::sun::star::container::XNameContainer UserDefinedAttributes;
+
+
+ /** this property is true if the averaged background filling colors luminance
+ is below an application specified threshold value. This can be used to
+ determine the actual value of an auto color.
+ */
+ [readonly, optional, property] boolean IsBackgroundDark;
+
+
+ /** this index access defines a navigation order for the top level shapes
+ inside this page.
+ By default this is equal to the index access of the slide itself,
+ making the z-order the default navigation order for top level shapes.
+ */
+ [optional, property] com::sun::star::container::XIndexAccess NavigationOrder;
+
+ /** does the background cover the full page or only inside the
+ margins?
+
+ @since LibreOffice 7.2
+ */
+ [optional, property] boolean BackgroundFullSize;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/GenericDrawingDocument.idl b/offapi/com/sun/star/drawing/GenericDrawingDocument.idl
new file mode 100644
index 000000000..621a1c360
--- /dev/null
+++ b/offapi/com/sun/star/drawing/GenericDrawingDocument.idl
@@ -0,0 +1,194 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_GenericDrawingDocument_idl__
+#define __com_sun_star_drawing_GenericDrawingDocument_idl__
+
+#include <com/sun/star/drawing/XDrawPageDuplicator.idl>
+#include <com/sun/star/drawing/XDrawPagesSupplier.idl>
+#include <com/sun/star/drawing/XMasterPagesSupplier.idl>
+#include <com/sun/star/drawing/XLayerSupplier.idl>
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/style/XStyleFamiliesSupplier.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/i18n/XForbiddenCharacters.idl>
+#include <com/sun/star/document/OfficeDocument.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** specifies a document which consists of multiple pages
+ with drawings.
+
+ <p>Because its function is needed more than once, it's defined as generic one.</p>
+ */
+service GenericDrawingDocument
+{
+ /** this base service describes storing and printing */
+ service com::sun::star::document::OfficeDocument;
+
+ /** this factory lets you create various services that are
+ used inside a drawing document
+
+ <p>The following services are Shapes.
+ They are created by the documents factory and must
+ be inserted into a DrawPage or MasterPage
+ of this document.
+
+ <ul>
+ <li>RectangleShape</li>
+ <li>EllipseShape</li>
+ <li>ControlShape</li>
+ <li>ConnectorShape</li>
+ <li>MeasureShape</li>
+ <li>LineShape</li>
+ <li>PolyPolygonShape</li>
+ <li>PolyLineShape</li>
+ <li>OpenBezierShape</li>
+ <li>ClosedBezierShape</li>
+ <li>GraphicObjectShape</li>
+ <li>GroupShape</li>
+ <li>TextShape</li>
+ <li>OLE2Shape</li>
+ <li>PageShape</li>
+ <li>CaptionShape</li>
+ <li>PluginShape</li>
+ <li>AppletShape</li>
+ </ul>
+
+ <p>The following services are all com::sun::star::text::TextField
+ and can be inserted into text as com::sun::star::text::TextContent.
+
+ <ul>
+ <li>com::sun::star::text::TextField::DateTime</li>
+ <li>com::sun::star::text::TextField::URL</li>
+ <li>com::sun::star::text::TextField::PageNumber</li>
+ <li>com::sun::star::text::TextField::PageCount</li>
+ <li>com::sun::star::text::TextField::SheetName</li>
+ <li>com::sun::star::text::TextField::FileName</li>
+ <li>com::sun::star::text::TextField::DocInfo.Title</li>
+ <li>com::sun::star::text::TextField::Author</li>
+ <li>com::sun::star::text::TextField::Measure</li>
+ </ul>
+
+ <p>The following services gives access to resources used inside the document
+ and let you add new resources.
+
+ <ul>
+ <li>com::sun::star::drawing::DashTable</li>
+ <li>com::sun::star::drawing::GradientTable</li>
+ <li>com::sun::star::drawing::HatchTable</li>
+ <li>com::sun::star::drawing::BitmapTable</li>
+ <li>com::sun::star::drawing::TransparencyGradientTable</li>
+ <li>com::sun::star::drawing::MarkerTable</li>
+ </ul>
+
+ <p>The following service can be set at the <code>Numbering</code> property
+ inside a com::sun::star::style::ParagraphProperties
+
+ <ul>
+ <li>com::sun::star::text::NumberingRules</li>
+ </ul>
+
+ <p>The following services can be used for a com::sun::star::image::ImageMap
+ inside the document.
+
+ <br>A com::sun::star::image::ImageMap can be obtained from a
+ GraphicObjectShape
+
+ <ul>
+ <li>com::sun::star::image::ImageMapRectangleObject</li>
+ <li>com::sun::star::image::ImageMapCircleObject</li>
+ <li>com::sun::star::image::ImageMapPolygonObject</li>
+ </ul>
+
+ <p>The following services lets you access the drawing property defaults
+ of a document.
+
+ <ul>
+ <li>com::sun::star::drawing::Defaults</li>
+ </ul>
+ */
+ interface com::sun::star::lang::XMultiServiceFactory;
+
+ /** lets you access the properties of this service.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** lets you duplicate pages inside this document.
+ */
+ interface com::sun::star::drawing::XDrawPageDuplicator;
+
+
+ /** provides an object that is implementing the service
+ DrawPages. With this service you have access to the
+ DrawPages inside a document.
+ */
+ interface com::sun::star::drawing::XDrawPagesSupplier;
+
+
+ /** returns an object that is implementing the service
+ MasterPages. With this service you have access to the
+ MasterPages inside a document.
+ */
+ interface com::sun::star::drawing::XMasterPagesSupplier;
+
+
+ /** returns an object that is implementing the service
+ LayerManager. This service lets you manipulate the
+ Layers of this document.
+ */
+ interface com::sun::star::drawing::XLayerSupplier;
+
+ /** This interface lets you access the styles contained in this document
+ */
+ interface com::sun::star::style::XStyleFamiliesSupplier;
+
+
+ /** This property specifies the length between the default tab stops
+ inside text in this document in 1/100th mm.
+ */
+ [property] long TabStop;
+
+
+ /** contains the identifier of the default locale of the document.
+ */
+ [property] com::sun::star::lang::Locale CharLocale;
+
+
+ /** if this document is an OLE client, this is the current visible area
+ in 100th mm
+ */
+ [property] com::sun::star::awt::Rectangle VisibleArea;
+
+
+ /** This property gives the XForbiddenCharacters.
+ */
+ [readonly, property] com::sun::star::i18n::XForbiddenCharacters ForbiddenCharacters;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/GluePoint.idl b/offapi/com/sun/star/drawing/GluePoint.idl
new file mode 100644
index 000000000..c4d7aa0e6
--- /dev/null
+++ b/offapi/com/sun/star/drawing/GluePoint.idl
@@ -0,0 +1,67 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_GluePoint_idl__
+#define __com_sun_star_drawing_GluePoint_idl__
+
+#include <com/sun/star/awt/Point.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** A GluePoint could be attached to a shape or to a page.
+
+
+
+ <p>If a GluePoint is attached to a shape, it is moved when
+ the shape moves.
+ The ends of connectors can be attached to GluePoint.</p>
+
+ @deprecated
+ @see GluePoint2
+ */
+published struct GluePoint
+{
+ /** This is the position of this GluePoint.
+ */
+ com::sun::star::awt::Point Position;
+
+ /** This is the direction in which the connector line leaves the
+ GluePoint.
+ */
+ short EscapeDirection;
+
+ /** If this is `TRUE`, then the position of this GluePoint is
+ absolute on a page and is not relative to a shape.
+ */
+ boolean PositionAbsolute;
+
+ /** The alignment of a <code>GluePoint</code> defines how the position of
+ the point is affected by resizing the parent <code>Shape</code>.
+ */
+ short Alignment;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/GluePoint2.idl b/offapi/com/sun/star/drawing/GluePoint2.idl
new file mode 100644
index 000000000..916be1bf9
--- /dev/null
+++ b/offapi/com/sun/star/drawing/GluePoint2.idl
@@ -0,0 +1,71 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_GluePoint2_idl__
+#define __com_sun_star_drawing_GluePoint2_idl__
+
+#include <com/sun/star/drawing/Alignment.idl>
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/drawing/EscapeDirection.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This struct defines the attributes of a gluepoint.
+ <p>A gluepoint is a position inside a drawing shape where an edge
+ of a connector shape can be connected.</p>
+ */
+published struct GluePoint2
+{
+ /** This is the position of this gluepoint. Depending on
+ the flag <code>IsRelative</code>, this is either in 1/100cm
+ or in 1/100%.
+
+ <!-- Dennis: Is the % correct? -->
+ */
+ com::sun::star::awt::Point Position;
+
+ /** if this flag is set to true, the position of this gluepoint
+ is given in 1/100% values instead of 1/100cm. */
+ boolean IsRelative;
+
+ /** if this gluepoints position is not relative, this enum
+ specifies the vertical and horizontal alignment of this
+ point. The alignment specifies how the gluepoint is
+ moved if the shape is resized. */
+ com::sun::star::drawing::Alignment PositionAlignment;
+
+ /** this member specifies the escape direction for a glue
+ point. The escape direction is the direction the connecting
+ line escapes the shape. */
+
+ com::sun::star::drawing::EscapeDirection Escape;
+
+ /** if this flag is set to false, this is a default glue
+ point. Some shapes may have default gluepoints attached
+ to them which cannot be altered or removed. */
+ boolean IsUserDefined;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/GradientTable.idl b/offapi/com/sun/star/drawing/GradientTable.idl
new file mode 100644
index 000000000..6b843c474
--- /dev/null
+++ b/offapi/com/sun/star/drawing/GradientTable.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_GradientTable_idl__
+#define __com_sun_star_drawing_GradientTable_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** this is a container for com::sun::star::awt::Gradients
+
+ <p>It is used for example to access the com::sun::star::awt::Gradients that
+ are used inside a document.
+
+ @see DrawingDocumentFactory
+ @see com::sun::star::awt::Gradient
+*/
+published service GradientTable
+{
+ /** this container lets you access the com::sun::star::awt::Gradients that
+ are indexed with a name.
+
+ <p>Note: You can add new entries for later use, but you cannot
+ remove entries that are used inside the document.
+ */
+ interface com::sun::star::container::XNameContainer;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/GraphicExportFilter.idl b/offapi/com/sun/star/drawing/GraphicExportFilter.idl
new file mode 100644
index 000000000..190f189d2
--- /dev/null
+++ b/offapi/com/sun/star/drawing/GraphicExportFilter.idl
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_GraphicExportFilter_idl__
+#define __com_sun_star_drawing_GraphicExportFilter_idl__
+
+#include <com/sun/star/drawing/XGraphicExportFilter.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** a component that supports this service lets you export pages, shapes, or
+ groups of shapes from a DrawingDocument to a file in one of the
+ file formats supported by the component.
+*/
+published service GraphicExportFilter : XGraphicExportFilter;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/GraphicFilterRequest.idl b/offapi/com/sun/star/drawing/GraphicFilterRequest.idl
new file mode 100644
index 000000000..1547b3789
--- /dev/null
+++ b/offapi/com/sun/star/drawing/GraphicFilterRequest.idl
@@ -0,0 +1,45 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_GraphicFilterRequest_idl__
+#define __com_sun_star_drawing_GraphicFilterRequest_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** represents a general error graphic filter exception.
+ It can be used to transport the error code information.
+ E.g. that can be useful for interactions.
+
+ @since OOo 3.0
+ */
+exception GraphicFilterRequest : com::sun::star::uno::Exception
+{
+ /** specifies the error code. */
+ long ErrCode;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/GraphicObjectShape.idl b/offapi/com/sun/star/drawing/GraphicObjectShape.idl
new file mode 100644
index 000000000..4a9272b51
--- /dev/null
+++ b/offapi/com/sun/star/drawing/GraphicObjectShape.idl
@@ -0,0 +1,169 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_GraphicObjectShape_idl__
+#define __com_sun_star_drawing_GraphicObjectShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+
+#include <com/sun/star/drawing/Text.idl>
+
+#include <com/sun/star/drawing/ShadowProperties.idl>
+
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+
+#include <com/sun/star/awt/XBitmap.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+
+#include <com/sun/star/drawing/ColorMode.idl>
+#include <com/sun/star/container/XIndexContainer.idl>
+#include <com/sun/star/drawing/BarCode.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service is for a graphic shape.
+ */
+published service GraphicObjectShape
+{
+ service com::sun::star::drawing::Shape;
+
+ service com::sun::star::drawing::Text;
+
+ service com::sun::star::drawing::ShadowProperties;
+
+ service com::sun::star::drawing::RotationDescriptor;
+
+ /** This is a url to the source bitmap for this graphic shape.
+
+ @deprecated as of LibreOffice 6.1 - use Graphic instead
+
+ Note the new behaviour since it was deprecated:
+ This property can only be set and only external URLs are
+ supported (no more vnd.sun.star.GraphicObject scheme). When a
+ URL is set, then it will load the image and set the Graphic
+ property.
+ */
+ [property] string GraphicURL;
+
+ /** This is a url to the stream ("in document" or linked graphic) for this graphic shape.
+ */
+ [property] string GraphicStreamURL;
+
+ /** This is the bitmap that represents this graphic shape.
+
+ @deprecated Use graphic property instead!
+ */
+ [optional, property] com::sun::star::awt::XBitmap GraphicObjectFillBitmap;
+
+ /** If this property is set, the luminance of this graphic shape is adjusted
+ by the given signed percent value.
+ */
+ [property] short AdjustLuminance;
+
+ /** If this property is set, the contrast of this graphic shape is adjusted
+ by the given signed percent value.
+ */
+ [property] short AdjustContrast;
+
+ /** If this property is set, the red channel of this graphic shape is
+ adjusted by the given signed percent value.
+ */
+ [property] short AdjustRed;
+
+ /** If this property is set, the green channel of this graphic shape is
+ adjusted by the given signed percent value.
+ */
+ [property] short AdjustGreen;
+
+ /** If this property is set, the blue channel of this graphic shape is
+ adjusted by the given signed percent value.
+ */
+ [property] short AdjustBlue;
+
+ /** If this property is set, the gamma value of this graphic shape is
+ adjusted by the given value.
+ */
+ [property] double Gamma;
+
+ /** If this property is set, the transparency value of this graphic shape is
+ adjusted by the given unsigned percent value.
+ 100% is fully transparent, 0% is fully opaque.
+ */
+ [property] short Transparency;
+
+ /** This property selects the color mode that is used for rendering.
+ */
+ [property] ColorMode GraphicColorMode;
+
+ /** This property contains an image map for this graphic.
+ @see com::sun::star::image::ImageMap
+ */
+ [optional, property] com::sun::star::container::XIndexContainer ImageMap;
+
+ /** This is the graphic that represents this graphic shape
+ */
+ [optional, property] com::sun::star::graphic::XGraphic Graphic;
+
+ /// Whether this shape is actually a signature line.
+ [optional, property] boolean IsSignatureLine;
+
+ /// The ID of the signature line, used to connect to a signature.
+ [optional, property] string SignatureLineId;
+
+ /// Suggested Signer, Name of the Signer
+ [optional, property] string SignatureLineSuggestedSignerName;
+
+ /// Suggested Signer, Line 2 (Title or additional information)
+ [optional, property] string SignatureLineSuggestedSignerTitle;
+
+ /// Suggested Signer Email
+ [optional, property] string SignatureLineSuggestedSignerEmail;
+
+ /// Signing instructions, to be shown at signing time
+ [optional, property] string SignatureLineSigningInstructions;
+
+ /// Whether the signing date should be shown in the shape
+ [optional, property] boolean SignatureLineShowSignDate;
+
+ /// Whether the user can attach a comment at signing time
+ [optional, property] boolean SignatureLineCanAddComment;
+
+ /** Image to be displayed when the signature line is unsigned
+ *
+ * Images for signed signature lines (valid and invalid)
+ * are to be retrieved via com::sun::star::security::DocumentSignatureInformation
+ * (you can get the matching signature with the SignatureLineId property).
+ */
+ [optional, property] com::sun::star::graphic::XGraphic SignatureLineUnsignedImage;
+
+ /// Whether the signature line is signed using a digital signature
+ [optional, property] boolean SignatureLineIsSigned;
+
+ /// Shape as a QR Code
+ /// @since LibreOffice 6.4
+ [optional, property] com::sun::star::drawing::BarCode BarCodeProperties;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/GroupShape.idl b/offapi/com/sun/star/drawing/GroupShape.idl
new file mode 100644
index 000000000..96a0ded1b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/GroupShape.idl
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_GroupShape_idl__
+#define __com_sun_star_drawing_GroupShape_idl__
+
+#include <com/sun/star/drawing/XShapeGroup.idl>
+
+#include <com/sun/star/drawing/XShapes.idl>
+#include <com/sun/star/drawing/Shape.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service is for a group of Shapes.
+ @see XShapeGroup
+ @see XShapes
+ */
+published service GroupShape
+{
+ /** Since a GroupShape is also a shape, it has to support this service
+ */
+ service com::sun::star::drawing::Shape;
+
+ /** this is a ui feature for entering and leaving the group for
+ editing.
+ */
+ interface com::sun::star::drawing::XShapeGroup;
+
+
+ /** lets you access the Shapes in this Group.
+ */
+ interface com::sun::star::drawing::XShapes;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/Hatch.idl b/offapi/com/sun/star/drawing/Hatch.idl
new file mode 100644
index 000000000..666d274de
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Hatch.idl
@@ -0,0 +1,61 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_Hatch_idl__
+#define __com_sun_star_drawing_Hatch_idl__
+
+#include <com/sun/star/drawing/HatchStyle.idl>
+
+#include <com/sun/star/util/Color.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This struct defines the appearance of a hatch.
+
+ <p>A hatch is a texture made of straight lines.</p>
+ */
+published struct Hatch
+{
+ /** The HatchStyle defines the kind of lines used to draw
+ this hatch.
+ */
+ com::sun::star::drawing::HatchStyle Style;
+
+ /** This is the color of the hatch lines.
+ */
+ com::sun::star::util::Color Color;
+
+ /** This is the distance between the lines in the hatch.
+ */
+ long Distance;
+
+ /** You can rotate the lines of the hatch with this angle.
+ * Specified in tenths of a degree.
+ */
+ long Angle;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/HatchStyle.idl b/offapi/com/sun/star/drawing/HatchStyle.idl
new file mode 100644
index 000000000..e25437990
--- /dev/null
+++ b/offapi/com/sun/star/drawing/HatchStyle.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_HatchStyle_idl__
+#define __com_sun_star_drawing_HatchStyle_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** The HatchStyle defines the style of the lines in a hatch.
+ */
+published enum HatchStyle
+{
+ /** the hatch consists of a single horizontal line
+ */
+ SINGLE,
+
+ /** the hatch has a horizontal and a vertical line
+ */
+ DOUBLE,
+
+ /** the hatch has a horizontal, a vertical and a diagonal line
+ */
+ TRIPLE
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/HatchTable.idl b/offapi/com/sun/star/drawing/HatchTable.idl
new file mode 100644
index 000000000..9e709c1cf
--- /dev/null
+++ b/offapi/com/sun/star/drawing/HatchTable.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_HatchTable_idl__
+#define __com_sun_star_drawing_HatchTable_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** this is a container for Hatchs
+
+ <p>It is used for example to access the Hatchs that
+ are used inside a document.
+
+ @see DrawingDocumentFactory
+ @see Hatch
+*/
+published service HatchTable
+{
+ /** this container lets you access the Hatchs that
+ are indexed with a name.
+
+ <p>Note: You can add new entries for later use, but you cannot
+ remove entries that are used inside the document.
+ */
+ interface com::sun::star::container::XNameContainer;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/HomogenMatrix.idl b/offapi/com/sun/star/drawing/HomogenMatrix.idl
new file mode 100644
index 000000000..63ea6378f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/HomogenMatrix.idl
@@ -0,0 +1,44 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_HomogenMatrix_idl__
+#define __com_sun_star_drawing_HomogenMatrix_idl__
+
+#include <com/sun/star/drawing/HomogenMatrixLine.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** specifies a homogeneous matrix by three homogeneous lines
+ */
+published struct HomogenMatrix
+{
+ com::sun::star::drawing::HomogenMatrixLine Line1;
+ com::sun::star::drawing::HomogenMatrixLine Line2;
+ com::sun::star::drawing::HomogenMatrixLine Line3;
+ com::sun::star::drawing::HomogenMatrixLine Line4;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/HomogenMatrix3.idl b/offapi/com/sun/star/drawing/HomogenMatrix3.idl
new file mode 100644
index 000000000..da5e9f675
--- /dev/null
+++ b/offapi/com/sun/star/drawing/HomogenMatrix3.idl
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_HomogenMatrix3_idl__
+#define __com_sun_star_drawing_HomogenMatrix3_idl__
+
+#include <com/sun/star/drawing/HomogenMatrixLine3.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** specifies a homogeneous matrix by three homogeneous lines
+ */
+published struct HomogenMatrix3
+{
+ com::sun::star::drawing::HomogenMatrixLine3 Line1;
+ com::sun::star::drawing::HomogenMatrixLine3 Line2;
+ com::sun::star::drawing::HomogenMatrixLine3 Line3;
+ };
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/HomogenMatrix4.idl b/offapi/com/sun/star/drawing/HomogenMatrix4.idl
new file mode 100644
index 000000000..ec24081a5
--- /dev/null
+++ b/offapi/com/sun/star/drawing/HomogenMatrix4.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_HomogenMatrix4_idl__
+#define __com_sun_star_drawing_HomogenMatrix4_idl__
+
+#include <com/sun/star/drawing/HomogenMatrixLine4.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** specifies a homogeneous matrix by four homogeneous lines.
+ */
+published struct HomogenMatrix4
+{
+ com::sun::star::drawing::HomogenMatrixLine4 Line1;
+ com::sun::star::drawing::HomogenMatrixLine4 Line2;
+ com::sun::star::drawing::HomogenMatrixLine4 Line3;
+ com::sun::star::drawing::HomogenMatrixLine4 Line4;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/HomogenMatrixLine.idl b/offapi/com/sun/star/drawing/HomogenMatrixLine.idl
new file mode 100644
index 000000000..2a3063366
--- /dev/null
+++ b/offapi/com/sun/star/drawing/HomogenMatrixLine.idl
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_HomogenMatrixLine_idl__
+#define __com_sun_star_drawing_HomogenMatrixLine_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** specifies a single line for a HomogenMatrix.
+ */
+published struct HomogenMatrixLine
+{
+ double Column1;
+ double Column2;
+ double Column3;
+ double Column4;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/HomogenMatrixLine3.idl b/offapi/com/sun/star/drawing/HomogenMatrixLine3.idl
new file mode 100644
index 000000000..607e800fd
--- /dev/null
+++ b/offapi/com/sun/star/drawing/HomogenMatrixLine3.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_HomogenMatrixLine3_idl__
+#define __com_sun_star_drawing_HomogenMatrixLine3_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** specifies a single line for a HomogenMatrix3.
+ */
+published struct HomogenMatrixLine3
+{
+ double Column1;
+ double Column2;
+ double Column3;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/HomogenMatrixLine4.idl b/offapi/com/sun/star/drawing/HomogenMatrixLine4.idl
new file mode 100644
index 000000000..52c97fa5d
--- /dev/null
+++ b/offapi/com/sun/star/drawing/HomogenMatrixLine4.idl
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_HomogenMatrixLine4_idl__
+#define __com_sun_star_drawing_HomogenMatrixLine4_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** specifies a single line for a HomogenMatrix4.
+ */
+published struct HomogenMatrixLine4
+{
+ double Column1;
+ double Column2;
+ double Column3;
+ double Column4;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/HorizontalDimensioning.idl b/offapi/com/sun/star/drawing/HorizontalDimensioning.idl
new file mode 100644
index 000000000..4e083b2d4
--- /dev/null
+++ b/offapi/com/sun/star/drawing/HorizontalDimensioning.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_HorizontalDimensioning_idl__
+#define __com_sun_star_drawing_HorizontalDimensioning_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** The HorizontalDimensioning specifies the horizontal position
+ of the text of a dimensioning shape.
+ */
+published enum HorizontalDimensioning
+{
+ /** Set this to have the application select the best horizontal
+ position for the text.
+ */
+ AUTO,
+
+ /** The text is positioned to the left.
+ */
+ LEFT,
+
+ /** The text is positioned at the center.
+ */
+ CENTERED,
+
+ /** The text is positioned to the right.
+ */
+ RIGHT
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/Layer.idl b/offapi/com/sun/star/drawing/Layer.idl
new file mode 100644
index 000000000..32dcde6e6
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Layer.idl
@@ -0,0 +1,78 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_Layer_idl__
+#define __com_sun_star_drawing_Layer_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** A layer is an entity inside a document which contains shapes.
+
+
+ <p>There could be zero or more Shapes attached to
+ such a layer.
+
+ </p>
+ <p>The properties of a Layer instance affect all Shapes
+ attached to the Layer.
+
+ </p>
+
+ @see DrawingDocument
+ @see LayerManager
+ */
+published service Layer
+{
+
+ /** The properties in this set affect all Shapes attached to
+ this Layer.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** The name of a Layer is used to identify the
+ Layer in the user interface.
+ */
+ [property] string Name;
+
+ /** If a Layer is not visible, the objects in this
+ Layer are not shown in the user interface.
+ */
+ [property] boolean IsVisible;
+
+ /** If a Layer is not printable, the objects in
+ this Layer are not printed.
+ */
+ [property] boolean IsPrintable;
+
+ /** If a Layer is locked, the objects in this
+ Layer cannot be edited in the user interface.
+ */
+ [property] boolean IsLocked;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/LayerManager.idl b/offapi/com/sun/star/drawing/LayerManager.idl
new file mode 100644
index 000000000..0bbf88f94
--- /dev/null
+++ b/offapi/com/sun/star/drawing/LayerManager.idl
@@ -0,0 +1,60 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_LayerManager_idl__
+#define __com_sun_star_drawing_LayerManager_idl__
+
+#include <com/sun/star/drawing/XLayerManager.idl>
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This service is provided by documents to support Layers.
+
+ @see DrawingDocument
+ */
+published service LayerManager
+{
+
+ /** gives you access to the existing Layers by
+ index and makes it possible to add and remove Layers and
+ to attach Shapes to Layers.
+
+ <p>The contents of the collection all support Layer
+ returned by XLayer.
+ */
+ interface com::sun::star::drawing::XLayerManager;
+
+ /** gives access to the existing Layers by name.
+
+ <p>The contents of the collection all support Layer
+ returned by XLayer.
+ */
+ interface com::sun::star::container::XNameAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/LayerType.idl b/offapi/com/sun/star/drawing/LayerType.idl
new file mode 100644
index 000000000..1d3ff0ad1
--- /dev/null
+++ b/offapi/com/sun/star/drawing/LayerType.idl
@@ -0,0 +1,53 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_LayerType_idl__
+#define __com_sun_star_drawing_LayerType_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This enumeration specifies the type of a drawing layer.
+ */
+published enum LayerType
+{
+ /** This is the layer for all standard shapes.
+ */
+ LAYOUT,
+
+ /** This is the layer for the controls.
+ */
+ CONTROLSA,
+
+ /** This is the layer for all measure shapes.
+ */
+ DIMENSIONIANG_LINES,
+
+ /** There can be zero or more layers of this type.
+ */
+ USER_DEFINED
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/LineCap.idl b/offapi/com/sun/star/drawing/LineCap.idl
new file mode 100644
index 000000000..634a4fa3e
--- /dev/null
+++ b/offapi/com/sun/star/drawing/LineCap.idl
@@ -0,0 +1,45 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_LineCap_idl__
+#define __com_sun_star_drawing_LineCap_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+/** The LineCap defines rendering of ends of thick lines
+ */
+published enum LineCap
+{
+ /** the line will end without any additional shape
+ */
+ BUTT,
+ /** the line will get a half circle as additional cap
+ */
+ ROUND,
+ /** the line will get a half square as additional cap
+ */
+ SQUARE
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/LineDash.idl b/offapi/com/sun/star/drawing/LineDash.idl
new file mode 100644
index 000000000..ea0dd48f4
--- /dev/null
+++ b/offapi/com/sun/star/drawing/LineDash.idl
@@ -0,0 +1,64 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_LineDash_idl__
+#define __com_sun_star_drawing_LineDash_idl__
+
+#include <com/sun/star/drawing/DashStyle.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** A LineDash defines a non-continuous line.
+ */
+published struct LineDash
+{
+ /** This sets the style of this LineDash.
+ */
+ com::sun::star::drawing::DashStyle Style;
+
+ /** This is the number of dots in this LineDash.
+ */
+ short Dots;
+
+ /** This is the length of a dot.
+ */
+ long DotLen;
+
+ /** This is the number of dashes.
+ */
+ short Dashes;
+
+ /** This is the length of a single dash.
+ */
+ long DashLen;
+
+ /** This is the distance between the dots.
+ */
+ long Distance;
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/LineEndType.idl b/offapi/com/sun/star/drawing/LineEndType.idl
new file mode 100644
index 000000000..cf817f7bf
--- /dev/null
+++ b/offapi/com/sun/star/drawing/LineEndType.idl
@@ -0,0 +1,56 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_LineEndType_idl__
+#define __com_sun_star_drawing_LineEndType_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** The LineEndType specifies the appearance of the bullet at the
+ end of a line.
+
+ @deprecated
+ */
+published enum LineEndType
+{
+ /** the line has no special end.
+ */
+ NONE,
+ /** the line uses an arrow for the line end.
+ */
+ ARROW,
+ /** the line uses a circle for the line end.
+ */
+ CIRCLE,
+ /** the line uses a square for the line end.
+ */
+ SQUARE,
+ /** deprecated
+ */
+ SPECIAL
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/LineJoint.idl b/offapi/com/sun/star/drawing/LineJoint.idl
new file mode 100644
index 000000000..276ddd7e9
--- /dev/null
+++ b/offapi/com/sun/star/drawing/LineJoint.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_LineJoint_idl__
+#define __com_sun_star_drawing_LineJoint_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** The LineJoint defines rendering of joints between thick lines
+ */
+published enum LineJoint
+{
+ /** the joint between lines will not be connected
+ */
+ NONE,
+ /** the middle value between the joints is used
+ */
+ MIDDLE,
+ /** the edges of the thick lines will be joined by lines
+ */
+ BEVEL,
+ /** the lines join at intersections
+ */
+ MITER,
+ /** the lines join with an arc
+ */
+ ROUND
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/LineProperties.idl b/offapi/com/sun/star/drawing/LineProperties.idl
new file mode 100644
index 000000000..1697e3aba
--- /dev/null
+++ b/offapi/com/sun/star/drawing/LineProperties.idl
@@ -0,0 +1,128 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_LineProperties_idl__
+#define __com_sun_star_drawing_LineProperties_idl__
+
+#include <com/sun/star/drawing/LineStyle.idl>
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/drawing/LineDash.idl>
+#include <com/sun/star/drawing/PolyPolygonBezierCoords.idl>
+#include <com/sun/star/drawing/LineJoint.idl>
+#include <com/sun/star/drawing/LineCap.idl>
+
+
+module com { module sun { module star { module drawing {
+
+
+/** This is a set of properties to describe the style for rendering a Line.
+ <p>The properties for line ends and line starts are only supported by
+ shapes with open line ends.
+ */
+published service LineProperties
+{
+ /** This property contains the type of the line.
+ */
+ [property] com::sun::star::drawing::LineStyle LineStyle;
+
+
+ /** This property contains the dash of the line.
+ */
+ [property] com::sun::star::drawing::LineDash LineDash;
+
+
+ /** This property contains the name of the dash of the line.
+ */
+ [optional, property] string LineDashName;
+
+
+ /** This property contains the line color.
+ */
+ [property] com::sun::star::util::Color LineColor;
+
+
+ /** This property contains the extent of transparency.
+ */
+ [property] short LineTransparence;
+
+
+ /** This property contains the width of the line in 1/100th mm.
+ */
+ [property] long LineWidth;
+
+
+ /** This property defines the rendering of joints between thick lines
+ */
+ [property] com::sun::star::drawing::LineJoint LineJoint;
+
+
+ /** This property defines the rendering of ends of thick lines
+ */
+ [optional, property] com::sun::star::drawing::LineCap LineCap;
+
+
+ /** This property contains the name of the line start poly polygon Bezier.
+ <p>If this string is empty, no line start polygon is rendered.
+ */
+ [optional, property] string LineStartName;
+
+
+ /** This property contains the name of the line end poly polygon Bezier.
+ <p>If this string is empty, no line end polygon is rendered.
+ */
+ [optional, property] string LineEndName;
+
+
+ /** This property contains the line start in the form of a poly polygon Bezier.
+ */
+ [optional, property] com::sun::star::drawing::PolyPolygonBezierCoords LineStart;
+
+
+ /** This property contains the line end in the form of a poly polygon Bezier.
+ */
+ [optional, property] com::sun::star::drawing::PolyPolygonBezierCoords LineEnd;
+
+
+ /** If this property is `TRUE`, the line will
+ start from the center of the polygon.
+ */
+ [optional, property] boolean LineStartCenter;
+
+
+ /** This property contains the width of the line start polygon.
+ */
+ [optional, property] long LineStartWidth;
+
+
+ /** If this property is `TRUE`, the line will end
+ in the center of the polygon.
+ */
+ [optional, property] boolean LineEndCenter;
+
+
+ /** This property contains the width of the line end polygon.
+ */
+ [optional, property] long LineEndWidth;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/LineShape.idl b/offapi/com/sun/star/drawing/LineShape.idl
new file mode 100644
index 000000000..24672c234
--- /dev/null
+++ b/offapi/com/sun/star/drawing/LineShape.idl
@@ -0,0 +1,60 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_LineShape_idl__
+#define __com_sun_star_drawing_LineShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/drawing/PolyPolygonDescriptor.idl>
+
+#include <com/sun/star/drawing/Text.idl>
+
+#include <com/sun/star/drawing/ShadowProperties.idl>
+
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service is for a simple Shape with lines.
+ */
+published service LineShape
+{
+ service com::sun::star::drawing::Shape;
+
+ service com::sun::star::drawing::LineProperties;
+
+ service com::sun::star::drawing::PolyPolygonDescriptor;
+
+ service com::sun::star::drawing::Text;
+
+ service com::sun::star::drawing::ShadowProperties;
+
+ service com::sun::star::drawing::RotationDescriptor;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/LineStyle.idl b/offapi/com/sun/star/drawing/LineStyle.idl
new file mode 100644
index 000000000..4788dc847
--- /dev/null
+++ b/offapi/com/sun/star/drawing/LineStyle.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_LineStyle_idl__
+#define __com_sun_star_drawing_LineStyle_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** specifies the appearance of the lines of a
+ shape.
+ */
+published enum LineStyle
+{
+ /** the line is hidden.
+ */
+ NONE,
+ /** the line is solid.
+ */
+ SOLID,
+ /** the line use dashes.
+ */
+ DASH
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/MarkerTable.idl b/offapi/com/sun/star/drawing/MarkerTable.idl
new file mode 100644
index 000000000..fe4761407
--- /dev/null
+++ b/offapi/com/sun/star/drawing/MarkerTable.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_MarkerTable_idl__
+#define __com_sun_star_drawing_MarkerTable_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** this is a container for PointSequences
+
+ <p>It is used for example to access the line ends that
+ are used inside a document.
+
+ @see DrawingDocumentFactory
+ @see PointSequence
+*/
+published service MarkerTable
+{
+ /** this container lets you access the PointSequences that
+ are indexed with a name.
+
+ <p>Note: You can add new entries for later use, but you cannot
+ remove entries that are used inside the document.
+ */
+ interface com::sun::star::container::XNameContainer;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/MasterPage.idl b/offapi/com/sun/star/drawing/MasterPage.idl
new file mode 100644
index 000000000..db99527ff
--- /dev/null
+++ b/offapi/com/sun/star/drawing/MasterPage.idl
@@ -0,0 +1,61 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_MasterPage_idl__
+#define __com_sun_star_drawing_MasterPage_idl__
+
+#include <com/sun/star/drawing/GenericDrawPage.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This service is a single master page inside a drawing document.
+
+
+ <p>It serves as a background page for zero or more DrawPages.
+ Since this service is derived from the service GenericDrawPage,
+ it can be used as a draw page with three differences:
+ </p>
+ <ol>
+ <li>It is not linked to any other MasterPage.
+ </li>
+ <li>It cannot be removed from a document as long as one or
+ more instances of DrawPage are linked to it.
+ </li>
+ <li>Modifications to a MasterPage are instantly visible on
+ every DrawPage that is linked to it.
+ </li>
+ </ol>
+ */
+published service MasterPage
+{
+
+ /** This service describes the base functionality that every
+ draw/master page has.
+ */
+ service com::sun::star::drawing::GenericDrawPage;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/MasterPages.idl b/offapi/com/sun/star/drawing/MasterPages.idl
new file mode 100644
index 000000000..989c1c436
--- /dev/null
+++ b/offapi/com/sun/star/drawing/MasterPages.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_MasterPages_idl__
+#define __com_sun_star_drawing_MasterPages_idl__
+
+#include <com/sun/star/drawing/XDrawPages.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** provides access to a container of MasterPages
+ and makes it possible for them to be manipulated.
+
+ @see XMasterPagesSupplier
+ @see DrawingDocument
+ */
+published service MasterPages
+{
+ /** lets you access and create MasterPages
+ */
+ interface com::sun::star::drawing::XDrawPages;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/MeasureKind.idl b/offapi/com/sun/star/drawing/MeasureKind.idl
new file mode 100644
index 000000000..5897f60a0
--- /dev/null
+++ b/offapi/com/sun/star/drawing/MeasureKind.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_MeasureKind_idl__
+#define __com_sun_star_drawing_MeasureKind_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** determines whether a measured shape is a standard
+ measure or a radius measure.
+
+ @deprecated
+ */
+published enum MeasureKind
+{
+ /** use the length measurement.
+ */
+ STANDARD,
+ /** use the radius measurement.
+ This option cannot be used from the GUI Interface.
+ */
+ RADIUS
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/MeasureProperties.idl b/offapi/com/sun/star/drawing/MeasureProperties.idl
new file mode 100644
index 000000000..13f5a032e
--- /dev/null
+++ b/offapi/com/sun/star/drawing/MeasureProperties.idl
@@ -0,0 +1,120 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_MeasureProperties_idl__
+#define __com_sun_star_drawing_MeasureProperties_idl__
+
+#include <com/sun/star/drawing/MeasureKind.idl>
+
+#include <com/sun/star/drawing/MeasureTextHorzPos.idl>
+
+#include <com/sun/star/drawing/MeasureTextVertPos.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service describes a MeasureShape.
+ */
+published service MeasureProperties
+{
+ /** If this property is `TRUE`, the measure is drawn below the
+ reference edge instead of above it.
+ */
+ [property] boolean MeasureBelowReferenceEdge;
+
+ /** This is the length of the first help line.
+ */
+ [property] long MeasureHelpLine1Length;
+
+ /** This is the length of the second help line.
+ */
+ [property] long MeasureHelpLine2Length;
+
+ /** This is the distance from the measure line to the start of the
+ help lines.
+ */
+ [property] long MeasureHelpLineDistance;
+
+ /** This is the overhang of the two help lines.
+ */
+ [property] long MeasureHelpLineOverhang;
+
+ /** This enumeration specifies the MeasureKind.
+ */
+ [property] com::sun::star::drawing::MeasureKind MeasureKind;
+
+ /** This is the distance from the reference edge to the measure line.
+ */
+ [property] long MeasureLineDistance;
+
+ /** This is the overhang of the reference line over the help lines.
+ */
+ [property] long MeasureOverhang;
+
+ /** If this is `TRUE`, the unit of measure is shown in the measure text.
+ */
+ [property] boolean MeasureShowUnit;
+
+ /** If this is `TRUE`, the angle of the measure is set automatically.
+ */
+ [property] boolean MeasureTextAutoAngle;
+
+ /** This is the automatic angle.
+ */
+ [property] long MeasureTextAutoAngleView;
+
+ /** This is the fixed angle.
+ */
+ [property] long MeasureTextFixedAngle;
+
+ /** This is the horizontal position of the measure text.
+ */
+ [property] com::sun::star::drawing::MeasureTextHorzPos MeasureTextHorizontalPosition;
+
+ /** This is the vertical position of the text.
+ */
+ [property] com::sun::star::drawing::MeasureTextVertPos MeasureTextVerticalPosition;
+
+ /** If this value is `TRUE`, the measure has a fixed angle.
+ */
+ [property] boolean MeasureTextIsFixedAngle;
+
+ /** If this value is `TRUE`, the text is rotated 90 degrees.
+ */
+ [property] boolean MeasureTextRotate90;
+
+ /** If this value is `TRUE`, the text is printed upside down.
+ */
+ [property] boolean MeasureTextUpsideDown;
+
+ /** This value is the number of decimal places that is used to format the
+ measure value.
+
+ @since OOo 1.1.2
+ */
+ [optional, property] short MeasureDecimalPlaces;
+ };
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/MeasureShape.idl b/offapi/com/sun/star/drawing/MeasureShape.idl
new file mode 100644
index 000000000..53d1e1191
--- /dev/null
+++ b/offapi/com/sun/star/drawing/MeasureShape.idl
@@ -0,0 +1,68 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_MeasureShape_idl__
+#define __com_sun_star_drawing_MeasureShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+
+#include <com/sun/star/drawing/MeasureProperties.idl>
+
+#include <com/sun/star/drawing/Text.idl>
+
+#include <com/sun/star/drawing/ShadowProperties.idl>
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+
+#include <com/sun/star/awt/Point.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service is for a dimensioning shape.
+ */
+published service MeasureShape
+{
+ service com::sun::star::drawing::Shape;
+
+ service com::sun::star::drawing::MeasureProperties;
+
+ service com::sun::star::drawing::LineProperties;
+
+ service com::sun::star::drawing::Text;
+
+ service com::sun::star::drawing::ShadowProperties;
+
+ service com::sun::star::drawing::RotationDescriptor;
+
+ /** this point is the start of the measured distance */
+ [property] com::sun::star::awt::Point StartPosition;
+
+
+ /** this point is the end of the measured distance */
+ [property] com::sun::star::awt::Point EndPosition;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/MeasureTextHorzPos.idl b/offapi/com/sun/star/drawing/MeasureTextHorzPos.idl
new file mode 100644
index 000000000..052944d6a
--- /dev/null
+++ b/offapi/com/sun/star/drawing/MeasureTextHorzPos.idl
@@ -0,0 +1,44 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_MeasureTextHorzPos_idl__
+#define __com_sun_star_drawing_MeasureTextHorzPos_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This enumeration defines the relative horizontal placement of the text
+ inside a measure shape.
+ */
+published enum MeasureTextHorzPos
+{
+ AUTO,
+ LEFTOUTSIDE,
+ INSIDE,
+ RIGHTOUTSIDE
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/MeasureTextVertPos.idl b/offapi/com/sun/star/drawing/MeasureTextVertPos.idl
new file mode 100644
index 000000000..b9c59d5fe
--- /dev/null
+++ b/offapi/com/sun/star/drawing/MeasureTextVertPos.idl
@@ -0,0 +1,44 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_MeasureTextVertPos_idl__
+#define __com_sun_star_drawing_MeasureTextVertPos_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This enumeration defines the relative vertical placement of the text
+ inside a measure shape.
+ */
+published enum MeasureTextVertPos
+{
+ AUTO,
+ EAST,
+ BREAKEDLINE,
+ WEST,
+ CENTERED
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/MirrorAxis.idl b/offapi/com/sun/star/drawing/MirrorAxis.idl
new file mode 100644
index 000000000..6faf02d2f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/MirrorAxis.idl
@@ -0,0 +1,45 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_MirrorAxis_idl__
+#define __com_sun_star_drawing_MirrorAxis_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** defines an axis for simple mirroring.
+ */
+published enum MirrorAxis
+{
+ /** mirror to the vertical axis
+ */
+ VERTICAL,
+
+ /** mirror to the horizontal axis
+ */
+ HORIZONTAL
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/ModuleDispatcher.idl b/offapi/com/sun/star/drawing/ModuleDispatcher.idl
new file mode 100644
index 000000000..454262e75
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ModuleDispatcher.idl
@@ -0,0 +1,38 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_ModuleDispatcher_idl__
+#define __com_sun_star_drawing_ModuleDispatcher_idl__
+
+#include <com/sun/star/frame/XDispatchProvider.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/**
+ @since LibreOffice 4.1
+ */
+service ModuleDispatcher : com::sun::star::frame::XDispatchProvider;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/NormalsKind.idl b/offapi/com/sun/star/drawing/NormalsKind.idl
new file mode 100644
index 000000000..0d87a9e98
--- /dev/null
+++ b/offapi/com/sun/star/drawing/NormalsKind.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_NormalsKind_idl__
+#define __com_sun_star_drawing_NormalsKind_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** specifies in which way the standard normals
+ for an object are produced.
+ */
+published enum NormalsKind
+{
+ /** does not produce standard normals, but leaves
+ the object-specific ones untouched.
+ */
+ SPECIFIC,
+
+ /** forces one normal per flat part.
+ */
+ FLAT,
+
+ /** forces normals to think that the object is a
+ sphere.
+ */
+ SPHERE
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/OLE2Shape.idl b/offapi/com/sun/star/drawing/OLE2Shape.idl
new file mode 100644
index 000000000..3d3aeee08
--- /dev/null
+++ b/offapi/com/sun/star/drawing/OLE2Shape.idl
@@ -0,0 +1,67 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_OLE2Shape_idl__
+#define __com_sun_star_drawing_OLE2Shape_idl__
+
+#include <com/sun/star/drawing/XShapeDescriptor.idl>
+#include <com/sun/star/drawing/Shape.idl>
+#include <com/sun/star/frame/XModel.idl>
+
+
+module com { module sun { module star { module drawing {
+
+/** This service is for an OLE shape.
+*/
+published service OLE2Shape
+{
+ service com::sun::star::drawing::Shape;
+
+
+ /** If you get this property you get the CLSID of the OLE2 document stream
+ contained in this OLE2 shape. If you set it, an empty OLE2 document stream
+ with this CLSID is created within this OLE2 shape.
+ */
+ [property] string CLSID;
+
+
+ /** this is the internal storage name that keeps this OLE2 persist.
+ */
+ [property] string PersistName;
+
+
+ /** This is the model for the OLE2 inside this shape.
+ <p>This property returns an empty reference if the OLE2 is not an
+ Office component.
+
+ */
+ [readonly, property] com::sun::star::frame::XModel Model;
+
+
+ /** This property returns `TRUE` for all OLE2 that are internal
+ Office components.
+ */
+ [readonly, property] boolean IsInternal;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/OpenBezierShape.idl b/offapi/com/sun/star/drawing/OpenBezierShape.idl
new file mode 100644
index 000000000..6c26c59cc
--- /dev/null
+++ b/offapi/com/sun/star/drawing/OpenBezierShape.idl
@@ -0,0 +1,62 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_OpenBezierShape_idl__
+#define __com_sun_star_drawing_OpenBezierShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/drawing/PolyPolygonBezierDescriptor.idl>
+
+#include <com/sun/star/drawing/Text.idl>
+
+#include <com/sun/star/drawing/ShadowProperties.idl>
+
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service is for an open Bezier shape.
+ */
+published service OpenBezierShape
+{
+ service com::sun::star::drawing::Shape;
+
+ service com::sun::star::drawing::LineProperties;
+
+ service com::sun::star::drawing::PolyPolygonBezierDescriptor;
+
+ service com::sun::star::drawing::Text;
+
+ service com::sun::star::drawing::ShadowProperties;
+
+ service com::sun::star::drawing::RotationDescriptor;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/PageShape.idl b/offapi/com/sun/star/drawing/PageShape.idl
new file mode 100644
index 000000000..15b6db12b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PageShape.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_PageShape_idl__
+#define __com_sun_star_drawing_PageShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This service is for a page shape.
+ A page shape displays a preview of another page. These shapes
+ are used inside notes pages to preview the corresponding
+ drawing page. They're also used in the handout page to preview
+ the printing position and order of pages
+ */
+published service PageShape
+{
+ service com::sun::star::drawing::Shape;
+
+ /** this is the page number that is used for the preview.
+ For page shapes on notes pages, this can't be changed.
+ For page shapes on handout pages, this value only
+ describes the relative order of the different page
+ shapes on the page.
+ */
+ [optional, property] long PageNumber;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/PluginShape.idl b/offapi/com/sun/star/drawing/PluginShape.idl
new file mode 100644
index 000000000..5dbaf86c0
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PluginShape.idl
@@ -0,0 +1,64 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_PluginShape_idl__
+#define __com_sun_star_drawing_PluginShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+module com { module sun { module star { module drawing {
+
+/** This Shape encapsulates a plugin.
+
+ <p>A plugin is a binary object that is plugged into a document to represent
+ a media-type that is not handled natively by the application.
+*/
+published service PluginShape
+{
+ /** basic service for position, size and z-order.
+
+ <p>A PluginShape cannot be rotated.
+ */
+ service com::sun::star::drawing::Shape;
+
+
+ /** This property specifies the media-type to which this plugin should
+ be registered.
+ */
+ [property] string PluginMimeType;
+
+
+ /** This property specifies the url to the binary object.
+ */
+ [property] string PluginURL;
+
+
+ /** This sequence contains parameters that are passed to the application
+ that renders the plugin when it is initialized.
+ */
+ [property] sequence< com::sun::star::beans::PropertyValue > PluginCommands;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/PointSequence.idl b/offapi/com/sun/star/drawing/PointSequence.idl
new file mode 100644
index 000000000..604d66bf6
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PointSequence.idl
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_PointSequence_idl__
+#define __com_sun_star_drawing_PointSequence_idl__
+
+#include <com/sun/star/awt/Point.idl>
+
+
+module com { module sun { module star { module drawing {
+
+published typedef sequence<com::sun::star::awt::Point> PointSequence;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/PointSequenceSequence.idl b/offapi/com/sun/star/drawing/PointSequenceSequence.idl
new file mode 100644
index 000000000..e0f2c54ff
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PointSequenceSequence.idl
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_PointSequenceSequence_idl__
+#define __com_sun_star_drawing_PointSequenceSequence_idl__
+
+#include <com/sun/star/drawing/PointSequence.idl>
+
+
+module com { module sun { module star { module drawing {
+
+published typedef sequence<PointSequence> PointSequenceSequence;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/PolyLineShape.idl b/offapi/com/sun/star/drawing/PolyLineShape.idl
new file mode 100644
index 000000000..a5b41181e
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PolyLineShape.idl
@@ -0,0 +1,62 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_PolyLineShape_idl__
+#define __com_sun_star_drawing_PolyLineShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/drawing/PolyPolygonDescriptor.idl>
+
+#include <com/sun/star/drawing/Text.idl>
+
+#include <com/sun/star/drawing/ShadowProperties.idl>
+
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service is for a polyline shape.
+ <p>A polyline has one or more straight lines.</p>
+ */
+published service PolyLineShape
+{
+ service com::sun::star::drawing::Shape;
+
+ service com::sun::star::drawing::LineProperties;
+
+ service com::sun::star::drawing::PolyPolygonDescriptor;
+
+ service com::sun::star::drawing::Text;
+
+ service com::sun::star::drawing::ShadowProperties;
+
+ service com::sun::star::drawing::RotationDescriptor;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/PolyPolygonBezierCoords.idl b/offapi/com/sun/star/drawing/PolyPolygonBezierCoords.idl
new file mode 100644
index 000000000..58e32c3c1
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PolyPolygonBezierCoords.idl
@@ -0,0 +1,44 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_PolyPolygonBezierCoords_idl__
+#define __com_sun_star_drawing_PolyPolygonBezierCoords_idl__
+
+#include <com/sun/star/drawing/PointSequenceSequence.idl>
+
+#include <com/sun/star/drawing/FlagSequenceSequence.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** specifies the coordinates for a poly polygon Bezier.
+ */
+published struct PolyPolygonBezierCoords
+{
+ com::sun::star::drawing::PointSequenceSequence Coordinates;
+ com::sun::star::drawing::FlagSequenceSequence Flags;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/PolyPolygonBezierDescriptor.idl b/offapi/com/sun/star/drawing/PolyPolygonBezierDescriptor.idl
new file mode 100644
index 000000000..eb1e7c44f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PolyPolygonBezierDescriptor.idl
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_PolyPolygonBezierDescriptor_idl__
+#define __com_sun_star_drawing_PolyPolygonBezierDescriptor_idl__
+
+#include <com/sun/star/drawing/PolygonKind.idl>
+
+#include <com/sun/star/drawing/PolyPolygonBezierCoords.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service describes a polypolygonbezier.
+ <p>A polypolygonbezier consists of multiple Bezier polygons combined
+ in one.</p>
+ */
+published service PolyPolygonBezierDescriptor
+{
+
+ /** This is the type of this polygon.
+ */
+ [readonly, property] com::sun::star::drawing::PolygonKind PolygonKind;
+
+
+ /** These are the Bezier points of this polygon.
+ */
+ [property] com::sun::star::drawing::PolyPolygonBezierCoords PolyPolygonBezier;
+
+
+ /** These are the untransformed Bezier coordinates of this polygon.
+ */
+ [property] com::sun::star::drawing::PolyPolygonBezierCoords Geometry;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/PolyPolygonBezierShape.idl b/offapi/com/sun/star/drawing/PolyPolygonBezierShape.idl
new file mode 100644
index 000000000..eccb58783
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PolyPolygonBezierShape.idl
@@ -0,0 +1,63 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_PolyPolygonBezierShape_idl__
+#define __com_sun_star_drawing_PolyPolygonBezierShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+
+#include <com/sun/star/drawing/LineProperties.idl>
+#include <com/sun/star/drawing/FillProperties.idl>
+
+#include <com/sun/star/drawing/PolyPolygonBezierDescriptor.idl>
+
+#include <com/sun/star/drawing/Text.idl>
+
+#include <com/sun/star/drawing/ShadowProperties.idl>
+
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This service specifies a poly-polygon Bezier shape.
+ */
+published service PolyPolygonBezierShape
+{
+ service com::sun::star::drawing::Shape;
+
+ service com::sun::star::drawing::LineProperties;
+
+ service com::sun::star::drawing::FillProperties;
+
+ service com::sun::star::drawing::PolyPolygonBezierDescriptor;
+
+ service com::sun::star::drawing::Text;
+
+ service com::sun::star::drawing::ShadowProperties;
+
+ service com::sun::star::drawing::RotationDescriptor;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/PolyPolygonDescriptor.idl b/offapi/com/sun/star/drawing/PolyPolygonDescriptor.idl
new file mode 100644
index 000000000..ca052bc8d
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PolyPolygonDescriptor.idl
@@ -0,0 +1,57 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_PolyPolygonDescriptor_idl__
+#define __com_sun_star_drawing_PolyPolygonDescriptor_idl__
+
+#include <com/sun/star/drawing/PolygonKind.idl>
+
+#include <com/sun/star/drawing/PointSequenceSequence.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service describes a poly-polygon.
+ <p>A poly-polygon consists of multiple polygons combined in one.</p>
+ */
+published service PolyPolygonDescriptor
+{
+
+ /** This is the type of polygon.
+ */
+ [readonly, property] com::sun::star::drawing::PolygonKind PolygonKind;
+
+
+ /** These are the reference points for this polygon.
+ */
+ [property] com::sun::star::drawing::PointSequenceSequence PolyPolygon;
+
+
+ /** These are the untransformed points of this polygon.
+ */
+ [property] com::sun::star::drawing::PointSequenceSequence Geometry;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/PolyPolygonShape.idl b/offapi/com/sun/star/drawing/PolyPolygonShape.idl
new file mode 100644
index 000000000..e901e92c7
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PolyPolygonShape.idl
@@ -0,0 +1,67 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_PolyPolygonShape_idl__
+#define __com_sun_star_drawing_PolyPolygonShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+
+#include <com/sun/star/drawing/LineProperties.idl>
+#include <com/sun/star/drawing/FillProperties.idl>
+
+#include <com/sun/star/drawing/PolyPolygonDescriptor.idl>
+
+#include <com/sun/star/drawing/Text.idl>
+
+#include <com/sun/star/drawing/ShadowProperties.idl>
+
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service is for a polygon shape.
+ <p>A poly-polygon has 2 or more straight lines, with the first and
+ last point connected by a straight line.</p>
+ */
+published service PolyPolygonShape
+{
+ service com::sun::star::drawing::Shape;
+
+ service com::sun::star::drawing::LineProperties;
+
+ service com::sun::star::drawing::FillProperties;
+
+ service com::sun::star::drawing::PolyPolygonDescriptor;
+
+ service com::sun::star::drawing::Text;
+
+ service com::sun::star::drawing::ShadowProperties;
+
+ service com::sun::star::drawing::RotationDescriptor;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/PolyPolygonShape3D.idl b/offapi/com/sun/star/drawing/PolyPolygonShape3D.idl
new file mode 100644
index 000000000..7ec591722
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PolyPolygonShape3D.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_PolyPolygonShape3D_idl__
+#define __com_sun_star_drawing_PolyPolygonShape3D_idl__
+
+#include <com/sun/star/drawing/DoubleSequenceSequence.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** specifies the coordinates of a 3-dimensional poly polygon.
+ */
+published struct PolyPolygonShape3D
+{
+ com::sun::star::drawing::DoubleSequenceSequence SequenceX;
+ com::sun::star::drawing::DoubleSequenceSequence SequenceY;
+ com::sun::star::drawing::DoubleSequenceSequence SequenceZ;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/PolygonFlags.idl b/offapi/com/sun/star/drawing/PolygonFlags.idl
new file mode 100644
index 000000000..b4d4e12d6
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PolygonFlags.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_PolygonFlags_idl__
+#define __com_sun_star_drawing_PolygonFlags_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** defines how a Bezier curve goes through a point.
+ */
+published enum PolygonFlags
+{
+ /** the point is normal, from the curve discussion view.
+ */
+ NORMAL,
+ /** the point is smooth, the first derivation from the curve discussion view.
+ */
+ SMOOTH,
+ /** the point is a control point, to control the curve from the user interface.
+ */
+ CONTROL,
+ /** the point is symmetric, the second derivation from the curve discussion view.
+ */
+ SYMMETRIC
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/PolygonKind.idl b/offapi/com/sun/star/drawing/PolygonKind.idl
new file mode 100644
index 000000000..485aafe9d
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PolygonKind.idl
@@ -0,0 +1,73 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_PolygonKind_idl__
+#define __com_sun_star_drawing_PolygonKind_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This enumeration defines the type of polygon.
+ */
+published enum PolygonKind
+{
+ /** This is the PolygonKind for a LineShape.
+ */
+ LINE,
+
+ /** This is the PolygonKind for a PolyPolygonShape.
+ */
+ POLY,
+
+ /** This is the PolygonKind for a PolyLineShape.
+ */
+ PLIN,
+
+ /** This is the PolygonKind for an OpenBezierShape.
+ */
+ PATHLINE,
+
+ /** This is the PolygonKind for a ClosedBezierShape.
+ */
+ PATHFILL,
+
+ /** This is the PolygonKind for an OpenFreeHandShape.
+ */
+ FREELINE,
+
+ /** This is the PolygonKind for a ClosedFreeHandShape.
+ */
+ FREEFILL,
+
+ /** This is the PolygonKind for a PolyPolygonPathShape.
+ */
+ PATHPOLY,
+
+ /** This is the PolygonKind for a PolyLinePathShape.
+ */
+ PATHPLIN
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/Position3D.idl b/offapi/com/sun/star/drawing/Position3D.idl
new file mode 100644
index 000000000..e9123a35a
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Position3D.idl
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_Position3D_idl__
+#define __com_sun_star_drawing_Position3D_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** specifies a 3-dimensional point.
+ */
+published struct Position3D
+{
+ /** the position on the X-Axis in the 3D room in 100th of millimeters
+ */
+ double PositionX;
+ /** the position on the Y-Axis in the 3D room in 100th of millimeters
+ */
+ double PositionY;
+ /** the position on the Z-Axis in the 3D room in 100th of millimeters
+ */
+ double PositionZ;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/ProjectionMode.idl b/offapi/com/sun/star/drawing/ProjectionMode.idl
new file mode 100644
index 000000000..9803d5ebf
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ProjectionMode.idl
@@ -0,0 +1,45 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_ProjectionMode_idl__
+#define __com_sun_star_drawing_ProjectionMode_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** defines whether the 3D objects are to be
+ drawn in perspective or parallel projection.
+ */
+published enum ProjectionMode
+{
+ /** the 3D objects are drawn in the parallel projection.
+ */
+ PARALLEL,
+ /** the 3D objects are drawn in the perspective projection.
+ */
+ PERSPECTIVE
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/RectanglePoint.idl b/offapi/com/sun/star/drawing/RectanglePoint.idl
new file mode 100644
index 000000000..265106064
--- /dev/null
+++ b/offapi/com/sun/star/drawing/RectanglePoint.idl
@@ -0,0 +1,65 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_RectanglePoint_idl__
+#define __com_sun_star_drawing_RectanglePoint_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** specifies one of nine points in a rectangle.
+ */
+published enum RectanglePoint
+{
+ /** specify to the point on the left side from the top of the rectangle.
+ */
+ LEFT_TOP,
+ /** specify to the point on the middle of the top from the rectangle.
+ */
+ MIDDLE_TOP,
+ /** specify to the point on the right side from the top of the rectangle.
+ */
+ RIGHT_TOP,
+ /** specify to the point on the middle of the left side from the rectangle.
+ */
+ LEFT_MIDDLE,
+ /** specify to the point on the center from the rectangle.
+ */
+ MIDDLE_MIDDLE,
+ /** specify to the point on the middle of the right side from the rectangle.
+ */
+ RIGHT_MIDDLE,
+ /** specify to the point on the bottom of the left side from the rectangle.
+ */
+ LEFT_BOTTOM,
+ /** specify to the point on the middle of the bottom from the rectangle.
+ */
+ MIDDLE_BOTTOM,
+ /** specify to the point on the bottom of the right side from the rectangle.
+ */
+ RIGHT_BOTTOM
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/RectangleShape.idl b/offapi/com/sun/star/drawing/RectangleShape.idl
new file mode 100644
index 000000000..1b1865801
--- /dev/null
+++ b/offapi/com/sun/star/drawing/RectangleShape.idl
@@ -0,0 +1,66 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_RectangleShape_idl__
+#define __com_sun_star_drawing_RectangleShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+#include <com/sun/star/drawing/FillProperties.idl>
+
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/drawing/Text.idl>
+
+#include <com/sun/star/drawing/ShadowProperties.idl>
+
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service is for a rectangle Shape.
+ */
+published service RectangleShape
+{
+ service com::sun::star::drawing::Shape;
+
+ service com::sun::star::drawing::FillProperties;
+
+ service com::sun::star::drawing::LineProperties;
+
+ service com::sun::star::drawing::Text;
+
+ service com::sun::star::drawing::ShadowProperties;
+
+ service com::sun::star::drawing::RotationDescriptor;
+
+
+ /** For Shapes with rounded corners, this is the radius
+ of the corners.
+ */
+ [property] long CornerRadius;
+ };
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/RotationDescriptor.idl b/offapi/com/sun/star/drawing/RotationDescriptor.idl
new file mode 100644
index 000000000..1697053e8
--- /dev/null
+++ b/offapi/com/sun/star/drawing/RotationDescriptor.idl
@@ -0,0 +1,65 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_RotationDescriptor_idl__
+#define __com_sun_star_drawing_RotationDescriptor_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This abstract service specifies the general characteristics of an optional
+ rotation and shearing for a Shape.
+
+ This service is deprecated, instead please use the <code>Transformation</code>
+ property of the service Shape.
+
+ @deprecated
+ */
+published service RotationDescriptor
+{
+
+ /** This is the angle for rotation of this Shape.
+ The shape is rotated counter-clockwise around the center
+ of the bounding box.
+
+ This property contains an error, the rotation angle is mathematically
+ inverted when You take into account that the Y-Axis of the coordinate
+ system is pointing down. Please use the <code>Transformation</code>
+ property of the service Shape instead.
+ @deprecated
+ */
+ [property] long RotateAngle;
+
+
+ /** This is the amount of shearing for this Shape.
+ The shape is sheared counter-clockwise around the center
+ of the bounding box
+
+ @deprecated
+ */
+ [optional, property] long ShearAngle;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/ShadeMode.idl b/offapi/com/sun/star/drawing/ShadeMode.idl
new file mode 100644
index 000000000..90b70cb27
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ShadeMode.idl
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_ShadeMode_idl__
+#define __com_sun_star_drawing_ShadeMode_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** The ShadeMode determines the quality of displaying the object.
+ */
+published enum ShadeMode
+{
+ /** With FLAT shading, the faces of the object are
+ rendered in a solid color.
+ */
+ FLAT,
+
+ /** With PHONG shading, the normal itself is interpolated
+ to get more realistic colors and light reflections.
+ */
+ PHONG,
+
+
+ /** With SMOOTH shading, the colors of the lit vertices is
+ interpolated.
+ */
+ SMOOTH,
+
+ /** DRAFT is a special mode which uses a BSP tree and
+ triangle subdivision for displaying.
+ */
+ DRAFT
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/ShadingPattern.idl b/offapi/com/sun/star/drawing/ShadingPattern.idl
new file mode 100644
index 000000000..abc319072
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ShadingPattern.idl
@@ -0,0 +1,225 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_drawing_ShadingPattern_idl__
+#define __com_sun_star_drawing_ShadingPattern_idl__
+
+
+
+module com { module sun { module star { module drawing {
+
+/** The ShadingPattern determines the background color pattern against
+ which characters and graphics are displayed, typically in tables.
+ The color can be no color or it can be a specific color with
+ a transparency or pattern value.
+ */
+constants ShadingPattern
+{
+ /* Clear */
+ const long CLEAR = 0x0000;
+
+ /* Solid */
+ const long SOLID = 0x0001;
+
+ /* 5% - pct5 */
+ const long PCT5 = 0x0002;
+
+ /* 10% - pct10 */
+ const long PCT10 = 0x0003;
+
+ /* 20% - pct20 */
+ const long PCT20 = 0x0004;
+
+ /* 25% - pct25 */
+ const long PCT25 = 0x0005;
+
+ /* 30% - pct30 */
+ const long PCT30 = 0x0006;
+
+ /* 40% - pct40 */
+ const long PCT40 = 0x0007;
+
+ /* 50% - pct50 */
+ const long PCT50 = 0x0008;
+
+ /* 60% - pct60 */
+ const long PCT60 = 0x0009;
+
+ /* 70% - pct70 */
+ const long PCT70 = 0x000A;
+
+ /* 75% - pct75 */
+ const long PCT75 = 0x000B;
+
+ /* 80% - pct80 */
+ const long PCT80 = 0x000C;
+
+ /* 90% - pct90 */
+ const long PCT90 = 0x000D;
+
+
+
+ /* Horizontal Stripe */
+ const long HORZ_STRIPE = 0x000E;
+
+ /* Vertical Stripe */
+ const long VERT_STRIPE = 0x000F;
+
+ /* Reverse Diagonal Stripe */
+ const long REVERSE_DIAG_STRIPE = 0x0010;
+
+ /* Diagonal Stripe */
+ const long DIAG_STRIPE = 0x0011;
+
+ /* Horizontal Cross */
+ const long HORZ_CROSS = 0x0012;
+
+ /* Diagonal Cross */
+ const long DIAG_CROSS = 0x0013;
+
+ /* Thin Horizontal Stripe */
+ const long THIN_HORZ_STRIPE = 0x0014;
+
+ /* Thin Vertical Stripe */
+ const long THIN_VERT_STRIPE = 0x0015;
+
+ /* Thin Reverse Diagonal Stripe */
+ const long THIN_REVERSE_DIAG_STRIPE = 0x0016;
+
+ /* Thin Diagonal Stripe */
+ const long THIN_DIAG_STRIPE = 0x0017;
+
+ /* Thin Horizontal Cross */
+ const long THIN_HORZ_CROSS = 0x0018;
+
+ /* Thin Diagonal Cross */
+ const long THIN_DIAG_CROSS = 0x0019;
+
+
+
+ /* Unused 1 */
+ const long UNUSED_1 = 0x001A;
+
+ /* Unused 2 */
+ const long UNUSED_2 = 0x001B;
+
+ /* Unused 3 */
+ const long UNUSED_3 = 0x001C;
+
+ /* Unused 4 */
+ const long UNUSED_4 = 0x001D;
+
+ /* Unused 5 */
+ const long UNUSED_5 = 0x001E;
+
+ /* Unused 6 */
+ const long UNUSED_6 = 0x001F;
+
+ /* Unused 7 */
+ const long UNUSED_7 = 0x0020;
+
+ /* Unused 8 */
+ const long UNUSED_8 = 0x0021;
+
+ /* Unused 9 */
+ const long UNUSED_9 = 0x0022;
+
+
+
+ /* 2.5% */
+ const long PCT2 = 0x0023;
+
+ /* 7.5% */
+ const long PCT7 = 0x0024;
+
+ /* 12.5% - pct12 */
+ const long PCT12 = 0x0025;
+
+ /* 15% - pct15 */
+ const long PCT15 = 0x0026;
+
+ /* 17.5% */
+ const long PCT17 = 0x0027;
+
+ /* 22.5% */
+ const long PCT22 = 0x0028;
+
+ /* 27.5% */
+ const long PCT27 = 0x0029;
+
+ /* 32.5% */
+ const long PCT32 = 0x002A;
+
+ /* 35% - pct35 */
+ const long PCT35 = 0x002B;
+
+ /* 37.5% - pct37 */
+ const long PCT37 = 0x002C;
+
+ /* 42.5% */
+ const long PCT42 = 0x002D;
+
+ /* 45% - pct45 */
+ const long PCT45 = 0x002E;
+
+ /* 47.5% */
+ const long PCT47 = 0x002F;
+
+ /* 52.5% */
+ const long PCT52 = 0x0030;
+
+ /* 55% - pct55 */
+ const long PCT55 = 0x0031;
+
+ /* 57.5% */
+ const long PCT57 = 0x0032;
+
+ /* 62.5% - pct62 */
+ const long PCT62 = 0x0033;
+
+ /* 65% - pct65 */
+ const long PCT65 = 0x0034;
+
+ /* 67.5% */
+ const long PCT67 = 0x0035;
+
+ /* 72.5% */
+ const long PCT72 = 0x0036;
+
+ /* 77.5% */
+ const long PCT77 = 0x0037;
+
+ /* 82.5% */
+ const long PCT82 = 0x0038;
+
+ /* 85% - pct85 */
+ const long PCT85 = 0x0039;
+
+ /* 87.5% - pct87 */
+ const long PCT87 = 0x003A;
+
+ /* 92.5% */
+ const long PCT92 = 0x003B;
+
+ /* 95% - pct95 */
+ const long PCT95 = 0x003C;
+
+ /* 97.5% */
+ const long PCT97 = 0x003D;
+
+ /* Nil */
+ const long NIL = 0xFFFF;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/ShadowProperties.idl b/offapi/com/sun/star/drawing/ShadowProperties.idl
new file mode 100644
index 000000000..7d7ad37d7
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ShadowProperties.idl
@@ -0,0 +1,74 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_ShadowProperties_idl__
+#define __com_sun_star_drawing_ShadowProperties_idl__
+
+#include <com/sun/star/util/Color.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This is a set of properties to describe the style for rendering a shadow.
+ */
+published service ShadowProperties
+{
+
+ /** enables/disables the shadow of a Shape.
+ <p>The other shadow properties are only applied if this is
+ set to `TRUE`.</p>
+ */
+ [property] boolean Shadow;
+
+
+ /** This is the color of the shadow of this Shape.
+ */
+ [property] com::sun::star::util::Color ShadowColor;
+
+
+ /** This defines the degree of transparence of the shadow in percent.
+ */
+ [property] short ShadowTransparence;
+
+
+ /** This is the horizontal distance of the left edge of the
+ Shape to the shadow.
+ */
+ [property] long ShadowXDistance;
+
+
+ /** This is the vertical distance of the top edge of the
+ Shape to the shadow.
+ */
+ [property] long ShadowYDistance;
+
+ /** This defines the degree of blur of the shadow in points.
+ */
+ [property,optional] long ShadowBlur;
+
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/Shape.idl b/offapi/com/sun/star/drawing/Shape.idl
new file mode 100644
index 000000000..7d6e9e22b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Shape.idl
@@ -0,0 +1,204 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_Shape_idl__
+#define __com_sun_star_drawing_Shape_idl__
+
+#include <com/sun/star/document/LinkTarget.idl>
+#include <com/sun/star/drawing/XShape.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/style/XStyle.idl>
+#include <com/sun/star/drawing/HomogenMatrix3.idl>
+#include <com/sun/star/drawing/XGluePointsSupplier.idl>
+#include <com/sun/star/container/XNameContainer.idl>
+#include <com/sun/star/beans/XTolerantMultiPropertySet.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+ module com { module sun { module star { module drawing {
+
+
+/** This abstract service specifies the general characteristics of all
+ Shapes.
+
+ @see XShape
+ @see com::sun::star::lang::XComponent
+ @see com::sun::star::text::XText
+ @see ShapeDescriptor
+ */
+published service Shape
+{
+
+ /** handles all the properties of this instance.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** This gives you the size and position of this Shape
+ and lets you change it. You can use getShapeType()
+ to determine what kind of shape this is.
+ */
+ interface com::sun::star::drawing::XShape;
+
+
+ /** is used for lifetime control of this Shape.
+ */
+ interface com::sun::star::lang::XComponent;
+
+
+ /** The XShapeDescriptor tells you what kind of
+ Shape this instance is.
+ */
+ interface com::sun::star::drawing::XShapeDescriptor;
+
+
+ /** This interfaces gives access to an optional container of gluepoints.
+ To have unique ids you should query the returned interface for
+ com::sun::star::container::XIdentifierContainer.
+ */
+ [optional] interface com::sun::star::drawing::XGluePointsSupplier;
+
+
+ [optional] interface com::sun::star::beans::XTolerantMultiPropertySet;
+
+
+ /** is used to query or change the ZOrder of this Shape. */
+ [optional, property] long ZOrder;
+
+
+ /** This is the ID of the Layer to which this
+ Shape is attached.
+ */
+ [optional, property] short LayerID;
+
+
+ /** This is the name of the Layer to which this
+ Shape is attached.
+ */
+ [optional, property] string LayerName;
+
+
+ /** If this is `FALSE`, the Shape is not visible
+ on screen outputs. Please note that the Shape may still
+ be visible when printed, see #Printable.
+ */
+ [optional, property] boolean Visible;
+
+
+ /** If this is `FALSE`, the Shape is not visible
+ on printer outputs.
+ */
+ [optional, property] boolean Printable;
+
+
+ /** With this set to `TRUE`, this Shape
+ cannot be moved interactively in the user interface.
+ */
+ [optional, property] boolean MoveProtect;
+
+
+ /** This is the name of this Shape.
+ */
+ [optional, property] string Name;
+
+
+ /** With this set to `TRUE`, this Shape may not be
+ sized interactively in the user interface.
+ */
+ [optional, property] boolean SizeProtect;
+
+
+ /** this property lets you get and set a style for this shape.
+ */
+ [optional, property] com::sun::star::style::XStyle Style;
+
+
+ /** this property lets you get and set the transformation matrix
+ for this shape.
+
+ The transformation is a 3x3 homogeneous matrix and can contain
+ translation, rotation, shearing and scaling.
+ */
+ [optional, property] com::sun::star::drawing::HomogenMatrix3 Transformation;
+
+
+ /** this property stores xml attributes.
+ They will be saved to and restored from automatic styles inside xml files.
+
+ @see com::sun::star::xml::AttributeContainer
+ */
+ [optional, property] com::sun::star::container::XNameContainer ShapeUserDefinedAttributes;
+
+
+ /** this property stores the navigation order of this shape. If this value
+ is negative, the navigation order for this shapes page is equal to
+ the z-order.
+ */
+ [optional, property] long NavigationOrder;
+
+ /** this property lets you get and set a hyperlink for this shape.
+ */
+ [optional, property] string Hyperlink;
+
+ /** Grab bag of shape properties, used as a string-any map for
+ interim interop purposes.
+
+ @since LibreOffice 4.2
+
+ <p>This property is intentionally not handled by the ODF
+ filter. Any member that should be handled there should be
+ first moved out from this grab bag to a separate property.</p>
+ */
+ [optional, property] sequence<com::sun::star::beans::PropertyValue> InteropGrabBag;
+
+ /** contains the relative height of the object.
+ <p> It is only valid if it is greater than zero.</p>
+
+ @since LibreOffice 4.3
+ */
+ [optional, property] short RelativeHeight;
+
+ /** contains the relative width of the object.
+ <p> It is only valid if it is greater than zero. </p>
+
+ @since LibreOffice 4.3
+ */
+ [optional, property] short RelativeWidth;
+
+ /** contains the relation of the relative height of the object.
+ <p> It is only valid if RelativeHeight is greater than zero.</p>
+
+ @see com::sun::star::text::RelOrientation
+ @since LibreOffice 4.3
+ */
+ [optional, property] short RelativeHeightRelation;
+
+ /** contains the relation of the relative width of the object.
+ <p> It is only valid if RelativeWidth is greater than zero.</p>
+
+ @see com::sun::star::text::RelOrientation
+ @since LibreOffice 4.3
+ */
+ [optional, property] short RelativeWidthRelation;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/ShapeCollection.idl b/offapi/com/sun/star/drawing/ShapeCollection.idl
new file mode 100644
index 000000000..38acd173c
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ShapeCollection.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_ShapeCollection_idl__
+#define __com_sun_star_drawing_ShapeCollection_idl__
+
+#include <com/sun/star/drawing/Shapes.idl>
+
+
+module com { module sun { module star { module drawing {
+
+/** This service describes a generic container to manage collections of
+ Shape. The Shape that are added to this
+ collection are not owned by the collection.
+
+ This service is used by the view f.e. to return a collection of
+ Shape that are selected at the ui.
+*/
+published service ShapeCollection : com::sun::star::drawing::XShapes;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/Shapes.idl b/offapi/com/sun/star/drawing/Shapes.idl
new file mode 100644
index 000000000..0f6e7c6eb
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Shapes.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_Shapes_idl__
+#define __com_sun_star_drawing_Shapes_idl__
+
+#include <com/sun/star/drawing/XShapes.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This service is for a generic collection of shapes.
+ */
+published service Shapes
+{
+ interface com::sun::star::drawing::XShapes;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/SlideRenderer.idl b/offapi/com/sun/star/drawing/SlideRenderer.idl
new file mode 100644
index 000000000..63ea4f1cf
--- /dev/null
+++ b/offapi/com/sun/star/drawing/SlideRenderer.idl
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_SlideRenderer_idl__
+#define __com_sun_star_drawing_SlideRenderer_idl__
+
+#include <com/sun/star/drawing/XSlideRenderer.idl>
+
+module com { module sun { module star { module drawing {
+
+/** Create preview bitmaps for single slides.
+*/
+service SlideRenderer : XSlideRenderer
+{
+ /** Create a new SlideRenderer object.
+ */
+ create ();
+};
+
+}; }; }; }; // ::com::sun::star::drawing
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/SlideSorter.idl b/offapi/com/sun/star/drawing/SlideSorter.idl
new file mode 100644
index 000000000..ae164153f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/SlideSorter.idl
@@ -0,0 +1,60 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_SlideSorter_idl__
+#define __com_sun_star_drawing_SlideSorter_idl__
+
+#include <com/sun/star/drawing/framework/XView.idl>
+#include <com/sun/star/drawing/XDrawView.idl>
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/frame/XController.idl>
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/drawing/XSlideSorterBase.idl>
+
+module com { module sun { module star { module drawing {
+
+
+/** A slide sorter shows previews for a set of slides, typically all slides
+ in a document, and allows the selection, reordering, creation, and
+ deletion of slides.
+ <p>In the drawing framework a slide sorter is regarded as a view.</p>
+*/
+service SlideSorter : XSlideSorterBase
+{
+ /** Create a new slide sorter object.
+ @param xViewId
+ The resource id of the new slide sorter.
+ @param xController
+ The access point to an impress document.
+ @param xParentWindow
+ The parent window which will be completely covered by the new
+ slide sorter.
+ */
+ create (
+ [in] framework::XResourceId xViewId,
+ [in] ::com::sun::star::frame::XController xController,
+ [in] ::com::sun::star::awt::XWindow xParentWindow);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/SnapObjectType.idl b/offapi/com/sun/star/drawing/SnapObjectType.idl
new file mode 100644
index 000000000..4f4189a17
--- /dev/null
+++ b/offapi/com/sun/star/drawing/SnapObjectType.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_SnapObjectType_idl__
+#define __com_sun_star_drawing_SnapObjectType_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** @deprecated
+ */
+published enum SnapObjectType
+{
+ POINT,
+ VERTICAL,
+ HORIZONTAL
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/Text.idl b/offapi/com/sun/star/drawing/Text.idl
new file mode 100644
index 000000000..c7a4659e1
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Text.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_Text_idl__
+#define __com_sun_star_drawing_Text_idl__
+
+#include <com/sun/star/text/XText.idl>
+
+#include <com/sun/star/drawing/TextProperties.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This abstract service specifies the general characteristics of an optional
+ text inside a Shape.
+ */
+published service Text
+{
+ /** With this interface you can modify the text of this Shape.
+ */
+ interface com::sun::star::text::XText;
+
+ /** The properties in this service describe the style for rendering
+ a shapes text area.
+ */
+ service com::sun::star::drawing::TextProperties;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/TextAdjust.idl b/offapi/com/sun/star/drawing/TextAdjust.idl
new file mode 100644
index 000000000..bb13ae42b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextAdjust.idl
@@ -0,0 +1,63 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_TextAdjust_idl__
+#define __com_sun_star_drawing_TextAdjust_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This enumeration specifies the position of a text inside a shape in
+ relation to the shape.
+
+ @deprecated
+
+ <p>This counts for the complete text, not individual lines. </p>
+ */
+published enum TextAdjust
+{
+ /** The left edge of the text is adjusted to the left edge of the shape.
+ */
+ LEFT,
+
+ /** The text is centered inside the shape.
+ */
+ CENTER,
+
+ /** The right edge of the text is adjusted to the right edge of the shape.
+ */
+ RIGHT,
+
+ /** The text extends from the left to the right edge of the shape.
+ */
+ BLOCK,
+
+ /** The text is stretched so that the longest line goes from the left
+ to the right edge of the shape.
+ */
+ STRETCH
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/TextAnimationDirection.idl b/offapi/com/sun/star/drawing/TextAnimationDirection.idl
new file mode 100644
index 000000000..e392d63ac
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextAnimationDirection.idl
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_TextAnimationDirection_idl__
+#define __com_sun_star_drawing_TextAnimationDirection_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This enumeration defines the movement direction of a scrolltext.
+ */
+published enum TextAnimationDirection
+{
+ LEFT,
+ RIGHT,
+ UP,
+ DOWN
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/TextAnimationKind.idl b/offapi/com/sun/star/drawing/TextAnimationKind.idl
new file mode 100644
index 000000000..12f10a44b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextAnimationKind.idl
@@ -0,0 +1,57 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_TextAnimationKind_idl__
+#define __com_sun_star_drawing_TextAnimationKind_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This enumeration specifies the type of animation for a text.
+ */
+published enum TextAnimationKind
+{
+ /** Don't animate this text.
+ */
+ NONE,
+
+ /** Let this text switch its state from visible to invisible continuously.
+ */
+ BLINK,
+
+ /** Let this text scroll.
+ */
+ SCROLL,
+
+ /** Scroll the text from one side to the other and back.
+ */
+ ALTERNATE,
+
+ /** Scroll the text from one side to the final position and stop there.
+ */
+ SLIDE
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/TextFitToSizeType.idl b/offapi/com/sun/star/drawing/TextFitToSizeType.idl
new file mode 100644
index 000000000..00c9598fd
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextFitToSizeType.idl
@@ -0,0 +1,68 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_TextFitToSizeType_idl__
+#define __com_sun_star_drawing_TextFitToSizeType_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** This enumeration specifies how the text within a shape relates to the
+ size of the shape.
+ */
+published enum TextFitToSizeType
+{
+ /** The text size is only defined by the font properties.
+ */
+ NONE,
+
+ /** The bitmap with the rendered glyphs is scaled up or down
+ proportionally to fit the size of the shape.
+ This may scale anisotropically.
+ No AutoGrow and no Auto line-breaks in this case.
+
+ On fontwork custom shapes, the rendering is different:
+ each line of text is <em>separately</em> scaled
+ proportionally to fit the width.
+ */
+ PROPORTIONAL,
+
+ /** Nowadays this is the same as `PROPORTIONAL`.
+ @note This is actually only implemented on fontwork
+ custom shapes, and the only supported option
+ (other than NONE) on fontwork shapes.
+ Why this is in this enum and not a value of
+ com.sun.star.drawing.TextHorizontalAdjust
+ is anybody's guess.
+ */
+ ALLLINES,
+
+ /** The font size is scaled down (never up!) isotropically to
+ fit the available space. Auto line-breaks will keep working.
+ */
+ AUTOFIT
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/TextHorizontalAdjust.idl b/offapi/com/sun/star/drawing/TextHorizontalAdjust.idl
new file mode 100644
index 000000000..61eb05b42
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextHorizontalAdjust.idl
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_TextHorizontalAdjust_idl__
+#define __com_sun_star_drawing_TextHorizontalAdjust_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This enumeration specifies the horizontal position of text inside a shape in
+ relation to the shape.
+ <p>This counts for the complete text, not individual lines. </p>
+ */
+published enum TextHorizontalAdjust
+{
+
+ /** The left edge of the text is adjusted to the left edge of the shape.
+ */
+ LEFT,
+
+
+ /** The text is centered inside the shape.
+ */
+ CENTER,
+
+
+ /** The right edge of the text is adjusted to the right edge of the shape.
+ */
+ RIGHT,
+
+
+ /** The text extends from the left to the right edge of the shape.
+ */
+ BLOCK
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/TextProperties.idl b/offapi/com/sun/star/drawing/TextProperties.idl
new file mode 100644
index 000000000..eb045624a
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextProperties.idl
@@ -0,0 +1,267 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_TextProperties_idl__
+#define __com_sun_star_drawing_TextProperties_idl__
+
+#include <com/sun/star/container/XIndexReplace.idl>
+
+#include <com/sun/star/style/CharacterProperties.idl>
+#include <com/sun/star/style/CharacterPropertiesAsian.idl>
+#include <com/sun/star/style/CharacterPropertiesComplex.idl>
+
+#include <com/sun/star/style/ParagraphProperties.idl>
+#include <com/sun/star/style/ParagraphPropertiesAsian.idl>
+#include <com/sun/star/style/ParagraphPropertiesComplex.idl>
+
+#include <com/sun/star/drawing/TextFitToSizeType.idl>
+
+#include <com/sun/star/drawing/TextAdjust.idl>
+
+#include <com/sun/star/drawing/TextAnimationDirection.idl>
+
+#include <com/sun/star/drawing/TextAnimationKind.idl>
+
+#include <com/sun/star/drawing/TextVerticalAdjust.idl>
+#include <com/sun/star/drawing/TextHorizontalAdjust.idl>
+#include <com/sun/star/text/WritingMode.idl>
+#include <com/sun/star/text/XTextColumns.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+
+/** This is a set of properties to describe the style for rendering the
+ text area inside a shape.
+ */
+published service TextProperties
+{
+ /** The properties in this service set default formats for text
+ inside the Shape.
+ */
+ service com::sun::star::style::CharacterProperties;
+
+
+ /** The properties in this service set default formats for Asian text
+ inside the Shape.
+ */
+ [optional] service com::sun::star::style::CharacterPropertiesAsian;
+
+
+ /** The properties in this service set default formats for complex text
+ inside the Shape.
+ */
+ [optional] service com::sun::star::style::CharacterPropertiesComplex;
+
+
+ /** The properties in this service set default formats for text
+ inside the Shape.
+ */
+ service com::sun::star::style::ParagraphProperties;
+
+
+ /** The properties in this service set default formats for Asian text
+ inside the Shape.
+ */
+ [optional] service com::sun::star::style::ParagraphPropertiesAsian;
+
+
+ /** The properties in this service set default formats for complex text
+ inside the Shape.
+ */
+ [optional] service com::sun::star::style::ParagraphPropertiesComplex;
+
+ /** If this is `TRUE`, numbering is ON for the text of
+ this Shape.
+ */
+ [optional, property] boolean IsNumbering;
+
+
+ /** describes the numbering levels.
+ <p>The different rules accessible with this
+ com::sun::star::container::XIndexReplace interface
+ are sequences of property values as described in the service
+ com::sun::star::style::NumberingRule.</p>
+ */
+ [optional, property] com::sun::star::container::XIndexReplace NumberingRules;
+
+
+ /** If this value is `TRUE`, the height of the Shape is
+ automatically expanded/shrunk when text is added to or removed from
+ the Shape.
+ */
+ [property] boolean TextAutoGrowHeight;
+
+
+ /** If this value is `TRUE`, the width of the Shape is
+ automatically expanded/shrunk when text is added to or removed from
+ the Shape.
+ */
+ [property] boolean TextAutoGrowWidth;
+
+ /** If this value is `TRUE`, the left edge of every line of text is
+ aligned with the left edge of this Shape.
+ */
+ [property] boolean TextContourFrame;
+
+
+ /** With this set to a value other than `NONE`, the text inside of
+ the Shape is stretched or scaled to fit into the Shape.
+ */
+ [property] com::sun::star::drawing::TextFitToSizeType TextFitToSize;
+
+
+ /** adjusts the horizontal position of the text inside of
+ the Shape.
+ */
+ [property] com::sun::star::drawing::TextHorizontalAdjust TextHorizontalAdjust;
+
+
+ /** adjusts the vertical position of the text inside of
+ the Shape.
+ */
+ [property] com::sun::star::drawing::TextVerticalAdjust TextVerticalAdjust;
+
+
+ /** This is the distance from the left edge of the Shape
+ to the left edge of the text.
+ <p>This is only useful if Text::TextHorizontalAdjust is
+ BLOCK or STRETCH or if
+ Text::TextFitSize is `TRUE`.</p>
+ */
+ [property] long TextLeftDistance;
+
+
+ /** This is the distance from the right edge of the Shape
+ to the right edge of the text.
+
+ <p>This is only useful if Text::TextHorizontalAdjust is
+ BLOCK or STRETCH
+ or if Text::TextFitSize is `TRUE`.</p>
+ */
+ [property] long TextRightDistance;
+
+
+ /** This is the distance from the upper edge of the Shape to
+ the upper edge of the text.
+
+ <p>This is only useful if Text::TextVerticalAdjust is
+ BLOCK or if Text::TextFitSize is
+ `TRUE`.</p>
+ */
+ [property] long TextUpperDistance;
+
+
+ /** This is the distance from the lower edge of the Shape to the
+ lower edge of the text.
+
+
+
+ <p>This is only useful if Text::TextVerticalAdjust is
+ BLOCK or if Text::TextFitSize is
+ `TRUE`.</p>
+ */
+ [property] long TextLowerDistance;
+
+
+ /** with this property you can set the maximum height for a shape with text.
+ On edit, the auto grow feature will not grow the object higher than
+ the value of this property.
+ */
+ [property] long TextMaximumFrameHeight;
+
+
+ /** with this property you can set the maximum width for a shape with text.
+ On edit, the auto grow feature will not grow the objects wider than
+ the value of this property.
+ */
+ [property] long TextMaximumFrameWidth;
+
+
+ /** with this property you can set the minimum height for a shape with text.
+ On edit, the auto grow feature will not shrink the objects height smaller
+ than the value of this property.
+ */
+ [property] long TextMinimumFrameHeight;
+
+
+ /** with this property you can set the minimum width for a shape with text.
+ On edit, the auto grow feature will not shrink the object width smaller
+ than the value of this property.
+ */
+ [property] long TextMinimumFrameWidth;
+
+
+ /** This is the number of pixels the text is moved in each animation step.
+ */
+ [property] short TextAnimationAmount;
+
+
+ /** This number defines how many times the text animation is repeated.
+ <p>If this is set to zero, the repeat is endless.</p>
+ */
+ [property] short TextAnimationCount;
+
+
+ /** This is the delay in thousandths of a second between each
+ of the animation steps.
+ */
+ [property] short TextAnimationDelay;
+
+
+ /** This enumeration defines the direction in which the text moves.
+ */
+ [property] com::sun::star::drawing::TextAnimationDirection TextAnimationDirection;
+
+
+ /** This value defines the type of animation.
+ */
+ [property] com::sun::star::drawing::TextAnimationKind TextAnimationKind;
+
+
+ /** If this value is `TRUE`, the text is visible at the start of the
+ animation.
+ */
+ [property] boolean TextAnimationStartInside;
+
+
+ /** If this value is `TRUE`, the text is visible at the end of the
+ animation.
+ */
+ [property] boolean TextAnimationStopInside;
+
+
+ /** This value selects the writing mode for the text.
+ */
+ [property] ::com::sun::star::text::WritingMode TextWritingMode;
+
+
+ /** Column layout properties for the text.
+
+ @since LibreOffice 7.2
+ */
+ [optional, property] ::com::sun::star::text::XTextColumns TextColumns;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/TextShape.idl b/offapi/com/sun/star/drawing/TextShape.idl
new file mode 100644
index 000000000..e1c440c1d
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextShape.idl
@@ -0,0 +1,63 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_TextShape_idl__
+#define __com_sun_star_drawing_TextShape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+
+#include <com/sun/star/drawing/Text.idl>
+#include <com/sun/star/drawing/FillProperties.idl>
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/drawing/ShadowProperties.idl>
+
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This service is for a text shape.
+ */
+published service TextShape
+{
+ service com::sun::star::drawing::Shape;
+
+ service com::sun::star::drawing::FillProperties;
+
+ service com::sun::star::drawing::LineProperties;
+
+ service com::sun::star::drawing::ShadowProperties;
+
+ service com::sun::star::drawing::Text;
+
+ service com::sun::star::drawing::RotationDescriptor;
+
+ /** This is the radius of the corners.
+ */
+ [property] long CornerRadius;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/TextVerticalAdjust.idl b/offapi/com/sun/star/drawing/TextVerticalAdjust.idl
new file mode 100644
index 000000000..d799472c2
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextVerticalAdjust.idl
@@ -0,0 +1,56 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_TextVerticalAdjust_idl__
+#define __com_sun_star_drawing_TextVerticalAdjust_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This enumeration specifies the vertical position of text inside a shape in
+ relation to the shape.
+ <p>This counts for the complete text, not individual lines. </p>
+ */
+published enum TextVerticalAdjust
+{
+ /** The top edge of the text is adjusted to the top edge of the shape.
+ */
+ TOP,
+
+ /** The text is centered inside the shape.
+ */
+ CENTER,
+
+ /** The bottom edge of the text is adjusted to the bottom edge of the shape.
+ */
+ BOTTOM,
+
+
+ /** The text extends from the top to the bottom edge of the shape.
+ */
+ BLOCK
+ };
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/TextureKind.idl b/offapi/com/sun/star/drawing/TextureKind.idl
new file mode 100644
index 000000000..06452bace
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextureKind.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_TextureKind_idl__
+#define __com_sun_star_drawing_TextureKind_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** These enumeration values specify how the texture is applied.
+ @deprecated
+ */
+published enum TextureKind
+{
+ /** With TextureKind LUMINANCE, the texture
+ and the lighting information is mixed to produce the image, so a
+ lit, textured object is achieved.
+ */
+ LUMINANCE,
+
+ /** With this mode the lighting is ignored and only the
+ texture color information is used.
+ */
+ COLOR
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/TextureKind2.idl b/offapi/com/sun/star/drawing/TextureKind2.idl
new file mode 100644
index 000000000..15b39e858
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextureKind2.idl
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_TextureKind2_idl__
+#define __com_sun_star_drawing_TextureKind2_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** These enumeration values specify how the texture is applied.
+ */
+published enum TextureKind2
+{
+
+ /** With TextureKind LUMINANCE, the texture
+ and the lighting information is mixed to produce the image, so a
+ lit, textured object is achieved.
+ */
+ LUMINANCE,
+
+ /** With TextureKind INTENSITY, each texture
+ pixel is used as an intensity value.
+ */
+ INTENSITY,
+
+ /** With this mode, the lighting is ignored and only the
+ texture color information is used.
+ */
+ COLOR
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/TextureMode.idl b/offapi/com/sun/star/drawing/TextureMode.idl
new file mode 100644
index 000000000..31f39869f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextureMode.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_TextureMode_idl__
+#define __com_sun_star_drawing_TextureMode_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** The TextureMode defines in which way the texture color data
+ replaces the object color data.
+ */
+published enum TextureMode
+{
+ /** This is the standard mode.
+ */
+ REPLACE,
+
+ /** This mixes up colors in a way defined by the texture bitmap.
+ */
+ MODULATE,
+
+ /** This mixes both data sources in a fixed ratio.
+ */
+ BLEND
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/TextureProjectionMode.idl b/offapi/com/sun/star/drawing/TextureProjectionMode.idl
new file mode 100644
index 000000000..41328e117
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextureProjectionMode.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_TextureProjectionMode_idl__
+#define __com_sun_star_drawing_TextureProjectionMode_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** defines how the texture is mapped to the object.
+
+
+
+ <p>It can be set independently for X and Y texture directions.</p>
+ */
+published enum TextureProjectionMode
+{
+ /** This value specifies that the standard object projection method is
+ used.
+ */
+ OBJECTSPECIFIC,
+
+ /** This value specifies a flat parallel projection in the specified
+ degree of freedom (X or Y).
+ */
+ PARALLEL,
+
+ /** This value forces projection to wrapping in X and/or Y.
+ */
+ SPHERE
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/TransparencyGradientTable.idl b/offapi/com/sun/star/drawing/TransparencyGradientTable.idl
new file mode 100644
index 000000000..540d309e5
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TransparencyGradientTable.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_TransparencyGradientTable_idl__
+#define __com_sun_star_drawing_TransparencyGradientTable_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** this is a container for com::sun::star::awt::Gradients
+
+ <p>It is used for example to access the com::sun::star::awt::Gradients that
+ are used inside a document for fill transparency.
+
+ @see DrawingDocumentFactory
+ @see com::sun::star::awt::Gradient
+*/
+published service TransparencyGradientTable
+{
+ /** this container lets you access the com::sun::star::awt::Gradients that
+ are indexed with a name.
+
+ <p>Note: You can add new entries for later use, but you cannot
+ remove entries that are used inside the document.
+ */
+ interface com::sun::star::container::XNameContainer;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/VerticalDimensioning.idl b/offapi/com/sun/star/drawing/VerticalDimensioning.idl
new file mode 100644
index 000000000..1ec5314d2
--- /dev/null
+++ b/offapi/com/sun/star/drawing/VerticalDimensioning.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_VerticalDimensioning_idl__
+#define __com_sun_star_drawing_VerticalDimensioning_idl__
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** specifies the vertical position of
+ the text of a dimensioning shape.
+ */
+published enum VerticalDimensioning
+{
+ /** Set this to have the application select the best horizontal
+ position for the text.
+ */
+ AUTO,
+
+ /** The text is positioned above the main line.
+ */
+ TOP,
+
+ /** The text is positioned over the main line.
+ */
+ CENTERED,
+
+ /** The text is positioned below the main line.
+ */
+ BOTTOM
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XConnectableShape.idl b/offapi/com/sun/star/drawing/XConnectableShape.idl
new file mode 100644
index 000000000..b9d0a0a94
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XConnectableShape.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XConnectableShape_idl__
+#define __com_sun_star_drawing_XConnectableShape_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/awt/Point.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** @deprecated
+*/
+published interface XConnectableShape: com::sun::star::uno::XInterface
+{
+ boolean canConnect( [in] com::sun::star::awt::Point nPos,
+ [in] boolean bCreateGluePoint,
+ [in] long nMaxDist );
+ boolean doConnect( [in] com::sun::star::awt::Point nPos,
+ [in] boolean bCreateGluePoint,
+ [in] long nMaxDist );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XConnectorShape.idl b/offapi/com/sun/star/drawing/XConnectorShape.idl
new file mode 100644
index 000000000..9e8922486
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XConnectorShape.idl
@@ -0,0 +1,64 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XConnectorShape_idl__
+#define __com_sun_star_drawing_XConnectorShape_idl__
+
+#include <com/sun/star/drawing/XShape.idl>
+
+#include <com/sun/star/drawing/XConnectableShape.idl>
+
+#include <com/sun/star/drawing/ConnectionType.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** @deprecated
+ */
+published interface XConnectorShape: com::sun::star::drawing::XShape
+{
+ /** connects the start of this instance
+ */
+ void connectStart( [in] com::sun::star::drawing::XConnectableShape xShape,
+ [in] com::sun::star::drawing::ConnectionType nPos );
+
+ /** connects the end of this instance.
+ */
+ void connectEnd( [in] com::sun::star::drawing::XConnectableShape xShape,
+ [in] com::sun::star::drawing::ConnectionType nPos );
+
+ /** disconnects the given Shape from the start of
+ this instance.
+ */
+ void disconnectBegin( [in] com::sun::star::drawing::XConnectableShape xShape );
+
+ /** disconnects the given Shape from the end of
+ this instance.
+ */
+ void disconnectEnd( [in] com::sun::star::drawing::XConnectableShape xShape );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XControlShape.idl b/offapi/com/sun/star/drawing/XControlShape.idl
new file mode 100644
index 000000000..cd59ed3f5
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XControlShape.idl
@@ -0,0 +1,67 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XControlShape_idl__
+#define __com_sun_star_drawing_XControlShape_idl__
+
+#include <com/sun/star/drawing/XShape.idl>
+
+#include <com/sun/star/awt/XControlModel.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** is implemented by a ControlShape to access the controls model.
+
+ @see com::sun::star::drawing::ControlShape
+ @see com::sun::star::awt::UnoControlModel
+*/
+published interface XControlShape: com::sun::star::drawing::XShape
+{
+
+ /** returns the control model of this Shape.
+
+ @return
+ if there is already a control model assigned
+ to this ControlShape, then it's returned.
+ Otherwise you get an empty reference.
+ */
+ com::sun::star::awt::XControlModel getControl();
+
+
+ /** sets the control model for this Shape.
+
+ @param xControl
+ this will be the new control model that is
+ displayed with this shape. You may change
+ the model more than once during the lifetime
+ of a ControlShape
+
+ */
+ void setControl( [in] com::sun::star::awt::XControlModel xControl );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XCustomShapeEngine.idl b/offapi/com/sun/star/drawing/XCustomShapeEngine.idl
new file mode 100644
index 000000000..e4f8f7d3b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XCustomShapeEngine.idl
@@ -0,0 +1,66 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XCustomShapeEngine_idl__
+#define __com_sun_star_drawing_XCustomShapeEngine_idl__
+
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/drawing/PolyPolygonBezierCoords.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/drawing/XShape.idl>
+#include <com/sun/star/drawing/XCustomShapeHandle.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** The XCustomShapeEngine
+ */
+interface XCustomShapeEngine: com::sun::star::uno::XInterface
+{
+
+ /**
+ @returns
+ the shape that is representing the CustomShape
+ */
+ com::sun::star::drawing::XShape render();
+
+ /**
+ @returns the text bound of the shape
+ */
+ com::sun::star::awt::Rectangle getTextBounds();
+
+ /**
+ @returns the line geometry of the object
+ */
+ com::sun::star::drawing::PolyPolygonBezierCoords getLineGeometry();
+
+ /**
+ @returns
+ a collection of interaction handles
+ */
+ sequence<com::sun::star::drawing::XCustomShapeHandle> getInteraction();
+
+ };
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XCustomShapeHandle.idl b/offapi/com/sun/star/drawing/XCustomShapeHandle.idl
new file mode 100644
index 000000000..1e4f092a4
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XCustomShapeHandle.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XCustomShapeHandle_idl__
+#define __com_sun_star_drawing_XCustomShapeHandle_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/Point.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** The XCustomShapeHandle
+ */
+interface XCustomShapeHandle: com::sun::star::uno::XInterface
+{
+
+ /** is getting the actual handle position
+
+ @returns
+ the actual handle position
+ */
+ com::sun::star::awt::Point getPosition();
+
+ /** is setting a new position for the handle
+ */
+ void setControllerPosition( [in] com::sun::star::awt::Point aPoint );
+
+ };
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XDrawPage.idl b/offapi/com/sun/star/drawing/XDrawPage.idl
new file mode 100644
index 000000000..1ebf020e4
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XDrawPage.idl
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XDrawPage_idl__
+#define __com_sun_star_drawing_XDrawPage_idl__
+
+#include <com/sun/star/drawing/XShapes.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** identifies an XShapes as a DrawPage.
+ */
+published interface XDrawPage: com::sun::star::drawing::XShapes
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XDrawPageDuplicator.idl b/offapi/com/sun/star/drawing/XDrawPageDuplicator.idl
new file mode 100644
index 000000000..e1ee7014a
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XDrawPageDuplicator.idl
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XDrawPageDuplicator_idl__
+#define __com_sun_star_drawing_XDrawPageDuplicator_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XDrawPage.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** makes it possible to duplicate pages within the same document.
+ */
+published interface XDrawPageDuplicator: com::sun::star::uno::XInterface
+{
+
+ /** creates a duplicate of a DrawPage or MasterPage,
+ including the Shapes on that page and inserts it into the
+ same model.
+
+ @param xPage
+ that is the source DrawPage or MasterPage
+ that will be duplicated
+
+ @return
+ a newly created DrawPage or MasterPage
+ that as all properties and copies of all Shapes from
+ the source page.
+ */
+ com::sun::star::drawing::XDrawPage duplicate( [in] com::sun::star::drawing::XDrawPage xPage );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XDrawPageExpander.idl b/offapi/com/sun/star/drawing/XDrawPageExpander.idl
new file mode 100644
index 000000000..383ca343d
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XDrawPageExpander.idl
@@ -0,0 +1,57 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XDrawPageExpander_idl__
+#define __com_sun_star_drawing_XDrawPageExpander_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XDrawPages.idl>
+
+#include <com/sun/star/drawing/XDrawPage.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** is implemented by documents that can expand the contents
+ of a summary on a DrawPage into a collection of
+ DrawPages.
+
+ @see XDrawPageSummarizer
+
+ @deprecated
+ */
+published interface XDrawPageExpander: com::sun::star::uno::XInterface
+{
+
+ /** creates a collection of DrawPages from the
+ summary inside the given DrawPage and adds
+ them to the same model as the source DrawPage.
+ */
+ com::sun::star::drawing::XDrawPages expand( [in] com::sun::star::drawing::XDrawPage xPage );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XDrawPageSummarizer.idl b/offapi/com/sun/star/drawing/XDrawPageSummarizer.idl
new file mode 100644
index 000000000..5da5018aa
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XDrawPageSummarizer.idl
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XDrawPageSummarizer_idl__
+#define __com_sun_star_drawing_XDrawPageSummarizer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XDrawPage.idl>
+
+#include <com/sun/star/drawing/XDrawPages.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** is implemented by documents that can create summaries
+ of their DrawPages.
+
+ @deprecated
+ */
+published interface XDrawPageSummarizer: com::sun::star::uno::XInterface
+{
+ /** creates a new DrawPage with a summary of all
+ DrawPages in the given collection.
+ */
+ com::sun::star::drawing::XDrawPage summarize( [in] com::sun::star::drawing::XDrawPages xPages );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XDrawPageSupplier.idl b/offapi/com/sun/star/drawing/XDrawPageSupplier.idl
new file mode 100644
index 000000000..6c4856986
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XDrawPageSupplier.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XDrawPageSupplier_idl__
+#define __com_sun_star_drawing_XDrawPageSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XDrawPage.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** represents something that provides a DrawPage.
+
+ <p>This interface is provided if the container only supports exactly
+ one DrawPage. For containers which support multiple
+ DrawPages interface XDrawPagesSupplier is
+ supported.</p>
+
+ @deprecated
+ */
+published interface XDrawPageSupplier: com::sun::star::uno::XInterface
+{
+ /** returns the DrawPage.
+ */
+ com::sun::star::drawing::XDrawPage getDrawPage();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XDrawPages.idl b/offapi/com/sun/star/drawing/XDrawPages.idl
new file mode 100644
index 000000000..4ee185dd4
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XDrawPages.idl
@@ -0,0 +1,74 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XDrawPages_idl__
+#define __com_sun_star_drawing_XDrawPages_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+
+#include <com/sun/star/drawing/XDrawPage.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** gives access to a container of DrawPages or MasterPages.
+
+ <p>The pages are stored in an index container. The order is determined by
+ the index.
+
+ You usually get this interface if you use the
+ XDrawPagesSupplier or the XMasterPagesSupplier
+ at a model that contains DrawPages or MasterPages
+*/
+published interface XDrawPages: com::sun::star::container::XIndexAccess
+{
+
+ /** creates and inserts a new DrawPage or MasterPage
+ into this container
+
+ @param nIndex
+ the index at which the newly created DrawPage or
+ MasterPage will be inserted.
+
+ @return
+ the newly created and already inserted DrawPage or
+ MasterPage.
+ */
+ com::sun::star::drawing::XDrawPage insertNewByIndex( [in] long nIndex );
+
+
+ /** removes a DrawPage or MasterPage from this
+ container.
+
+ @param xPage
+ this DrawPage or MasterPage must be
+ contained and will be removed from this container. It will
+ also be disposed and shouldn't be used any further.
+ */
+ void remove( [in] com::sun::star::drawing::XDrawPage xPage );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XDrawPagesSupplier.idl b/offapi/com/sun/star/drawing/XDrawPagesSupplier.idl
new file mode 100644
index 000000000..33d21b137
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XDrawPagesSupplier.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XDrawPagesSupplier_idl__
+#define __com_sun_star_drawing_XDrawPagesSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XDrawPages.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** must be supported to provide access to a multi-page drawing-layer.
+*/
+published interface XDrawPagesSupplier: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ an indexed container with the service DrawPages.
+ */
+ com::sun::star::drawing::XDrawPages getDrawPages();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XDrawSubController.idl b/offapi/com/sun/star/drawing/XDrawSubController.idl
new file mode 100644
index 000000000..3126cfa53
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XDrawSubController.idl
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_XDrawSubController_idl__
+#define __com_sun_star_drawing_XDrawSubController_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/XFastPropertySet.idl>
+#include <com/sun/star/drawing/XDrawView.idl>
+#include <com/sun/star/view/XSelectionSupplier.idl>
+
+
+
+module com { module sun { module star { module drawing {
+
+
+/** View dependent part of the Draw and Impress controller.
+ <p>During the lifetime of an Impress application the
+ com::sun::star::drawing::DrawingDocumentDrawView
+ changes its sub controllers whenever the view in the center pane is
+ replaced by another one. The sub controller handles the things that are
+ not common to all views, i.e. properties, the current page/slide, and
+ the selection.</p>
+*/
+interface XDrawSubController
+{
+ interface com::sun::star::drawing::XDrawView;
+ interface com::sun::star::view::XSelectionSupplier;
+
+ /** This narrow interface is used to pass property values to and from
+ the sub controller. Property change listeners are handled by the
+ controller.
+ */
+ interface com::sun::star::beans::XFastPropertySet;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XDrawView.idl b/offapi/com/sun/star/drawing/XDrawView.idl
new file mode 100644
index 000000000..40ebfe024
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XDrawView.idl
@@ -0,0 +1,60 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XDrawView_idl__
+#define __com_sun_star_drawing_XDrawView_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XDrawPage.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** is implemented by views that display DrawPages or MasterPages.
+ */
+published interface XDrawView: com::sun::star::uno::XInterface
+{
+
+ /** changes the current page.
+
+ @param xPage
+ this DrawPage or MasterPage will be
+ displayed inside this view.
+ */
+ void setCurrentPage( [in] com::sun::star::drawing::XDrawPage xPage );
+
+
+ /** returns the current page.
+
+ @return
+ the DrawPage or MasterPage that is
+ currently displayed.
+ */
+ com::sun::star::drawing::XDrawPage getCurrentPage();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XEnhancedCustomShapeDefaulter.idl b/offapi/com/sun/star/drawing/XEnhancedCustomShapeDefaulter.idl
new file mode 100644
index 000000000..2df794507
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XEnhancedCustomShapeDefaulter.idl
@@ -0,0 +1,281 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XEnhancedCustomShapeDefaulter_idl__
+#define __com_sun_star_drawing_XEnhancedCustomShapeDefaulter_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+
+interface XEnhancedCustomShapeDefaulter: com::sun::star::uno::XInterface
+{
+
+ /**
+
+ This interface allows to create shape properties for the given "ShapeType".
+ The "ShapeType" string can be empty then the current "ShapeType" of the
+ shape is used.
+
+ "non-primitive",
+ "rectangle",
+ "round-rectangle",
+ "ellipse",
+ "diamond",
+ "isosceles-triangle"
+ "right-triangle",
+ "parallelogram",
+ "trapezoid",
+ "hexagon",
+ "octagon",
+ "cross",
+ "star5",
+ "right-arrow",
+ "mso-spt14",
+ "pentagon-right",
+ "cube",
+ "mso-spt17",
+ "mso-spt18",
+ "mso-spt19",
+ "mso-spt20",
+ "mso-spt21",
+ "can",
+ "ring",
+ "mso-spt24",
+ "mso-spt25",
+ "mso-spt26",
+ "mso-spt27",
+ "mso-spt28",
+ "mso-spt29",
+ "mso-spt30",
+ "mso-spt31",
+ "mso-spt32",
+ "mso-spt33",
+ "mso-spt34",
+ "mso-spt35",
+ "mso-spt36",
+ "mso-spt37",
+ "mso-spt38",
+ "mso-spt39",
+ "mso-spt40",
+ "mso-spt41",
+ "mso-spt42",
+ "mso-spt43",
+ "mso-spt44",
+ "mso-spt45",
+ "mso-spt46",
+ "line-callout-1",
+ "line-callout-2",
+ "mso-spt49",
+ "mso-spt50",
+ "mso-spt51",
+ "mso-spt52",
+ "mso-spt53",
+ "mso-spt54",
+ "chevron",
+ "pentagon",
+ "forbidden",
+ "star8",
+ "mso-spt59",
+ "mso-spt60",
+ "rectangular-callout",
+ "round-rectangular-callout",
+ "round-callout",
+ "mso-spt64",
+ "paper",
+ "left-arrow",
+ "down-arrow",
+ "up-arrow",
+ "left-right-arrow",
+ "up-down-arrow",
+ "mso-spt71",
+ "bang",
+ "lightning",
+ "heart",
+ "mso-spt75",
+ "quad-arrow",
+ "left-arrow-callout",
+ "right-arrow-callout",
+ "up-arrow-callout",
+ "down-arrow-callout",
+ "left-right-arrow-callout",
+ "up-down-arrow-callout",
+ "quad-arrow-callout",
+ "quad-bevel",
+ "left-bracket",
+ "right-bracket",
+ "left-brace",
+ "right-brace",
+ "mso-spt89",
+ "mso-spt90",
+ "mso-spt91",
+ "star24",
+ "striped-right-arrow",
+ "notched-right-arrow",
+ "block-arc",
+ "smiley",
+ "vertical-scroll",
+ "horizontal-scroll",
+ "circular-arrow",
+ "mso-spt100",
+ "mso-spt101",
+ "mso-spt102",
+ "mso-spt103",
+ "mso-spt104",
+ "mso-spt105",
+ "cloud-callout",
+ "mso-spt107",
+ "mso-spt108",
+ "flowchart-process",
+ "flowchart-decision",
+ "flowchart-data",
+ "flowchart-predefined-process",
+ "flowchart-internal-storage",
+ "flowchart-document",
+ "flowchart-multidocument",
+ "flowchart-terminator",
+ "flowchart-preparation",
+ "flowchart-manual-input",
+ "flowchart-manual-operation",
+ "flowchart-connector",
+ "flowchart-card",
+ "flowchart-punched-tape",
+ "flowchart-summing-junction",
+ "flowchart-or",
+ "flowchart-collate",
+ "flowchart-sort",
+ "flowchart-extract",
+ "flowchart-merge",
+ "mso-spt129",
+ "flowchart-stored-data",
+ "flowchart-sequential-access",
+ "flowchart-magnetic-disk",
+ "flowchart-direct-access-storage",
+ "flowchart-display",
+ "flowchart-delay",
+ "fontwork-plain-text",
+ "fontwork-stop",
+ "fontwork-triangle-up",
+ "fontwork-triangle-down",
+ "fontwork-chevron-up",
+ "fontwork-chevron-down",
+ "mso-spt142",
+ "mso-spt143",
+ "fontwork-arch-up-curve",
+ "fontwork-arch-down-curve",
+ "fontwork-circle-curve",
+ "fontwork-open-circle-curve",
+ "fontwork-arch-up-pour",
+ "fontwork-arch-down-pour",
+ "fontwork-circle-pour",
+ "fontwork-open-circle-pour",
+ "fontwork-curve-up",
+ "fontwork-curve-down",
+ "fontwork-fade-up-and-right",
+ "fontwork-fade-up-and-left",
+ "fontwork-wave",
+ "mso-spt157",
+ "mso-spt158",
+ "mso-spt159",
+ "fontwork-inflate",
+ "mso-spt161",
+ "mso-spt162",
+ "mso-spt163",
+ "mso-spt164",
+ "mso-spt165",
+ "mso-spt166",
+ "mso-spt167",
+ "fontwork-fade-right",
+ "fontwork-fade-left",
+ "fontwork-fade-up",
+ "fontwork-fade-down",
+ "fontwork-slant-up",
+ "fontwork-slant-down",
+ "mso-spt174",
+ "mso-spt175",
+ "flowchart-alternate-process",
+ "flowchart-off-page-connector",
+ "mso-spt178",
+ "mso-spt179",
+ "mso-spt180",
+ "line-callout-3",
+ "mso-spt182",
+ "sun",
+ "moon",
+ "bracket-pair",
+ "brace-pair",
+ "star4",
+ "mso-spt188",
+ "mso-spt189",
+ "mso-spt190",
+ "mso-spt191",
+ "mso-spt192",
+ "mso-spt193",
+ "mso-spt194",
+ "mso-spt195",
+ "mso-spt196",
+ "mso-spt197",
+ "mso-spt198",
+ "mso-spt199",
+ "mso-spt200",
+ "mso-spt201",
+ "mso-spt202",
+
+ SJ: following shape types can't be created with this method, they
+ are part of the gallery (soon they also will be added)
+ // gallery: quadrat
+ // gallery: round-quadrat
+ // gallery: circle
+ // gallery: circle-pie
+ // gallery: frame
+ // gallery: flower
+ // gallery: cloud
+ // gallery: puzzle
+ // gallery: octagon-bevel
+ // gallery: diamond-bevel
+ // gallery: up-right-arrow
+ // gallery: up-right-down-arrow
+ // gallery: corner-right-arrow
+ // gallery: split-arrow
+ // gallery: up-right-arrow-callout
+ // gallery: split-round-arrow
+ // gallery: s-sharped-arrow
+ // Gallery: star6
+ // Gallery: star12
+ // Gallery: concave-star6
+ // Gallery: signet
+ // Gallery: doorplate
+ // gallery: fontwork-arch-left-curve
+ // gallery: fontwork-arch-right-curve
+ // gallery: fontwork-arch-left-pour
+ // gallery: fontwork-arch-right-pour
+
+ */
+ void createCustomShapeDefaults( [ in ] string aShapeType );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XGluePointsSupplier.idl b/offapi/com/sun/star/drawing/XGluePointsSupplier.idl
new file mode 100644
index 000000000..8e129ba12
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XGluePointsSupplier.idl
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XGluePointsSupplier_idl__
+#define __com_sun_star_drawing_XGluePointsSupplier_idl__
+
+#include <com/sun/star/container/XIndexContainer.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** must be supported to provide access to a container of GluePoint2.
+ */
+published interface XGluePointsSupplier: com::sun::star::uno::XInterface
+{
+
+ /**
+ @return
+ a container of GluePoint2 structs.
+ */
+ com::sun::star::container::XIndexContainer getGluePoints();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XGraphicExportFilter.idl b/offapi/com/sun/star/drawing/XGraphicExportFilter.idl
new file mode 100644
index 000000000..25f61ef0b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XGraphicExportFilter.idl
@@ -0,0 +1,93 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XGraphicExportFilter_idl__
+#define __com_sun_star_drawing_XGraphicExportFilter_idl__
+
+#include <com/sun/star/document/XFilter.idl>
+#include <com/sun/star/document/XExporter.idl>
+#include <com/sun/star/document/XMimeTypeInfo.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+/**
+ @since LibreOffice 4.1
+*/
+published interface XGraphicExportFilter
+{
+ /** calling com::sun::star::document::XFilter::filter()
+ starts the export of the graphic file.
+
+ <p>The following properties from the
+ com::sun::star::document::MediaDescriptor are
+ supported:</p>
+
+ <ul>
+ <li>
+ com::sun::star::document::MediaDescriptor::MediaType
+ <p>Depending on the export filters supported by this component,
+ this is the mime type of the target graphic file.</p>
+ <p>Possible values are:</p>
+ <ul>
+ <li>image/x-MS-bmp</li>
+ <li>application/dxf</li>
+ <li>application/postscript</li>
+ <li>image/gif</li>
+ <li>image/jpeg</li>
+ <li>image/png</li>
+ <li>image/x-pict</li>
+ <li>image/x-pcx</li>
+ <li>image/x-portable-bitmap</li>
+ <li>image/x-portable-graymap</li>
+ <li>image/x-portable-pixmap</li>
+ <li>image/x-cmu-raster</li>
+ <li>image/targa</li>
+ <li>image/tiff</li>
+ <li>image/x-xbitmap</li>
+ <li>image/x-xpixmap</li>
+ <li>image/svg+xml</li>
+ </ul>
+ <p>Ask the interface com::sun::star::document::XMimeTypeInfo
+ for all values supported by the component.</p>
+ </li>
+ <li>
+ com::sun::star::document::MediaDescriptor::URL
+ <p>This is the target url of the file that will be created during export.</p>
+ </li>
+ </ul>
+ */
+ interface ::com::sun::star::document::XFilter;
+
+ /** sets the source component for this export filter.
+ <p>This could either be a DrawPage, a Shape
+ or a Shapes.</p>
+ */
+ interface ::com::sun::star::document::XExporter;
+
+ /** lets you query the supported mime types by this component */
+ interface ::com::sun::star::document::XMimeTypeInfo;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XLayer.idl b/offapi/com/sun/star/drawing/XLayer.idl
new file mode 100644
index 000000000..82933d37e
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XLayer.idl
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XLayer_idl__
+#define __com_sun_star_drawing_XLayer_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** identifies the object as a Layer.
+ */
+published interface XLayer: com::sun::star::beans::XPropertySet
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XLayerManager.idl b/offapi/com/sun/star/drawing/XLayerManager.idl
new file mode 100644
index 000000000..58c0d4db0
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XLayerManager.idl
@@ -0,0 +1,95 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XLayerManager_idl__
+#define __com_sun_star_drawing_XLayerManager_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+
+#include <com/sun/star/drawing/XLayer.idl>
+
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+#include <com/sun/star/drawing/XShape.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** This interface makes it possible to access and manage the
+ Layers of a document.
+
+ @see LayerManager
+ */
+published interface XLayerManager: com::sun::star::container::XIndexAccess
+{
+
+ /** creates a new Layer
+
+ @param nIndex
+ the index at which the new layer is inserted
+
+ @returns
+ the new created Layer
+ */
+ com::sun::star::drawing::XLayer insertNewByIndex( [in] long nIndex );
+
+
+ /** removes a Layer and all Shapes on
+ this Layer.
+
+ @param xLayer
+ this Layer will be removed and disposed
+ */
+ void remove( [in] com::sun::star::drawing::XLayer xLayer )
+ raises( com::sun::star::container::NoSuchElementException );
+
+
+ /** attaches a Shape to the given Layer.
+
+ @param xShape
+ this is the Shape that will be attached to a Layer
+
+ @param xLayer
+ this is the Layer that will be attached to a Shape
+ */
+ void attachShapeToLayer( [in] com::sun::star::drawing::XShape xShape,
+ [in] com::sun::star::drawing::XLayer xLayer );
+
+
+ /** queries the Layer that a Shape is attached to
+
+ @param xShape
+ specifies the Shape for which the layer is requested.
+
+ @returns
+ the Layer to which the Shape is
+ attached.
+
+ */
+ com::sun::star::drawing::XLayer getLayerForShape( [in] com::sun::star::drawing::XShape xShape );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XLayerSupplier.idl b/offapi/com/sun/star/drawing/XLayerSupplier.idl
new file mode 100644
index 000000000..3e2bfe151
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XLayerSupplier.idl
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XLayerSupplier_idl__
+#define __com_sun_star_drawing_XLayerSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** gives access to a LayerManager.
+
+ @see LayerManager
+ */
+published interface XLayerSupplier: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ the LayerManager.
+ */
+ com::sun::star::container::XNameAccess getLayerManager();
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XMasterPageTarget.idl b/offapi/com/sun/star/drawing/XMasterPageTarget.idl
new file mode 100644
index 000000000..849a339ee
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XMasterPageTarget.idl
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XMasterPageTarget_idl__
+#define __com_sun_star_drawing_XMasterPageTarget_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XDrawPage.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** is implemented by objects that can be linked to a
+ MasterPage.
+
+ @see DrawPage
+ */
+published interface XMasterPageTarget: com::sun::star::uno::XInterface
+{
+
+ /** @returns the MasterPage linked to this object.
+ */
+ com::sun::star::drawing::XDrawPage getMasterPage();
+
+
+ /** links a MasterPage to this object.
+
+ @param xMasterPage
+ the MasterPage that is linked to this object
+ */
+ void setMasterPage( [in] com::sun::star::drawing::XDrawPage xMasterPage );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XMasterPagesSupplier.idl b/offapi/com/sun/star/drawing/XMasterPagesSupplier.idl
new file mode 100644
index 000000000..74d3474d1
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XMasterPagesSupplier.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XMasterPagesSupplier_idl__
+#define __com_sun_star_drawing_XMasterPagesSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XDrawPages.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** must be supported to provide access to the
+ MasterPages of a multi-page drawing-layer.
+ */
+published interface XMasterPagesSupplier: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ an indexed container with the service MasterPages.
+ */
+ com::sun::star::drawing::XDrawPages getMasterPages();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XPresenterHelper.idl b/offapi/com/sun/star/drawing/XPresenterHelper.idl
new file mode 100644
index 000000000..eca5f12b1
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XPresenterHelper.idl
@@ -0,0 +1,158 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_XPresenterHelper_idl__
+#define __com_sun_star_drawing_XPresenterHelper_idl__
+
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/rendering/XCanvas.idl>
+#include <com/sun/star/rendering/XSpriteCanvas.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/drawing/CanvasFeature.idl>
+
+module com { module sun { module star { module drawing {
+
+/** This interface is a collection of functions that were necessary to
+ implement larger parts of the presenter screen as extension. The
+ methods of this interface give access to services that could only be
+ implemented in the Office core, not in an extension.
+
+ <p>As the presenter screen is no extension any more, this hack can go again;
+ it just needs clean-up.</p>
+*/
+interface XPresenterHelper
+{
+ /** Create a new window as child window of the given parent window.
+ @param xParentWindow
+ The parent window of the new window.
+ @param bCreateSystemChildWindow
+ When `TRUE` then the new window will be a system window that,
+ in the context of the presenter screen, can not be painted over
+ by other windows that lie behind it.
+ @param bInitiallyVisible
+ When `TRUE` the new window will be visible from the start,
+ i.e. a window listener will not receive a windowShown signal.
+ @param bEnableChildTransparentMode
+ When `TRUE` the parent window is painted behind its child
+ windows. This is one half of allowing child windows to be
+ transparent.
+ @param bEnableParentClip
+ When `TRUE` then the parent window is not clipped where its
+ child windows are painted. This is the other half of allowing
+ child windows to be transparent.
+ */
+ ::com::sun::star::awt::XWindow createWindow (
+ [in] ::com::sun::star::awt::XWindow xParentWindow,
+ [in] boolean bCreateSystemChildWindow,
+ [in] boolean bInitiallyVisible,
+ [in] boolean bEnableChildTransparentMode,
+ [in] boolean bEnableParentClip);
+
+ /** Create a new canvas for the given window. The new canvas is a
+ wrapper around the given shared canvas. The wrapper only modifies
+ the origin in all output and clipping methods.
+ @param xUpdateCanvas
+ This canvas is used to call updateScreen() on. May be `NULL`
+ @param xUpdateWindow
+ The window that belongs to the update canvas. May also be
+ `NULL` (is expected to b `NULL` whenever xUpdateCanvas is.)
+ @param xSharedCanvas
+ The canvas that is shared by the wrapper.
+ @param xSharedWindow
+ The window of the shared canvas. This is used to determine the
+ proper offset.
+ @param xWindow
+ The canvas is created for this window. Must not be `NULL`
+ */
+ ::com::sun::star::rendering::XCanvas createSharedCanvas (
+ [in] ::com::sun::star::rendering::XSpriteCanvas xUpdateCanvas,
+ [in] ::com::sun::star::awt::XWindow xUpdateWindow,
+ [in] ::com::sun::star::rendering::XCanvas xSharedCanvas,
+ [in] ::com::sun::star::awt::XWindow xSharedWindow,
+ [in] ::com::sun::star::awt::XWindow xWindow);
+
+ /** Create a new canvas for the given window.
+ @param xWindow
+ The canvas is created for this window. Must not be `NULL`
+ @param nRequestedCanvasFeatureList
+ List of requested features that the new canvas should (has to)
+ provide. Use only values from the CanvasFeature
+ constants group.
+ @param sOptionalCanvasServiceName
+ When an explicit service name is given then a new object of this
+ service is created. This service name lets the caller select a
+ specific canvas implementation, e.g. with or without hardware
+ acceleration.
+ */
+ ::com::sun::star::rendering::XCanvas createCanvas (
+ [in] ::com::sun::star::awt::XWindow xWindow,
+ [in] short nRequestedCanvasFeatureList,
+ [in] string sOptionalCanvasServiceName);
+
+ /** Move the specified window to the top of its stacking order. As a
+ result the window will be painted over all its overlapping
+ siblings.
+ @param xWindow
+ This window will be moved to the top of its stacking order.
+ */
+ void toTop (
+ [in] ::com::sun::star::awt::XWindow xWindow);
+
+ /** Load a bitmap with a given ID.
+ @param id
+ The ID of the bitmap.
+ @param xCanvas
+ The bitmap is created to be compatible, and possibly optimized,
+ for this canvas.
+ */
+ ::com::sun::star::rendering::XBitmap loadBitmap (
+ [in] string id,
+ [in] ::com::sun::star::rendering::XCanvas xCanvas);
+
+ /** Capture the mouse so that no other window will receive mouse events.
+ Note that this is a potentially dangerous method. Not calling
+ releaseMouse eventually can lead to an unresponsive application.
+ @param xWindow
+ The window for which mouse events will be notified even when the
+ mouse pointer moves outside the window or over other windows.
+ */
+ void captureMouse (
+ [in] ::com::sun::star::awt::XWindow xWindow);
+
+ /** Release a previously captured mouse.
+ @param xWindow
+ The window from which the mouse will be released.
+ */
+ void releaseMouse (
+ [in] ::com::sun::star::awt::XWindow xWindow);
+
+ /** Return the bounding box of the given child window relative to the
+ direct or indirect parent window.
+ */
+ com::sun::star::awt::Rectangle getWindowExtentsRelative (
+ [in] ::com::sun::star::awt::XWindow xChildWindow,
+ [in] ::com::sun::star::awt::XWindow xParentWindow);
+};
+
+
+}; }; }; }; // ::com::sun::star::drawing
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XSelectionFunction.idl b/offapi/com/sun/star/drawing/XSelectionFunction.idl
new file mode 100644
index 000000000..d19e1ab5f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XSelectionFunction.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XSelectionFunction_idl__
+#define __com_sun_star_drawing_XSelectionFunction_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/lang/XServiceInfo.idl>
+#include <com/sun/star/frame/XDispatch.idl>
+#include <com/sun/star/awt/XKeyHandler.idl>
+#include <com/sun/star/awt/XMouseClickHandler.idl>
+#include <com/sun/star/awt/XMouseMotionHandler.idl>
+#include <com/sun/star/view/XSelectionChangeListener.idl>
+
+
+ module com { module sun { module star { module drawing {
+
+
+published interface XSelectionFunction
+{
+ interface ::com::sun::star::lang::XComponent;
+ interface ::com::sun::star::lang::XServiceInfo;
+ interface ::com::sun::star::frame::XDispatch;
+ interface ::com::sun::star::awt::XKeyHandler;
+ interface ::com::sun::star::awt::XMouseClickHandler;
+ interface ::com::sun::star::awt::XMouseMotionHandler;
+ interface ::com::sun::star::view::XSelectionChangeListener;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XShape.idl b/offapi/com/sun/star/drawing/XShape.idl
new file mode 100644
index 000000000..6be9c01c5
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShape.idl
@@ -0,0 +1,80 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XShape_idl__
+#define __com_sun_star_drawing_XShape_idl__
+
+#include <com/sun/star/drawing/XShapeDescriptor.idl>
+
+#include <com/sun/star/awt/Point.idl>
+
+#include <com/sun/star/awt/Size.idl>
+
+#include <com/sun/star/beans/PropertyVetoException.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** lets you do a basic transformation on a Shape and
+ get its type.
+ */
+published interface XShape: com::sun::star::drawing::XShapeDescriptor
+{
+
+ /** gets the current position of this object.
+
+ @returns
+ the position of the top left edge in 100/th mm
+ */
+ com::sun::star::awt::Point getPosition();
+
+
+ /** sets the current position of this object
+
+ @param aPosition
+ the position of the top left edge in 100/th mm
+ */
+ void setPosition( [in] com::sun::star::awt::Point aPosition );
+
+
+ /** gets the size of this object.
+
+ @returns
+ the size in 100/th mm
+ */
+ com::sun::star::awt::Size getSize();
+
+
+ /** sets the size of this object.
+
+ @param aSize
+ the size in 100/th mm
+ */
+ void setSize( [in] com::sun::star::awt::Size aSize )
+ raises( com::sun::star::beans::PropertyVetoException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XShapeAligner.idl b/offapi/com/sun/star/drawing/XShapeAligner.idl
new file mode 100644
index 000000000..b667b4b7b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapeAligner.idl
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XShapeAligner_idl__
+#define __com_sun_star_drawing_XShapeAligner_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XShapes.idl>
+
+#include <com/sun/star/drawing/Alignment.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** Objects implementing this interface can be used to align
+ Shapes.
+
+ @deprecated
+ */
+published interface XShapeAligner: com::sun::star::uno::XInterface
+{
+ /** aligns the specified Shapes.
+ */
+ void alignShapes( [inout] com::sun::star::drawing::XShapes aShapes,
+ [in] com::sun::star::drawing::Alignment eType );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XShapeArranger.idl b/offapi/com/sun/star/drawing/XShapeArranger.idl
new file mode 100644
index 000000000..8079ffd3b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapeArranger.idl
@@ -0,0 +1,83 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XShapeArranger_idl__
+#define __com_sun_star_drawing_XShapeArranger_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XShapes.idl>
+
+#include <com/sun/star/drawing/Arrangement.idl>
+
+#include <com/sun/star/drawing/XShape.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** Objects implementing this interface can be used to arrange
+ Shapes.
+
+ @deprecated
+ */
+published interface XShapeArranger: com::sun::star::uno::XInterface
+{
+ /** applies the specified Arrangement to
+ the specified collection of Shapes.
+ */
+ void arrange( [in] com::sun::star::drawing::XShapes xShapes,
+ [in] com::sun::star::drawing::Arrangement eType );
+
+ /** moves the specified Shapes by a specified number
+ of objects more to the front.
+ */
+ void bringToFront( [in] com::sun::star::drawing::XShapes xShapes,
+ [in] short nSteps );
+
+ /** moves the specified Shapes
+ <var>nSteps</var> objects more to the back.
+ */
+ void sendToBack( [in] com::sun::star::drawing::XShapes xShapes,
+ [in] short nSteps );
+
+ /** moves the specified collection of Shapes
+ behind the specified single Shape.
+ */
+ void setBehindShape( [in] com::sun::star::drawing::XShapes xShapes,
+ [in] com::sun::star::drawing::XShape xShape );
+
+ /** moves the specified collection of Shapes in
+ front of the specified single Shape.
+ */
+ void setInFrontOf( [in] com::sun::star::drawing::XShapes xShapes,
+ [in] com::sun::star::drawing::XShape xShape );
+
+ /** reverses the order of the specified collection of
+ Shapes.
+ */
+ void reverseOrder( [in] com::sun::star::drawing::XShapes xShapes );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XShapeBinder.idl b/offapi/com/sun/star/drawing/XShapeBinder.idl
new file mode 100644
index 000000000..6eae56986
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapeBinder.idl
@@ -0,0 +1,71 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XShapeBinder_idl__
+#define __com_sun_star_drawing_XShapeBinder_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XShape.idl>
+
+#include <com/sun/star/drawing/XShapes.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** connects or breaks the lines of Shapes
+ */
+published interface XShapeBinder: com::sun::star::uno::XInterface
+{
+
+ /** binds Shapes together.
+
+ @param xShapes
+ a container with Shapes that will be bind together.
+ All Shapes will be converted to a PolyPolygonBezierShape
+ and the lines will be connected. The Shapes in xShape will be
+ removed from the GenericDrawPage and disposed.
+
+ @returns
+ a newly created PolyPolygonBezierShape which contains all
+ line segment from the supplied Shapes. It is also added
+ to the GenericDrawPage of the source Shapes.
+ */
+ com::sun::star::drawing::XShape bind( [in] com::sun::star::drawing::XShapes xShapes );
+
+
+ /** breaks a Shape into its line segments
+
+ @param xShape
+ the given Shape will be converted to a PolyPolygonBezierShape
+ and the line segments of this Shape will be used to create
+ new PolyPolygonBezierShape shapes. The original Shape
+ will be removed from its GenericDrawPage and disposed.
+ */
+ void unbind( [in] com::sun::star::drawing::XShape xShape );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XShapeCombiner.idl b/offapi/com/sun/star/drawing/XShapeCombiner.idl
new file mode 100644
index 000000000..26cb7fe1c
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapeCombiner.idl
@@ -0,0 +1,74 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XShapeCombiner_idl__
+#define __com_sun_star_drawing_XShapeCombiner_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XShape.idl>
+
+#include <com/sun/star/drawing/XShapes.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** specifies the combine/split functionality.
+ */
+published interface XShapeCombiner: com::sun::star::uno::XInterface
+{
+
+ /** combines Shapes
+
+ @param xShapes
+ the Shapes inside this container are converted
+ to PolyPolygonBezierShapes and are than combined
+ into one PolyPolygonBezierShape.
+ The Shapes in xShape will be removed from the
+ GenericDrawPage and disposed.
+
+ @returns
+ a newly created PolyPolygonBezierShape which contains all
+ converted PolyPolygonBezierShape combined. It is also added
+ to the GenericDrawPage of the source Shapes.
+
+ */
+ com::sun::star::drawing::XShape combine( [in] com::sun::star::drawing::XShapes xShapes );
+
+
+ /** splits Shapes.
+
+ @param Group
+ the Shape is converted to a
+ PolyPolygonBezierShapes and then split into
+ several PolyPolygonBezierShapes
+ The Shapes in xShape will be removed from the
+ GenericDrawPage and disposed.
+ */
+ void split( [in] com::sun::star::drawing::XShape Group );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XShapeDescriptor.idl b/offapi/com/sun/star/drawing/XShapeDescriptor.idl
new file mode 100644
index 000000000..2ac5b0a40
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapeDescriptor.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XShapeDescriptor_idl__
+#define __com_sun_star_drawing_XShapeDescriptor_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** offers some settings which are allowed even for objects which are not yet inserted into a draw page.
+
+ @deprecated
+ replaced by com::sun::star::lang::XServiceName
+ */
+published interface XShapeDescriptor: com::sun::star::uno::XInterface
+{
+ /**
+ @returns
+ the programmatic name of the shape type.
+ */
+ string getShapeType();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XShapeGroup.idl b/offapi/com/sun/star/drawing/XShapeGroup.idl
new file mode 100644
index 000000000..75ba24dec
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapeGroup.idl
@@ -0,0 +1,67 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XShapeGroup_idl__
+#define __com_sun_star_drawing_XShapeGroup_idl__
+
+#include <com/sun/star/drawing/XShape.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** is implemented by Shapes that contain other
+ Shapes.
+
+ @deprecated
+ */
+published interface XShapeGroup: com::sun::star::drawing::XShape
+{
+ /** enters the group which enables the editing function
+ for the parts of a grouped Shape. Then the parts can
+ be edited instead of the group as a whole.
+
+
+
+ <p>This affects only the user interface. The behavior is not
+ specified if this instance is not visible on any view. In this case
+ it may or may not work.</p>
+ */
+ void enterGroup();
+
+ /** leaves the group, which disables the editing function
+ for the parts of a grouped Shape. Then only the
+ group as a whole can be edited.
+
+
+
+ <p>This affects only the user interface. The behavior is not
+ specified if this instance is not visible on any view. In this case
+ it may or may not work.</p>
+ */
+ void leaveGroup();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XShapeGrouper.idl b/offapi/com/sun/star/drawing/XShapeGrouper.idl
new file mode 100644
index 000000000..1fe63b1c5
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapeGrouper.idl
@@ -0,0 +1,75 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XShapeGrouper_idl__
+#define __com_sun_star_drawing_XShapeGrouper_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XShapeGroup.idl>
+
+#include <com/sun/star/drawing/XShapes.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** specifies the group/ungroup functionality.
+ */
+published interface XShapeGrouper: com::sun::star::uno::XInterface
+{
+
+ /** groups the Shapes inside a collection.
+
+ <p>Grouping of objects in text documents works only if none
+ of the objects has an anchor of type
+ com::sun::star::text::TextContentAnchorType::AS_CHARACTER .
+ </p>
+
+ @param xShapes
+ the Shapes that will be grouped. They
+ must all be inserted into the same GenericDrawPage.
+
+ @returns
+ a newly created GroupShape that contains all
+ Shapes from xShapes and is also added to the
+ GenericDrawPage of the Shapes
+ in xShapes.
+ */
+ com::sun::star::drawing::XShapeGroup group( [in] com::sun::star::drawing::XShapes xShapes );
+
+
+ /** ungroups a given GroupShape.
+
+ @param aGroup
+ moves all Shapes from this GroupShape
+ to the parent XShapes of the GroupShape.
+ The GroupShape is then removed from the
+ GenericDrawPage and disposed.
+ */
+ void ungroup( [in] com::sun::star::drawing::XShapeGroup aGroup );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XShapeMirror.idl b/offapi/com/sun/star/drawing/XShapeMirror.idl
new file mode 100644
index 000000000..efe8a6058
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapeMirror.idl
@@ -0,0 +1,63 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XShapeMirror_idl__
+#define __com_sun_star_drawing_XShapeMirror_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XShapes.idl>
+
+#include <com/sun/star/drawing/MirrorAxis.idl>
+
+#include <com/sun/star/drawing/XShape.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** Objects implementing this interface can be used to mirror
+ Shapes.
+
+ @deprecated
+ */
+published interface XShapeMirror: com::sun::star::uno::XInterface
+{
+
+ /** mirrors the given Shapes
+ at the given axis.
+ */
+ void mirror( [inout] com::sun::star::drawing::XShapes aShapes,
+ [in] com::sun::star::drawing::MirrorAxis eAxis );
+
+
+ /** mirrors the given Shapes at
+ the given axis.
+ */
+ void mirrorAtAxis( [inout] com::sun::star::drawing::XShapes aShapes,
+ [in] com::sun::star::drawing::XShape aLine );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XShapes.idl b/offapi/com/sun/star/drawing/XShapes.idl
new file mode 100644
index 000000000..54bb1d9c8
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapes.idl
@@ -0,0 +1,64 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XShapes_idl__
+#define __com_sun_star_drawing_XShapes_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+
+#include <com/sun/star/drawing/XShape.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+
+/** makes it possible to access, add, and remove the
+ Shapes in a collection.
+
+ @see DrawPage
+ @see MasterPage
+ @see DrawingDocumentDrawView
+ */
+published interface XShapes: com::sun::star::container::XIndexAccess
+{
+
+ /** inserts a Shape into this collection.
+
+ @param xShape
+ a Shape that will be inserted.
+ */
+ void add( [in] com::sun::star::drawing::XShape xShape );
+
+
+ /** removes a Shape from this collection.
+
+ @param xShape
+ the Shape will be removed from the
+ collection and disposed.
+ */
+ void remove( [in] com::sun::star::drawing::XShape xShape );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XShapes2.idl b/offapi/com/sun/star/drawing/XShapes2.idl
new file mode 100644
index 000000000..52909cec4
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapes2.idl
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_drawing_XShapes2_idl__
+#define __com_sun_star_drawing_XShapes2_idl__
+
+#include <com/sun/star/drawing/XShapes.idl>
+
+module com { module sun { module star { module drawing {
+
+/**
+ * Allows insertion of shapes at different positions.
+ *
+ * @since LibreOffice 4.2
+ */
+interface XShapes2
+{
+ /**
+ * Insert a new shape to the top of the stack.
+ *
+ * @param xShape shape to be inserted.
+ *
+ * @since LibreOffice 4.2
+ */
+ void addTop( [in] com::sun::star::drawing::XShape xShape );
+
+ /**
+ * Insert a new shape to the bottom of the stack.
+ *
+ * @param xShape shape to be inserted.
+ *
+ * @since LibreOffice 4.2
+ */
+ void addBottom( [in] com::sun::star::drawing::XShape xShape );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XShapes3.idl b/offapi/com/sun/star/drawing/XShapes3.idl
new file mode 100644
index 000000000..12c06bb75
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapes3.idl
@@ -0,0 +1,44 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_drawing_XShapes3_idl__
+#define __com_sun_star_drawing_XShapes3_idl__
+
+#include <com/sun/star/drawing/XShapes.idl>
+
+module com { module sun { module star { module drawing {
+
+/**
+ * Yet another XShapes interface, enables sorting shapes with
+ * some extra attention paid to shapes with textboxes and overall
+ * performance
+ *
+ * @since LibreOffice 6.4
+ */
+interface XShapes3
+{
+ /**
+ * Sort shapes according to given sort order, for perf reason
+ * just rearrange and don't broadcast
+ *
+ * @param sortOrder
+ * desired order of the shapes
+ *
+ * @since LibreOffice 6.4
+ */
+
+ void sort( [in] sequence< long> sortOrder )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XSlidePreviewCache.idl b/offapi/com/sun/star/drawing/XSlidePreviewCache.idl
new file mode 100644
index 000000000..f2692a987
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XSlidePreviewCache.idl
@@ -0,0 +1,108 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_XSlidePreviewCache_idl__
+#define __com_sun_star_drawing_XSlidePreviewCache_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/geometry/IntegerSize2D.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/rendering/XBitmap.idl>
+#include <com/sun/star/rendering/XCanvas.idl>
+#include <com/sun/star/drawing/XSlidePreviewCacheListener.idl>
+
+module com { module sun { module star { module drawing {
+
+/** A cache of preview bitmaps for the slides of one Impress or Draw
+ document in one size. There may be more than one cache for one
+ document. These are internally connected and for missing previews one
+ cache may take it from another cache and scale it to the desired size.
+ When a preview is not present then it is created asynchronously. On
+ creation all registered listeners are notified.
+
+ Slides are referenced via their index in an XIndexAccess container in
+ order to allow multiple references to a single slide (custom
+ presentations).
+*/
+interface XSlidePreviewCache
+{
+ /** Set the set of slides for which the cache will provide the
+ previews. All slides in the given XIndexAccess are required to come
+ from the given model.
+ @param xSlides
+ The set of slides for which the called cache will provide the
+ previews. This container defines the indices that are used to
+ look up slides.
+ @param xDocument
+ The model that contains the slides reference by the xSlides argument.
+ */
+ void setDocumentSlides (
+ [in] ::com::sun::star::container::XIndexAccess xSlides,
+ [in] ::com::sun::star::uno::XInterface xDocument);
+
+ /** Define which slides are currently visible on the screen and which
+ are not. This information is used for give preview creation for
+ visible slides a higher priority than for those slides that are not
+ visible.
+ */
+ void setVisibleRange ([in] long nFirstVisibleSlideIndex, [in] long nLastVisibleSlideIndex);
+
+ /** Define the size of the previews that are managed by the called
+ cache.
+ */
+ void setPreviewSize ([in] ::com::sun::star::geometry::IntegerSize2D aSize);
+
+ /** Return a preview for the given slide index.
+ The returned bitmap may be the requested preview, a preview of the
+ preview, i.e. a scaled up or down version, or an empty reference
+ when the preview is not yet present.
+
+ This call may lead to the asynchronous creation of the requested
+ preview. In that case all registered listeners are notified when
+ the preview has been created.
+ */
+ ::com::sun::star::rendering::XBitmap getSlidePreview (
+ [in] long nSlideIndex,
+ [in] ::com::sun::star::rendering::XCanvas xCanvas)
+ raises(::com::sun::star::lang::IllegalArgumentException);
+
+ /** Register a listener that is called when a preview has been created
+ asynchronously.
+ */
+ void addPreviewCreationNotifyListener ([in] XSlidePreviewCacheListener xListener);
+
+ /** Remove a previously registered listener for preview creations.
+ */
+ void removePreviewCreationNotifyListener ([in] XSlidePreviewCacheListener xListener);
+
+ /** Stop the asynchronous creation of previews temporarily.
+ Call resume() to restart it.
+ */
+ void pause ();
+
+ /** Resume the asynchronous creation of slide previews.
+ */
+ void resume ();
+};
+
+}; }; }; }; // ::com::sun::star::drawing
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XSlidePreviewCacheListener.idl b/offapi/com/sun/star/drawing/XSlidePreviewCacheListener.idl
new file mode 100644
index 000000000..aaad37b34
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XSlidePreviewCacheListener.idl
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_XSlidePreviewCacheListener_idl__
+#define __com_sun_star_drawing_XSlidePreviewCacheListener_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module drawing {
+
+/** Listener for asynchronous preview creations. Called when a slide
+ preview has been created that was previously requested via a call to
+ XSlidePreviewCache::getSlidePreview(). The
+ implementor may then call getSlidePreview() a second
+ time to get the up-to-date version of the preview.
+*/
+interface XSlidePreviewCacheListener
+{
+ /** Called by a XSlidePreviewCache object when a
+ preview has been created for the slide with the given index.
+ @param nSlideIndex
+ The index of the slide for which a new preview has been created.
+ */
+ void notifyPreviewCreation ([in] long nSlideIndex);
+};
+
+}; }; }; }; // ::com::sun::star::drawing
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XSlideRenderer.idl b/offapi/com/sun/star/drawing/XSlideRenderer.idl
new file mode 100644
index 000000000..d5f051602
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XSlideRenderer.idl
@@ -0,0 +1,104 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_XSlideRenderer_idl__
+#define __com_sun_star_drawing_XSlideRenderer_idl__
+
+#include <com/sun/star/awt/XBitmap.idl>
+#include <com/sun/star/drawing/XDrawPage.idl>
+#include <com/sun/star/rendering/XBitmap.idl>
+#include <com/sun/star/rendering/XSpriteCanvas.idl>
+
+
+module com { module sun { module star { module drawing {
+
+/** Create preview bitmaps for single slides.
+*/
+interface XSlideRenderer
+{
+ /** Create a preview for the given slide that has the same aspect ratio
+ as the page and is as large as possible but not larger than the
+ specified size.
+
+ The reason for not using the given size directly as preview size and
+ thus possibly changing the aspect ratio is that
+ a) a different aspect ratio is not used often, and
+ b) leaving the adaptation of the actual preview size (according to the
+ aspect ratio of the slide) to the slide renderer is more convenient
+ to the caller than having to this himself.
+
+ @param xSlide
+ The slide for which a preview will be created.
+ @param aMaximumPreviewPixelSize
+ The maximum size of the preview measured in pixels. When the
+ aspect ratios of this size and of the given slide differ, then
+ resulting preview will either have the width or the height of
+ this size.
+ @param nSuperSampleFactor
+ When larger than the default 1 then internally a larger preview
+ is created which, before it is returned, is scaled down to the
+ requested size. The intermediate size is nSuperSampleFactor
+ times the original size. Values larger than 1 result in higher
+ memory consumption and longer runtime.
+ This value is an attempt to provide some antialiasing and so to
+ provide more readable slide previews. May become obsolete in
+ the future when true antialiasing support will be integrated.
+ */
+ com::sun::star::awt::XBitmap createPreview (
+ [in] XDrawPage xSlide,
+ [in] com::sun::star::awt::Size aMaximumPreviewPixelSize,
+ [in] short nSuperSampleFactor);
+
+ /** Exactly the same functionality as createPreview(),
+ only a different return type:
+ com::sun::star::rendering::XBitmap instead
+ of com::sun::star::awt::XBitmap.
+ @see createPreview
+ @param xSlide
+ See description in #createPreview.
+ @param aMaximumPreviewPixelSize
+ See description in #createPreview.
+ @param nSuperSampleFactor
+ See description in #createPreview.
+ @param xCanvas
+ This canvas is used create a canvas specific bitmap.
+ */
+ com::sun::star::rendering::XBitmap createPreviewForCanvas (
+ [in] XDrawPage xSlide,
+ [in] com::sun::star::awt::Size aMaximumPreviewPixelSize,
+ [in] short nSuperSampleFactor,
+ [in] com::sun::star::rendering::XCanvas xCanvas);
+
+ /** Return a size that has the given aspect ratio and shares either the
+ width or the height with the given maximum size.
+ @param nSlideAspectRatio
+ The aspect ratio must not be 0.
+ @param aMaximumPreviewPixelSize
+ The maximum size of the returned preview size.
+ */
+ com::sun::star::awt::Size calculatePreviewSize (
+ [in] double nSlideAspectRatio,
+ [in] com::sun::star::awt::Size aMaximumPreviewPixelSize);
+};
+
+}; }; }; }; // ::com::sun::star::drawing
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XSlideSorterBase.idl b/offapi/com/sun/star/drawing/XSlideSorterBase.idl
new file mode 100644
index 000000000..a67d31012
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XSlideSorterBase.idl
@@ -0,0 +1,119 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_XSlideSorterBase_idl__
+#define __com_sun_star_drawing_XSlideSorterBase_idl__
+
+#include <com/sun/star/drawing/framework/XView.idl>
+#include <com/sun/star/drawing/XDrawView.idl>
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/frame/XController.idl>
+#include <com/sun/star/util/Color.idl>
+
+module com { module sun { module star { module drawing {
+
+/** This interface exists only because services do not directly support
+ multiple inheritance and attributes.
+ <p>It provides the interfaces and attributes that every object that
+ implements the SlideSorter service.</p>
+*/
+interface XSlideSorterBase
+{
+ /** This interface is included to mark a SlideSorter object
+ as view of the drawing framework and to provide a
+ ResourceId.
+ */
+ interface ::com::sun::star::drawing::framework::XView;
+
+ /** The XDrawView interface is included to provide access
+ to the current slide (especially write access).
+ */
+ interface ::com::sun::star::drawing::XDrawView;
+
+ /** The set of slides that are displayed by the implementing object.
+ <p>The default value is the set of all slides of the document for
+ which a slide sorter is created.</p>
+ */
+ [attribute] ::com::sun::star::container::XIndexAccess DocumentSlides;
+
+ /** Set this flag to `TRUE` in order to have the current slide
+ highlighted.
+ <p>The default value is `FALSE`.</p>
+ */
+ [attribute] boolean IsHighlightCurrentSlide;
+
+ /** Set this flag to `TRUE` in order to visualize the selection of
+ slides (typically a bold frame around the selected slides).
+ <p>The default value is `TRUE`.</p>
+ */
+ [attribute] boolean IsShowSelection;
+
+ /** Set this flag to `TRUE` to visualize to where the focus is by
+ showing a dotted rectangle around the focused slide.
+ <p>The default value is `TRUE`.</p>
+ */
+ [attribute] boolean IsShowFocus;
+
+ /** When this flag has the value `TRUE` then every time the current
+ slide is changed the visual area is shifted so that the new current
+ slide is display in the center of the slide sorter window.
+ <p>It is not always possible to move the current slide into the
+ exact center of the window, for example when slides are located near
+ the start or end of a document.</p>
+ <p>The default value is `FALSE`.
+ */
+ [attribute] boolean IsCenterSelection;
+
+ /** This flag controls whether updates of previews are created during
+ full screen presentations (`FALSE`) or not (`TRUE`). The
+ suspension of preview creations is an optimization for not slowing
+ down a running presentation.
+ <p>The default value is `TRUE`.</p>
+ */
+ [attribute] boolean IsSuspendPreviewUpdatesDuringFullScreenPresentation;
+
+ /** The orientation of a slide sorter can be either vertical (`TRUE`)
+ or horizontal (`FALSE`).
+ */
+ [attribute] boolean IsOrientationVertical;
+
+ /** This flag is a hint to make scrolling look smooth.
+ */
+ [attribute] boolean IsSmoothScrolling;
+
+ [attribute] ::com::sun::star::util::Color BackgroundColor;
+ [attribute] ::com::sun::star::util::Color TextColor;
+ [attribute] ::com::sun::star::util::Color SelectionColor;
+ [attribute] ::com::sun::star::util::Color HighlightColor;
+
+ /** This flag controls whether the model can be modified by using
+ keyboard or mouse.
+ <p>The default value is `TRUE`.</p>
+ */
+ [attribute] boolean IsUIReadOnly;
+};
+
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/XUniversalShapeDescriptor.idl b/offapi/com/sun/star/drawing/XUniversalShapeDescriptor.idl
new file mode 100644
index 000000000..32883dc1e
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XUniversalShapeDescriptor.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_drawing_XUniversalShapeDescriptor_idl__
+#define __com_sun_star_drawing_XUniversalShapeDescriptor_idl__
+
+#include <com/sun/star/drawing/XShapeDescriptor.idl>
+
+
+
+ module com { module sun { module star { module drawing {
+
+/** @deprecated
+ */
+published interface XUniversalShapeDescriptor: com::sun::star::drawing::XShapeDescriptor
+{
+ void setShapeType( [in] string aShapeTypeName );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/AnchorBindingMode.idl b/offapi/com/sun/star/drawing/framework/AnchorBindingMode.idl
new file mode 100644
index 000000000..38fcb79ed
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/AnchorBindingMode.idl
@@ -0,0 +1,44 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_AnchorBindingMode_idl__
+#define __com_sun_star_drawing_framework_AnchorBindingMode_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/XCloneable.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** This enum specifies how a resource is bound to an anchor. This can be
+ direct or indirect.
+ <p>Example: Let r:a1:a2 denote a resource r which is bound to
+ anchor a1:a2 which itself is a resource a1 bound to anchor a2.
+ Then r:a1:a2 is bound directly to a1:a2 and indirectly to a2.</p>
+*/
+enum AnchorBindingMode
+{
+ DIRECT,
+ INDIRECT
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/BasicPaneFactory.idl b/offapi/com/sun/star/drawing/framework/BasicPaneFactory.idl
new file mode 100644
index 000000000..96346e96c
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/BasicPaneFactory.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_BasicPaneFactory_idl__
+#define __com_sun_star_drawing_framework_BasicPaneFactory_idl__
+
+#include <com/sun/star/frame/XController.idl>
+#include <com/sun/star/drawing/framework/XResourceFactory.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** The BasicPaneFactory is a resource factory that provides the
+ panes used by the Draw and Impress applications.
+ <p>This factory provides the center, left, and right pane. For the left
+ pane there are two URLS, <code>private:resource/floater/LeftImpressPane</code>
+ and <code>private:resource/floater/LeftDrawPane</code>, one for Impress,
+ the other for Draw. The center pane and the right pane have the URLs
+ <code>private:resource/floater/CenterPane</code> and
+ <code>private:resource/floater/RightPane</code> respectively.</p>
+ <p>This factory is typically created indirectly by registering it in the
+ configuration and have the XModuleController create it on
+ demand.</p>
+*/
+service BasicPaneFactory : XResourceFactory
+{
+ /** Give the controller to new instances so that they have access to the
+ drawing framework controllers.
+ */
+ create ([in] ::com::sun::star::frame::XController xController);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/BasicToolBarFactory.idl b/offapi/com/sun/star/drawing/framework/BasicToolBarFactory.idl
new file mode 100644
index 000000000..55e1d5004
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/BasicToolBarFactory.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_BasicToolBarFactory_idl__
+#define __com_sun_star_drawing_framework_BasicToolBarFactory_idl__
+
+#include <com/sun/star/frame/XController.idl>
+#include <com/sun/star/drawing/framework/XResourceFactory.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** The BasicToolBarFactory is a resource factory that provides
+ (some of) the tool bars used by the Draw and Impress applications.
+
+ <p>The factory recognizes the following URLs:<ul>
+ <li><code>private:resource/toolbar/ViewTabBar</code> for the tab bar
+ that allows the switching between views.</li>
+ </ul>
+ This short list marks the implementation of this service clearly as
+ being in transition.
+ </p>
+
+ <p>This factory is typically created indirectly by registering it in the
+ configuration and have the XModuleController create it on
+ demand.</p>
+*/
+service BasicToolBarFactory : XResourceFactory
+{
+ /** Give the controller to new instances so that they have access to the
+ drawing framework controllers.
+ */
+ create ([in] ::com::sun::star::frame::XController xController);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/BasicViewFactory.idl b/offapi/com/sun/star/drawing/framework/BasicViewFactory.idl
new file mode 100644
index 000000000..84f59a810
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/BasicViewFactory.idl
@@ -0,0 +1,57 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_BasicViewFactory_idl__
+#define __com_sun_star_drawing_framework_BasicViewFactory_idl__
+
+#include <com/sun/star/frame/XController.idl>
+#include <com/sun/star/drawing/framework/XResourceFactory.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** The BasicViewFactory is a view factory that provides the
+ panes used by the Draw and Impress applications.
+
+ <p>The factory recognizes the following URLs:<ul>
+ <li><code>private:resource/view/ImpressView</code> for the regular edit
+ view of the Impress application.</li>
+ <li><code>private:resource/view/GraphicView</code> for the regular edit
+ view of the Draw application.</li>
+ <li><code>private:resource/view/OutlineView</code> for the outline view.</li>
+ <li><code>private:resource/view/NotesView</code> for the notes view.</li>
+ <li><code>private:resource/view/HandoutView</code> for the handout view.</li>
+ <li><code>private:resource/view/SlideSorter</code> for the slide sorter
+ regardless of which pane it is used in.</li>
+ <li><code>private:resource/view/PresentationView</code> for the slide show.</li>
+ <li><code>private:resource/view/TaskPane</code> for the task pane.</li>
+ </ul></p>
+*/
+service BasicViewFactory : XResourceFactory
+{
+ /** Give the controller to new instances so that they have access to the
+ drawing framework controllers.
+ */
+ create ([in] ::com::sun::star::frame::XController xController);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/BorderType.idl b/offapi/com/sun/star/drawing/framework/BorderType.idl
new file mode 100644
index 000000000..521c0cddd
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/BorderType.idl
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_BorderType_idl__
+#define __com_sun_star_drawing_framework_BorderType_idl__
+
+
+module com { module sun { module star { module drawing { module framework {
+
+/** See XPaneBorderPainter and its addBorder() and removeBorder() methods
+ for an explanation of the border type and its values.
+*/
+enum BorderType
+{
+ INNER_BORDER,
+ OUTER_BORDER,
+ TOTAL_BORDER
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/Configuration.idl b/offapi/com/sun/star/drawing/framework/Configuration.idl
new file mode 100644
index 000000000..572bce00a
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/Configuration.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_Configuration_idl__
+#define __com_sun_star_drawing_framework_Configuration_idl__
+
+#include <com/sun/star/drawing/framework/XConfiguration.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** This service provides the means for constructing new configurations.
+
+ <p>Most likely use is the XConfigurationController::restoreConfiguration()
+ method.</p>
+
+ @see XConfiguration
+ for a description of the configuration.
+*/
+service Configuration
+ : XConfiguration
+{
+ /** Create an empty configuration.
+ <p>This should not be necessary very often. Changes to an
+ existing configuration are more likely.</p>
+ */
+ create();
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/ConfigurationChangeEvent.idl b/offapi/com/sun/star/drawing/framework/ConfigurationChangeEvent.idl
new file mode 100644
index 000000000..db5008de1
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/ConfigurationChangeEvent.idl
@@ -0,0 +1,78 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_ConfigurationChangeEvent_idl__
+#define __com_sun_star_drawing_framework_ConfigurationChangeEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+module com { module sun { module star { module uno { interface XInterface; }; }; }; };
+
+module com { module sun { module star { module drawing { module framework {
+
+interface XConfiguration;
+interface XResourceId;
+
+/** Objects of this class are used for notifying changes of the
+ configuration.
+
+ <p>They are broadcasted by the configuration controller
+ which maintains the configuration. The set of types of configuration
+ changes is not fixed and is not maintained or documented in one
+ place.</p>
+
+ <p>The set of used members and the exact meaning of their values is not the
+ same for all types. Therefore, the descriptions of the members are just
+ general guidelines. See XConfigurationController for a
+ list of event types used by the basic drawing framework.</p>
+*/
+struct ConfigurationChangeEvent
+ : ::com::sun::star::lang::EventObject
+{
+ /** The type of configuration change is a free-form string. This is the
+ only member that is always set. The values of the other members
+ depend on the configuration change type and may or may not be set.
+ */
+ string Type;
+
+ /** The current configuration, depending on the event type, either
+ before or after the change. May be an empty reference.
+ */
+ XConfiguration Configuration;
+
+ /** The resource id that is part of the configuration change.
+ */
+ XResourceId ResourceId;
+
+ /** The resource object that corresponds to the ResourceId. May
+ be an empty reference.
+ */
+ com::sun::star::uno::XInterface ResourceObject;
+
+ /** Each listener is called with exactly the #UserData
+ that was given when the listener was registered.
+ */
+ any UserData;
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/ConfigurationController.idl b/offapi/com/sun/star/drawing/framework/ConfigurationController.idl
new file mode 100644
index 000000000..5d676ada0
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/ConfigurationController.idl
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_ConfigurationController_idl__
+#define __com_sun_star_drawing_framework_ConfigurationController_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/drawing/framework/XConfigurationController.idl>
+#include <com/sun/star/frame/XController.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** See XConfigurationController for a description of the
+ configuration controller.
+
+ <p>This service is used at the moment by the
+ XControllerManager to create a configuration controller.
+ This allows developers to replace the default implementation of the
+ configuration controller with their own. This may not be a useful
+ feature. Furthermore the sub controllers may need a tighter coupling
+ than the interfaces allow. These are reasons for removing this service
+ in the future and let the controller manager create the sub controllers
+ directly.</p>
+*/
+service ConfigurationController
+ : XConfigurationController
+{
+ create ([in] ::com::sun::star::frame::XController xController);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/ModuleController.idl b/offapi/com/sun/star/drawing/framework/ModuleController.idl
new file mode 100644
index 000000000..8236a4ab1
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/ModuleController.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_ModuleController_idl__
+#define __com_sun_star_drawing_framework_ModuleController_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/drawing/framework/XModuleController.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** See XModuleController for a description of the module
+ controller.
+
+ <p>See ConfigurationController for a comment why this
+ service may be removed in the future.</p>
+
+ <p>The ModuleController object for an application can be
+ obtained via the XControllerManager interface.
+*/
+service ModuleController : XModuleController
+{
+ /** Create a new instance of a ModuleController as sub
+ controller of the given XController object.
+ */
+ create ([in] ::com::sun::star::frame::XController xController);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/ResourceActivationMode.idl b/offapi/com/sun/star/drawing/framework/ResourceActivationMode.idl
new file mode 100644
index 000000000..2239ba7f3
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/ResourceActivationMode.idl
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_ResourceActivationMode_idl__
+#define __com_sun_star_drawing_framework_ResourceActivationMode_idl__
+
+module com { module sun { module star { module drawing { module framework {
+
+/** The ResourceActivationMode specifies, for example for the
+ com::sun::star::drawing::framework::XConfigurationController::requestResourceActivation(),
+ whether a requested resource is to replace an existing resource of the
+ same class or is to be activated additionally.
+*/
+enum ResourceActivationMode
+{
+ /** A resource is requested in addition to already existing ones. This
+ is used for example for panes.
+ */
+ ADD,
+
+ /** A resource is requested to replace an already existing one of the
+ same class. This is used for example for views.
+ */
+ REPLACE
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/ResourceId.idl b/offapi/com/sun/star/drawing/framework/ResourceId.idl
new file mode 100644
index 000000000..8a70d4515
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/ResourceId.idl
@@ -0,0 +1,62 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_ResourceId_idl__
+#define __com_sun_star_drawing_framework_ResourceId_idl__
+
+#include <com/sun/star/drawing/framework/XResourceId.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** The ResourceId service provides several constructors for
+ resource ids.
+ <p>They mainly differ in how the anchor is specified.</p>
+*/
+service ResourceId
+ : XResourceId
+{
+ /** Create an empty resource id. It does not specify a specific
+ resource but describes the absence of one.
+ */
+ createEmpty ();
+
+ /** Create a resource id that has no anchor.
+ <p>This constructor can be used to create resource ids for panes.</p>
+ */
+ create ([in] string sResourceURL);
+
+ /** Create a resource id for an anchor that is given as
+ XResourceId object. This is the most general of the
+ constructor variants.
+ */
+ createWithAnchor ([in] string sResourceURL, [in] XResourceId xAnchor);
+
+ /** Create a resource id for a resource that is bound to an anchor that
+ can be specified by a single URL.
+ <p>This constructor can be used to create resources ids for views
+ where the anchor is a pane.</p>
+ */
+ createWithAnchorURL ([in] string sResourceURL, [in] string sAnchorURL);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/TabBarButton.idl b/offapi/com/sun/star/drawing/framework/TabBarButton.idl
new file mode 100644
index 000000000..c9565ca1f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/TabBarButton.idl
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_TabBarButton_idl__
+#define __com_sun_star_drawing_framework_TabBarButton_idl__
+
+module com { module sun { module star { module drawing { module framework {
+
+interface XResourceId;
+
+/** Descriptor of a tab bar button. Tab bar buttons are typically used to
+ offer the user the choice between different views to be displayed in
+ one pane.
+ <p>For identification only the #ResourceId is used, so for
+ some methods of the XTabBar interface only the
+ #ResourceId member is evaluated.</p>
+*/
+struct TabBarButton
+{
+ /** This label is displayed on the UI as button text.
+ <p>The label is expected to be localized.</p>
+ */
+ string ButtonLabel;
+
+ /** The localized help text that may be displayed in a tool tip.
+ */
+ string HelpText;
+
+ /** XResourceId object of the resource that is requested to be
+ displayed when the tab bar button is activated.
+ <p>For some methods of the XTabBar interface only this
+ member is evaluated. That is because only this member is used to
+ identify a tab bar button.</p>
+ */
+ XResourceId ResourceId;
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XConfiguration.idl b/offapi/com/sun/star/drawing/framework/XConfiguration.idl
new file mode 100644
index 000000000..a432359c1
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XConfiguration.idl
@@ -0,0 +1,126 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_XConfiguration_idl__
+#define __com_sun_star_drawing_framework_XConfiguration_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/XCloneable.idl>
+#include <com/sun/star/drawing/framework/AnchorBindingMode.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+interface XResourceId;
+
+/** A configuration describes the resources of an application like panes,
+ views, and tool bars and their relationships that are currently active
+ or are requested to be activated. Resources are specified by ResourceId
+ structures rather than references so that not only the current
+ configuration but also a requested configuration can be represented.
+
+ <p>Direct manipulation of a configuration object is not advised with the
+ exception of the ConfigurationController and objects that
+ implement the XConfigurationChangeRequest interface.</p>
+
+ @see XConfigurationController
+*/
+interface XConfiguration
+ : ::com::sun::star::util::XCloneable
+{
+ /** Returns the list of resources that are bound directly and/or
+ indirectly to the given anchor. A URL filter can reduce the set of
+ returned resource ids.
+ @param xAnchorId
+ This anchor typically is either a pane or an empty
+ XResourceId object. An
+ empty reference is treated like an XResourceId object.
+ @param sTargetURLPrefix
+ When a non-empty string is given then resource ids are returned
+ only when their resource URL matches this prefix, i.e. when it
+ begins with this prefix or is equal to it. Characters with
+ special meaning to URLs are not interpreted. In the typical
+ usage the prefix specifies the type of a resource. A typical
+ value is "private:resource/floater/", which is the prefix for
+ pane URLs. In a recursive search, only resource ids at the top
+ level are matched against this prefix.
+ <p>Use an empty string to prevent filtering out resource ids.</p>
+ @param eSearchMode
+ This flag defines whether to return only resources that are
+ directly bound to the given anchor or a recursive search is to
+ be made. Note that for the recursive search and an empty anchor
+ all resource ids are returned that belong to the configuration.
+ @return
+ The set of returned resource ids may be empty when there are no
+ resource ids that match all conditions. The resources in the
+ sequence are ordered with respect to the
+ XResourceId::compareTo() method.
+ */
+ sequence<XResourceId> getResources (
+ [in] XResourceId xAnchorId,
+ [in] string sTargetURLPrefix,
+ [in] AnchorBindingMode eSearchMode);
+
+ /** <p>Returns whether the specified resource is part of the
+ configuration.</p>
+ This is independent of whether the resource does really exist and is
+ active, i.e. has a visible representation in the GUI.
+ @param xResourceId
+ The id of a resource. May be empty (empty reference or empty
+ XResourceId object) in which case `FALSE` is
+ returned.
+ @return
+ Returns `TRUE` when the resource is part of the configuration
+ and `FALSE` when it is not.
+ */
+ boolean hasResource ([in] XResourceId xResourceId);
+
+ /** Add a resource to the configuration.
+ <p>This method should be used only by objects that implement the
+ XConfigurationRequest interface or by the configuration
+ controller.</p>
+ @param xResourceId
+ The resource to add to the configuration. When the specified
+ resource is already part of the configuration then this call is
+ silently ignored.
+ @throws IllegalArgumentException
+ When an empty resource id is given then an
+ IllegalArgumentException is thrown.
+ */
+ void addResource ([in] XResourceId xResourceId);
+
+ /** Remove a resource from the configuration.
+ <p>This method should be used only by objects that implement the
+ XConfigurationRequest interface or by the configuration
+ controller.</p>
+ @param xResourceId
+ The resource to remove from the configuration. When the
+ specified resource is not part of the configuration then this
+ call is silently ignored.
+ @throws IllegalArgumentException
+ When an empty resource id is given then an
+ IllegalArgumentException is thrown.
+ */
+ void removeResource ([in] XResourceId xResourceId);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XConfigurationChangeListener.idl b/offapi/com/sun/star/drawing/framework/XConfigurationChangeListener.idl
new file mode 100644
index 000000000..9fb5ec4ed
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XConfigurationChangeListener.idl
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_XConfigurationChangeListener_idl__
+#define __com_sun_star_drawing_framework_XConfigurationChangeListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/drawing/framework/ConfigurationChangeEvent.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** A listener for configuration changes is called when it has been
+ registered at the configuration controller and a configuration change
+ occurs.
+*/
+interface XConfigurationChangeListener
+ : ::com::sun::star::lang::XEventListener
+{
+ /** The exact time of when a listener is called (before the change takes
+ place, during the change, or when the change has been made) depends
+ on the change event. The order in which listeners are called is the
+ order in which they are registered (First registered, first called.)
+ */
+ void notifyConfigurationChange ([in] ConfigurationChangeEvent aEvent);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XConfigurationChangeRequest.idl b/offapi/com/sun/star/drawing/framework/XConfigurationChangeRequest.idl
new file mode 100644
index 000000000..3f9ec9b42
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XConfigurationChangeRequest.idl
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_XConfigurationChangeRequest_idl__
+#define __com_sun_star_drawing_framework_XConfigurationChangeRequest_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/drawing/framework/ConfigurationChangeEvent.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+interface XConfiguration;
+
+/** A single explicit request for a configuration change.
+
+ <p>The requested change is committed to a configuration only when the
+ execute() method is called. Configuration change
+ requests are executed asynchronously. This is done to avoid reentrance
+ problems with objects that are registered as
+ XConfigurationChangeListener and at the same time make
+ configuration change requests. When the requests were executed
+ synchronously then the listeners would be notified of the changes while
+ their request call has not yet returned.</p>
+
+ <p>This interface is typically used internally by the
+ XConfigurationController</p> @see XConfigurationController
+*/
+interface XConfigurationChangeRequest
+{
+ /** Commit the configuration change request represented by the called
+ object to the given configuration.
+ @param xConfiguration
+ This is the configuration to commit the requested change to.
+ */
+ void execute ([in] XConfiguration xConfiguration);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XConfigurationController.idl b/offapi/com/sun/star/drawing/framework/XConfigurationController.idl
new file mode 100644
index 000000000..eaac2123b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XConfigurationController.idl
@@ -0,0 +1,255 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_XConfigurationController_idl__
+#define __com_sun_star_drawing_framework_XConfigurationController_idl__
+
+#include <com/sun/star/drawing/framework/ConfigurationChangeEvent.idl>
+#include <com/sun/star/drawing/framework/XConfigurationControllerBroadcaster.idl>
+#include <com/sun/star/drawing/framework/XConfigurationControllerRequestQueue.idl>
+#include <com/sun/star/drawing/framework/XResourceFactoryManager.idl>
+#include <com/sun/star/drawing/framework/ResourceActivationMode.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+interface XConfigurationChangeListener;
+interface XConfigurationChangeRequest;
+interface XResourceId;
+interface XResource;
+
+/** The configuration controller is responsible for the management of the
+ set of active resources.
+
+ <p>There are two configurations of resources:<ul>
+ <li>The current configuration contains the set of currently active
+ resources.</li>
+ <li>The requested configuration describes what the current configuration
+ should be. The requested configuration is changed usually by calling
+ requestResourceActivation() and
+ requestResourceDeactivation().</li>
+ </ul></p>
+
+ <p>When the two configurations differ then the current configuration is
+ updated eventually to reflect the requested configuration. An update
+ takes place when the following three conditions are fulfilled.
+ <ol>
+ <li>when the last pending request for configuration changes has been
+ processed,</li>
+ <li>when the update() method is called.</li>
+ <li>when the configuration manager it is unlocked after formerly being
+ locked.</li>
+ </ol></p>
+
+ <p>Requests for configuration changes are handled in a two step process:
+ <ol>
+ <li>First the requested configuration is updated iteratively: Every
+ request that is being made by calling
+ requestResourceActivation() or
+ requestResourceDeactivation() results in one or more
+ function objects, that each implement the
+ XConfigurationChangeRequest interface. These are inserted
+ into a queue. The request objects in the queue are processed
+ asynchronously one at a time in the order in which they are inserted.
+ Only when one request object is processed a change to the requested
+ configuration is made. These changes are broadcasted to registered
+ XConfigurationChangeListener objects. Listeners may
+ decide to make requests that then are added to the queue. For example
+ when the view in the center pane is replaced by another view, some
+ listeners may want to turn some side panes on or off, or show other
+ views in the side panes.</p>
+ <p>This process goes on until the queue of request objects becomes
+ empty. Until this point only the requested configuration has been
+ modified. No resources have been activated or deactivated.</p></li>
+
+ <li><p>The second update step activates or deactivates resources so that
+ the current configuration (the one that comprises the actually active
+ resources) reflects the requested configuration.</p>
+ <p>The order in which resources are activated or deactivated depends on
+ the dependency between the resources. For example a view depends on the
+ pane it is displayed in. Resources that other resources depend on are
+ activated first and deactivated last. The order is undefined for
+ unrelated resources.</p>
+ <p>Note that the second update step may not be able to activate (or even to
+ deactivate) all the requested resources. Either because they are
+ temporarily or permanently unavailable. For example, during the
+ start-up of a new Impress application the side panes are displayed
+ with a visible delay because they are not provided sooner by the
+ underlying framework. Such unavailable resources are not forgotten but
+ remain in the requested configuration. Every time the configuration
+ controller updates its current configuration these resources are
+ requested once more.</li></ol></p>
+
+ <p>The configuration controller sends the following events:
+ <ul>
+ <li>ResourceActivationRequested is sent when the
+ activation of a resource has been requested and the resource is not yet
+ active in the requested configuration. The event is sent when the
+ configuration change request is executed, not when the
+ requestResourceActivation() call is made.</p>
+ <p>The ConfigurationChangeEvent::ResourceId member is set to the requested
+ resource. The ResourceObject member is not
+ set.</p></li>
+ <li>ResourceDeactivationRequested is sent when the
+ deactivation of a resource has been requested and the resource is active
+ in the requested configuration. The event is sent when the
+ configuration change request is executed that is created when for
+ example requestResourceDeactivation() is called.</p>
+ <p>The ResourceId member is set to the requested
+ resource. The ResourceObject member is not
+ set.</p></li>
+ <li>ConfigurationUpdateStart is sent before the update of
+ the current configuration starts.</p>
+ <p>The requested configuration is available in the
+ ConfigurationChangeEvent::Configuration member. The
+ ResourceId and ResourceObject members
+ are not set.</p></li>
+ <li>ConfigurationUpdateEnd is sent after the update of
+ the current configuration ends.</p>
+ <p>The requested configuration is
+ available in the ConfigurationChangeEvent::Configuration member.
+ The ResourceId and ResourceObject members are not set.</p></li>
+ <li>ResourceActivation is sent when a resource is
+ activated, i.e. when a new object of a resource is created (or taken
+ from a cache).</p>
+ <p>The ResourceId and ResourceObject
+ members are set to the XResourceId and object reference of
+ the activated resource.</p></li>
+ <li>ResourceDeactivation is sent when a resource is
+ deactivated, i.e. when an object that previously was part of the
+ configuration is removed from the configuration.</p>
+ <p>The ResourceId and ResourceObject
+ members are set to XResourceId and object reference of the
+ deactivated resource.</p></li>
+ </ul></p>
+*/
+interface XConfigurationController
+{
+ interface XConfigurationControllerRequestQueue;
+ interface XConfigurationControllerBroadcaster;
+ interface XResourceFactoryManager;
+
+ /** Request the activation of a resource.
+ <p>The request is processed asynchronously. Notifications about
+ configuration changes are sent after this call returns.</p>
+ @param xResourceId
+ The resource whose activation is requested.
+ @param eMode
+ <p>When eMode is REPLACE then, before adding the
+ resource activation to the request queue, similar resources
+ linked to the same anchor are removed. This makes it easier to
+ switch between resources whose activation is mutually exclusive.
+ For example, there can only be one view per pane, so before
+ activating a new view the old one has to be deactivated.</p>
+ <p>When eMode is ADD then the resource is requested
+ without further changes.</p>
+ */
+ void requestResourceActivation (
+ [in] XResourceId xResourceId,
+ [in] ResourceActivationMode eMode);
+
+ /** Request the deactivation of a resource.
+ <p>The request is processed asynchronously. Notifications about
+ configuration changes are sent after this call returns.</p>
+ <p>Requesting the deactivation
+ of a resource that is not active is not an error.</p>
+ @param xResourceId
+ The resource whose deactivation is requested.
+ */
+ void requestResourceDeactivation (
+ [in] XResourceId xResourceId);
+
+
+ /** Return the active resource specified by the given resource id.
+ @param xResourceId
+ A valid resource id. This should, but does not have to be, the
+ resource id of an active resource.
+ @return
+ When the given resource id specifies an active resource then
+ that resource is returned. Otherwise an empty reference is
+ returned.
+ */
+ XResource getResource (
+ [in] XResourceId xResourceId);
+
+ /** Lock the processing of configuration change requests.
+ <p>This is only necessary when more than one change request is being
+ made in a row. It prevents an update being made (with all the visible UI
+ changes) before all change requests are being made.</p>
+ <p>Recursive lock() calls are recognized: the
+ configuration controller is locked while lock() was
+ called more often than unlock().</p>
+ */
+ void lock ();
+
+ /** Unlock the processing of configuration change requests.
+ <p>When unlock() is called as many times as
+ lock() and the queue of configuration change
+ requests is not empty the configuration controller continues the
+ processing of the change requests. An update of the current
+ configuration will eventually being made.</p>
+ */
+ void unlock ();
+
+ /** Explicitly request an update of the current configuration.
+ <p>Call it when a resource is activated or deactivated
+ without the control and knowledge of the drawing framework. Calling
+ this method (from outside the drawing framework) should hardly every
+ be necessary.</p>
+ */
+ void update ();
+
+ /** Return a copy of the requested configuration.
+ <p>Modifications to the returned configuration have no effect on the
+ drawing framework.</p>
+ */
+ XConfiguration getRequestedConfiguration ();
+
+ /** Return a copy of the current configuration.
+ <p>Modifications to the returned configuration have no effect on the
+ drawing framework.</p>
+ */
+ XConfiguration getCurrentConfiguration ();
+
+ /** Replace the requested configuration with the given configuration and
+ schedule an update of the current configuration.
+ <p>Together with the getCurrentConfiguration() and
+ getRequestedConfiguration() methods this
+ allows the saving and restoring of configurations. However, the
+ given configuration can have other origins then these methods.</p>
+ <p>The given configuration is transformed into a list of change
+ requests so that the resulting requested configuration equals the
+ given configuration. This has the advantage that not only the
+ resource activations and deactivations but all configuration
+ changes are properly broadcasted.</p>
+ <p>Note that because of the configuration change notifications
+ listeners can make more configuration change requests, so that the
+ resulting requested configuration can be different from the given
+ configuration.</p>
+ @param xConfiguration
+ This typically is a configuration that was obtained with an
+ earlier getRequestedConfiguration() call.
+ */
+ void restoreConfiguration ([in] XConfiguration xConfiguration);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XConfigurationControllerBroadcaster.idl b/offapi/com/sun/star/drawing/framework/XConfigurationControllerBroadcaster.idl
new file mode 100644
index 000000000..2af2cba09
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XConfigurationControllerBroadcaster.idl
@@ -0,0 +1,81 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_XConfigurationControllerBroadcaster_idl__
+#define __com_sun_star_drawing_framework_XConfigurationControllerBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/drawing/framework/ConfigurationChangeEvent.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+interface XConfigurationChangeListener;
+
+/** Manage the set of registered event listeners and the event notification for a configuration
+ controller.
+ <p>The listeners are called in the order in which they are registered.</p>
+*/
+interface XConfigurationControllerBroadcaster
+{
+ /** Add a new listener for configuration changes.
+ <p>The listener is notified only for the specified type of
+ configuration changes. When the listener is interested in more than
+ one event type this method has to be called multiple times.
+ Alternatively it can register as universal listener that will be
+ called for all event types. However, this option is provided
+ primarily to support debugging and monitoring.</p>
+ @param xListener
+ The new listener.
+ @param sEventType
+ The event type that the listener is interested in. The set of
+ event types is not fixed and there can be no exhaustive
+ list. The empty string is a special value in that the listener
+ will be called for all types of event.
+ @param aUserData
+ Arbitrary data that is passed to the listener when it is called
+ for the specified event type. When one listener is registered
+ for more than one event type then different user data objects
+ may be given as well. Supplying unique integer values allows
+ the listener to use a switch statement to distinguish between
+ the different event types.
+ */
+ void addConfigurationChangeListener (
+ [in] XConfigurationChangeListener xListener,
+ [in] string sEventType,
+ [in] any aUserData);
+
+ /** Remove a listener for configuration changes.
+ @param xListener
+ The listener that is to be removed.
+ */
+ void removeConfigurationChangeListener (
+ [in] XConfigurationChangeListener xListener);
+
+ /** With this method other objects can send events to all the registered
+ listeners.
+ */
+ void notifyEvent (
+ [in] ConfigurationChangeEvent aEvent);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XConfigurationControllerRequestQueue.idl b/offapi/com/sun/star/drawing/framework/XConfigurationControllerRequestQueue.idl
new file mode 100644
index 000000000..2c3125c1c
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XConfigurationControllerRequestQueue.idl
@@ -0,0 +1,67 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_XConfigurationControllerRequestQueue_idl__
+#define __com_sun_star_drawing_framework_XConfigurationControllerRequestQueue_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+interface XConfigurationChangeRequest;
+
+/** The request queue of the configuration controller handles requests for
+ changes to the current configuration.
+
+ <p>This interface allows callers to add requests to the back of the
+ queue and to determine whether the queue is empty. Using this interface
+ should normally not be necessary for anyone else than the
+ XConfigurationController. It may be removed in the future.</p>
+*/
+interface XConfigurationControllerRequestQueue
+{
+ /** Return whether there are pending requests for configuration changes.
+ @return
+ Returns `TRUE` when there is at least one request object in the
+ queue that has not yet been processed. It returns `FALSE` when
+ the queue is empty.
+ */
+ boolean hasPendingRequests ();
+
+ /** Add a request for a configuration change to the request queue.
+ <p>This method should not be called from outside the drawing
+ framework. Other sub controllers of the drawing framework are typical
+ callers. They can add change requests that can not be made with the
+ requestResourceActivation() and
+ requestResourceDeactivation() methods.</p>
+ @param xRequest
+ The configuration change represented by this request object must only
+ be committed to the configuration when the
+ com::sun::star::drawing::framework::XConfigurationChangeRequest::execute()
+ method of the xRequest object is called.
+ */
+ void postChangeRequest (
+ [in] XConfigurationChangeRequest xRequest);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XControllerManager.idl b/offapi/com/sun/star/drawing/framework/XControllerManager.idl
new file mode 100644
index 000000000..4c615b66b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XControllerManager.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_XControllerManager_idl__
+#define __com_sun_star_drawing_framework_XControllerManager_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+interface XConfigurationController;
+interface XModuleController;
+
+/** The XControllerManager gives access to the controllers of the drawing
+ framework.
+ <p>The XControllerManager interface is typically
+ implemented by the same object that implements
+ com::sun::star::frame::XController.</p>
+*/
+interface XControllerManager
+{
+ /** Return the XConfigurationController object.
+ @return
+ The returned reference is never empty.
+ */
+ XConfigurationController getConfigurationController ();
+
+ /** Return the XModuleController object.
+ @return
+ The returned reference is never empty.
+ */
+ XModuleController getModuleController ();
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XModuleController.idl b/offapi/com/sun/star/drawing/framework/XModuleController.idl
new file mode 100644
index 000000000..e9f8b581d
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XModuleController.idl
@@ -0,0 +1,53 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_XModuleController_idl__
+#define __com_sun_star_drawing_framework_XModuleController_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/frame/XController.idl>
+#include <com/sun/star/drawing/framework/ResourceId.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+interface XView;
+
+/** The module controller is responsible for loading a module (ad-don,
+ plugin, whatever the name) when it is first used.
+ <p>For this there is a
+ list in the office configuration which associates resource URLs with
+ service names which in turn are associated with modules (or dlls). The
+ path to the office configuration list is
+ MultiPaneGUI/Framework/ResourceFactories in the
+ Impress.xcu file.</p>
+*/
+interface XModuleController
+{
+ /** When the specified resource is requested for the first time then
+ create a new instance of the associated factory service.
+ */
+ void requestResource ([in] string sResourceTypeURL);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XPane.idl b/offapi/com/sun/star/drawing/framework/XPane.idl
new file mode 100644
index 000000000..04b7cd137
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XPane.idl
@@ -0,0 +1,60 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_XPane_idl__
+#define __com_sun_star_drawing_framework_XPane_idl__
+
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/rendering/XCanvas.idl>
+#include <com/sun/star/drawing/framework/XResource.idl>
+#include <com/sun/star/drawing/framework/XRelocatableResource.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** A pane is an abstraction of a window and is one of the resources managed
+ by the drawing framework.
+ <p>Apart from the area that displays a view a pane may contain other
+ parts like title, menu, closer button.</p>
+ <p>The URL prefix of panes is <code>private:resource/floater</code></p>
+*/
+interface XPane
+{
+ interface XResource;
+
+ /** Return the com::sun::star::awt::XWindow of the
+ pane that is used to display a view.
+ */
+ ::com::sun::star::awt::XWindow getWindow ();
+
+ /** Return the com::sun::star::awt::XCanvas of the pane. The
+ com::sun::star::rendering::XCanvas object is expected to
+ be associated with the com::sun::star::awt::XWindow object returned by
+ getWindow().
+ @return
+ When the com::sun::star::rendering::XCanvas
+ interface is not supported then an empty reference is returned.
+ */
+ ::com::sun::star::rendering::XCanvas getCanvas ();
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XPane2.idl b/offapi/com/sun/star/drawing/framework/XPane2.idl
new file mode 100644
index 000000000..6bbaae249
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XPane2.idl
@@ -0,0 +1,68 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_XPane2_idl__
+#define __com_sun_star_drawing_framework_XPane2_idl__
+
+#include <com/sun/star/accessibility/XAccessible.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** An extension of the XPane interface that adds support for
+ a) showing and hiding the windows that internally belong to the pane and
+ b) setting the accessibility object.
+ This is typically an optional interface.
+*/
+interface XPane2
+{
+ /** Return whether all windows that are used to implement the pane are
+ visible.
+ @return `TRUE` when all windows of the pane are visible.
+ */
+ boolean isVisible ();
+
+ /** Hide or show the pane. If there is more than one window used to
+ implement the pane then it is left to the implementation if one,
+ some, or all windows are hidden or shown as long as the pane becomes
+ hidden or visible.
+ @param bIsVisible
+ When `TRUE` then show the pane. Hide it otherwise.
+ */
+ void setVisible ([in] boolean bIsVisible);
+
+ /** Set the accessibility object for the pane. When there is more than
+ one window used to implement the pane then the given accessibility
+ object is usually set at the topmost window. However, the details
+ are implementation dependent.
+ @param xAccessible
+ May be an empty reference.
+ */
+ void setAccessible ([in] ::com::sun::star::accessibility::XAccessible xAccessible);
+
+ /** Return the accessibility object that is currently associated with
+ the windows that implement the pane.
+ */
+ ::com::sun::star::accessibility::XAccessible getAccessible ();
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XPaneBorderPainter.idl b/offapi/com/sun/star/drawing/framework/XPaneBorderPainter.idl
new file mode 100644
index 000000000..b0e172ba5
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XPaneBorderPainter.idl
@@ -0,0 +1,152 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_XPaneBorderPainter_idl__
+#define __com_sun_star_drawing_framework_XPaneBorderPainter_idl__
+
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/rendering/XCanvas.idl>
+#include <com/sun/star/drawing/framework/BorderType.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** Paint the border around a rectangular region, typically a pane.
+
+ <p>Calling objects have to be able to derive inner bounding boxes of the
+ border from the outer ones and inner ones from outer ones. This
+ conversion and the painting of the border involves three rectangles.
+ The inner and outer bounding box of the border. This is a logical
+ bounding box which the paint methods may paint over. The center box is
+ the third rectangle. This is the actual border between outer and inner
+ background color or bitmap and it is used for placing the bitmaps that are used
+ paint the border. The inner sides and corners are places relative to
+ this center box, i.e. when not further offsets are given then the upper
+ left corner bitmap is painted with its lower right at the upper left of
+ the center box.</p>
+*/
+interface XPaneBorderPainter
+{
+ /** Enlarge the given rectangle by the size of the specified part of the
+ border. This method can be used to convert an inner bounding box
+ into the center box or the outer bounding box.
+ @param sPaneBorderStyleName
+ The pane style defines the sizes of the border.
+ @param aRectangle
+ This rectangle will be converted into a larger one. This should
+ be the center box or the inner bounding box of the border.
+ @param eBorderType
+ The part of the border to add to the given rectangle.
+ Use INNER_BORDER to convert an inner bounding box into the
+ center box or TOTAL_BORDER to convert it into the outer bounding
+ box. OUTER_BORDER can be used to convert the center box into
+ the outer bounding box.
+ */
+ ::com::sun::star::awt::Rectangle addBorder (
+ [in] string sPaneBorderStyleName,
+ [in] ::com::sun::star::awt::Rectangle aRectangle,
+ [in] BorderType eBorderType);
+
+ /** Shrink the given rectangle by the size of the specified part of the
+ border. This method can be used to convert an outer bounding box
+ into the center box or the inner bounding box.
+ @param sPaneBorderStyleName
+ The pane style defines the sizes of the border.
+ @param aRectangle
+ This rectangle will be converted into a smaller one that lies
+ inside it. It should be the center box or the outer bounding
+ box of the border.
+ @param eBorderType
+ The part of the border to remove from the given rectangle.
+ Use OUTER_BORDER to convert an outer bounding box into the
+ center box or TOTAL_BORDER to convert it into the inner bounding
+ box. INNER_BORDER can be used to convert the center box into
+ the inner bounding box.
+ */
+ ::com::sun::star::awt::Rectangle removeBorder (
+ [in] string sPaneBorderStyleName,
+ [in] ::com::sun::star::awt::Rectangle aRectangle,
+ [in] BorderType eBorderType);
+
+ /** Paint the border around a pane.
+ @param sPaneBorderStyleName
+ The pane style to use for painting the border.
+ @param xCanvas
+ The canvas onto which the border is painted.
+ @param aOuterBorderRectangle
+ The outer bounding box of the border. Use addBorder to convert
+ the bounding box of a pane (the inner bounding box of the
+ border) into this outer bounding box of the border.
+ @param aRepaintArea
+ The area in which the border has to be repainted. The clip
+ rectangle.
+ @param sTitle
+ The pane title. Supply an empty string for panes without
+ title. It is the responsibility of the caller to supply a title
+ only for pane border styles that support a title.
+ */
+ void paintBorder (
+ [in] string sPaneBorderStyleName,
+ [in] ::com::sun::star::rendering::XCanvas xCanvas,
+ [in] ::com::sun::star::awt::Rectangle aOuterBorderRectangle,
+ [in] ::com::sun::star::awt::Rectangle aRepaintArea,
+ [in] string sTitle);
+
+ /** Paint the border around a pane where the border includes a call out
+ that is anchored at the given point. Most arguments have the same
+ meaning as in the paintBorder().
+
+ @see paintBorder
+
+ @param sPaneBorderStyleName
+ See description in #paintBorder.
+ @param xCanvas
+ See description in #paintBorder.
+ @param aOuterBorderRectangle
+ See description in #paintBorder.
+ @param aRepaintArea
+ See description in #paintBorder.
+ @param sTitle
+ See description in #paintBorder.
+ @param aCalloutAnchor
+ The anchor point of the call out. It is usually located outside
+ the border.
+ */
+ void paintBorderWithCallout (
+ [in] string sPaneBorderStyleName,
+ [in] ::com::sun::star::rendering::XCanvas xCanvas,
+ [in] ::com::sun::star::awt::Rectangle aOuterBorderRectangle,
+ [in] ::com::sun::star::awt::Rectangle aRepaintArea,
+ [in] string sTitle,
+ [in] ::com::sun::star::awt::Point aCalloutAnchor);
+
+ /** Return the offset of a call out anchor with respect to the outer
+ border. This value is used when the call out is realized by a fixed
+ bitmap in order to determine the size and/or location of the outer
+ border for a given call out.
+ */
+ ::com::sun::star::awt::Point getCalloutOffset (
+ [in] string sPaneBorderStyleName);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XRelocatableResource.idl b/offapi/com/sun/star/drawing/framework/XRelocatableResource.idl
new file mode 100644
index 000000000..4d426fe11
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XRelocatableResource.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_XRelocatableResource_idl__
+#define __com_sun_star_drawing_framework_XRelocatableResource_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+interface XResource;
+
+/** An optional interface that is implemented by resources that are
+ relocatable to different anchors.
+*/
+interface XRelocatableResource
+{
+ /** Replace the current anchor of the called resource with the given
+ one.
+ @param xNewAnchor
+ The new anchor.
+ @return
+ Returns `TRUE` when the relocation was successful.
+ */
+ boolean relocateToAnchor ([in] XResource xNewAnchor);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XResource.idl b/offapi/com/sun/star/drawing/framework/XResource.idl
new file mode 100644
index 000000000..c2056e526
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XResource.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_XResource_idl__
+#define __com_sun_star_drawing_framework_XResource_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+interface XResourceId;
+
+/** Base interface that provides functionality shared by all resource types
+ of the drawing framework.
+*/
+interface XResource
+{
+ /** Return an XResourceId object for the called resource.
+ The returned id unambiguously identifies the resource.
+ */
+ XResourceId getResourceId ();
+
+ /** Some resources must not be leafs, i.e. have to be anchor to at least
+ one other resource. Most panes are examples for this. Views on the
+ other hand are in most cases no anchors. So the typical pane will
+ return `TRUE` and the typical view will return `FALSE`.
+
+ The return value is used to determine whether a resource has to be
+ deactivated when it has no children, either because none is
+ requested or because none can be created.
+ */
+ boolean isAnchorOnly ();
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XResourceFactory.idl b/offapi/com/sun/star/drawing/framework/XResourceFactory.idl
new file mode 100644
index 000000000..0c7c270de
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XResourceFactory.idl
@@ -0,0 +1,80 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_XResourceFactory_idl__
+#define __com_sun_star_drawing_framework_XResourceFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+interface XResource;
+interface XResourceId;
+
+/** Factory and possibly cache for creating and releasing resources.
+ <p>A resource factory is created and used by the
+ XConfigurationController object.</p>
+ <p>A factory may want to implement a cache to reuse previously released
+ resources.</p>
+*/
+interface XResourceFactory
+{
+ /** Create a resource for the given XResourceId object.
+ @param xResourceId
+ The resource URL of this id specifies the type of resource to
+ create. The anchor can be used to obtain the associated object
+ from the configuration controller. For example, when a view is
+ created, then the new object can be initialized with the pane
+ that is its anchor.
+ <p>Valid values are those for which the factory has previously been
+ registered at the XConfigurationController</p>.
+ @return
+ Returns a resource object that has been just created or was
+ taken from a cache. When the requested resource can not be
+ created then an empty reference is returned. A later call may
+ be successful. This, for example, can be the case with SFX
+ based side panes. They are not available right after the
+ creation of a new application frame.
+ @throws InvalidArgumentException
+ when the given URL is not supported by the factory.
+ */
+ XResource createResource (
+ [in] XResourceId xResourceId)
+ raises ( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::lang::WrappedTargetException
+ );
+
+ /** Call this method to tell a factory that the given resource is no
+ longer in use. The factory can decide whether to destroy the
+ resource or to keep it in a cache in order to reuse it later.
+ @param xResource
+ The given resource has to be one created by the same factory.
+ @throws InvalidArgumentException
+ when the given pane was not created by the same factory.
+ */
+ void releaseResource ([in] XResource xResource);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XResourceFactoryManager.idl b/offapi/com/sun/star/drawing/framework/XResourceFactoryManager.idl
new file mode 100644
index 000000000..1da726ba1
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XResourceFactoryManager.idl
@@ -0,0 +1,90 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_XResourceFactoryManager_idl__
+#define __com_sun_star_drawing_framework_XResourceFactoryManager_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+interface XResourceId;
+interface XResourceFactory;
+
+/** The XResourceFactoryManager is part of the configuration controller and
+ manages the set of registered resource factories.
+
+ @see XConfigurationController
+ @see XResourceFactory
+*/
+interface XResourceFactoryManager
+{
+ /** Register a new resource factory for the given URL.
+ <p>When one factory is responsible for more than one type of resource
+ then this method has to be called for each type. If this method is
+ called multiple times for the same URL then a previously registered
+ factory is removed for the URL.</p>
+ @param sResourceURL
+ The URL of the resource that the factory can create.
+ @param xResourceFactory
+ The resource factory object.
+ */
+ void addResourceFactory (
+ [in] string sResourceURL,
+ [in] XResourceFactory xResourceFactory);
+
+ /** Remove a resource factory for one type of resource. When the
+ factory has been registered for other URLs as well then it remains
+ registered for them. Use the
+ removeResourceFactoryForReference() to remove a
+ factory completely.
+ @param sResourceURL
+ The URL for which to remove the resource factory.
+ */
+ void removeResourceFactoryForURL (
+ [in] string sResourceURL);
+
+ /** Remove a resource factory for all resource types it has been registered for. Use
+ removeResourceFactoryForURL() to remove a factory
+ just for one resource type and to leave it registered for others.
+ @param xResourceFactory
+ The resource factory object to remove.
+ */
+ void removeResourceFactoryForReference (
+ [in] XResourceFactory xResourceFactory);
+
+ /** Return the resource factory that was previously registered for the
+ given resource type. This method is typically called by one of the
+ resource controllers.
+ @param sResourceURL
+ The URL of the resource type for which to return the resource
+ factory.
+ @return
+ When no resource factory was registered for the given resource
+ type then an empty reference is returned.
+ */
+ XResourceFactory getResourceFactory (
+ [in] string sResourceURL);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XResourceId.idl b/offapi/com/sun/star/drawing/framework/XResourceId.idl
new file mode 100644
index 000000000..d2635ae76
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XResourceId.idl
@@ -0,0 +1,145 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_XResourceId_idl__
+#define __com_sun_star_drawing_framework_XResourceId_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/drawing/framework/AnchorBindingMode.idl>
+#include <com/sun/star/util/URL.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** A resource id uses a set of URLs to unambiguously specify a resource of
+ the drawing framework.
+ <p>Resources of the drawing framework are panes, views, tool bars, and
+ command groups. One URL describes the type of the actual resource. A
+ sequence of URLs (typically one, sometimes two) specifies its anchor,
+ the resource it is bound to. The anchor typically is a pane (for
+ views), or it is empty (for panes).</p>
+ <p>The resource URL may be empty. In this case the anchor is empty,
+ too. Such an empty resource id does not describe a resource but rather
+ the absence of one. Instead of an empty XResourceId object
+ an empty reference can be used in many places.</p>
+ <p>The resource URL may have arguments that are passed to the factory
+ method on its creation. Arguments are only available through the
+ getFullResourceURL(). The getResourceURL() method strips them away.</p>
+*/
+interface XResourceId
+{
+ /** Return the URL of the resource. Arguments supplied on creation are
+ stripped away. Use getFullResourceURL() to access them.
+ */
+ string getResourceURL ();
+
+ /** Return a URL object of the resource URL that may contain arguments.
+ */
+ com::sun::star::util::URL getFullResourceURL ();
+
+ /** Return whether there is a non-empty anchor URL. When this method
+ returns `FALSE` then getAnchorURLs() will return an empty list.
+ */
+ boolean hasAnchor ();
+
+ /** Return a new XResourceId that represents the anchor resource.
+ */
+ XResourceId getAnchor ();
+
+ /** Return the, possibly empty, list of anchor URLs. The URLs are
+ ordered so that the one in position 0 is the direct anchor of the
+ resource, while the one in position i+1 is the direct anchor of the
+ one in position i.
+ */
+ sequence<string> getAnchorURLs ();
+
+ /** Return the type prefix of the resource URL. This includes all up to
+ and including the second slash.
+ */
+ string getResourceTypePrefix ();
+
+ /** Compare the called XResourceId object with the given
+ one.
+ <p>The two resource ids A and B are compared so that if A<B (return
+ value is -1) then either A and B are unrelated or A is a direct or
+ indirect anchor of B.</p>
+ <p>The algorithm for this comparison is quite simple. It uses a
+ double lexicographic ordering. On the lower level individual URLs
+ are compared via the lexicographic order defined on strings. On the
+ higher level two resource ids are compared via a lexicographic order
+ defined on the URLS. So when there are two resource ids A1.A2
+ (A1 being the anchor of A2) and B1.B2 then A1.A2<B1.B2 when A1<B1 or
+ A1==B1 and A2<B2. Resource ids may have different lengths: A1 <
+ B1.B2 when A1<B1 or A1==B1 (anchors first then resources linked to them.</p>
+ @param xId
+ The resource id to which the called resource id is compared.
+ @return
+ Returns 0 when the called resource id is
+ equivalent to the given resource id. Returns <code>-1</code> or
+ <code>+1</code> when the two compared resource ids differ.
+ */
+ short compareTo (
+ [in] XResourceId xId);
+
+ /** Return whether the anchor of the called resource id object
+ represents the same resource as the given object.
+ <p>Note that not only the anchor of the given object is taken into
+ account. The whole object, including the resource URL, is
+ interpreted as anchor resource.</p>
+ @param xAnchorId
+ The resource id of the anchor.
+ @param eMode
+ This mode specifies how the called resource has to be bound to
+ the given anchor in order to have this function return `TRUE`.
+ <p>If eMode is DIRECT then the anchor of the called resource id
+ has to be identical to the given anchor. If eMode is
+ INDIRECT then the given anchor has to be a part
+ of the anchor of the called resource.
+ */
+ boolean isBoundTo (
+ [in] XResourceId xAnchorId,
+ [in] AnchorBindingMode eMode);
+
+ /** Return whether the anchor of the called resource id object
+ represents the same resource as the given anchor URL. This is a
+ convenience variant of the isBoundTo() function
+ that can also be seen as an optimization for the case that the
+ anchor consists of exactly one URL.
+ @param AnchorURL
+ The resource URL of the anchor.
+ @param eMode
+ This mode specifies how the called resource has to be bound to
+ the given anchor in order to have this function return. See the
+ description of isBoundTo() for more
+ information.
+ */
+ boolean isBoundToURL (
+ [in] string AnchorURL,
+ [in] AnchorBindingMode eMode);
+
+ /** Return a copy of the called resource id. The caller becomes the
+ owner of the new object.
+ */
+ XResourceId clone ();
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XTabBar.idl b/offapi/com/sun/star/drawing/framework/XTabBar.idl
new file mode 100644
index 000000000..97778edf2
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XTabBar.idl
@@ -0,0 +1,94 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_XTabBar_idl__
+#define __com_sun_star_drawing_framework_XTabBar_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/drawing/framework/TabBarButton.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** UI control for the selection of views in a pane.
+ <p>Every tab of a tab bar has, besides its localized title and help
+ text, the URL of a view. A possible alternative would be to use a
+ command URL instead of the view URL.</p>
+ <p>In the current Impress implementation a tab bar is only used for the
+ center pane to switch between views in the center pane. Tab bars can
+ make sense for other panes as well, i.e. for showing either the slide
+ sorter or the outline view in the left pane.</p>
+ <p>Tab bar buttons are identified by their resource id. Note that
+ because the resource anchors are all the same (the tab bar), it is the
+ resource URL that really identifies a button. There can not be two
+ buttons with the same resource id.</p>
+ </p>
+ <p>A better place for this interface (in an extended version) would be
+ <code>com::sun::star::awt</code></p>
+ @see TabBarButton
+*/
+interface XTabBar
+{
+ /** Add a tab bar button to the right of another one.
+ @param aButton
+ The new tab bar button that is to be inserted. If a button with
+ the same resource id is already present than that is removed before the
+ new button is inserted.
+ @param aAnchor
+ The new button is inserted to the right of this button. When
+ its ResourceId is empty then the new button is inserted at the left
+ most position.
+ */
+ void addTabBarButtonAfter ([in] TabBarButton aButton, [in] TabBarButton aAnchor);
+
+ /** Add a tab bar button at the right most position.
+ @param aButton
+ The new tab bar button that is to be inserted.
+ */
+ void appendTabBarButton ([in] TabBarButton aButton);
+
+ /** Remove a tab bar button.
+ @param aButton
+ The tab bar button to remove. When there is no button with the
+ specified resource id then this call is silently ignored.
+ */
+ void removeTabBarButton ([in] TabBarButton aButton);
+
+ /** Test whether the specified button exists in the tab bar.
+ @param aButton
+ The tab bar button whose existence is tested.
+ @return
+ Returns `TRUE` when the button exists.
+ */
+ boolean hasTabBarButton ([in] TabBarButton aButton);
+
+ /** Return a sequence of all the tab bar buttons.
+ <p>Their order reflects the visible order in the tab bar.</p>
+ <p>This method can be used when
+ addTabBarButtonAfter() does not provide enough
+ control as to where to insert a new button.</p>
+ */
+ sequence<TabBarButton> getTabBarButtons ();
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XToolBar.idl b/offapi/com/sun/star/drawing/framework/XToolBar.idl
new file mode 100644
index 000000000..bc681b78e
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XToolBar.idl
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_XToolBar_idl__
+#define __com_sun_star_drawing_framework_XToolBar_idl__
+
+#include <com/sun/star/drawing/framework/XResource.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** Abstraction of tool bars used by the drawing framework.
+ @see XToolBarController
+ @see XToolBarFactory
+*/
+interface XToolBar
+ : ::com::sun::star::drawing::framework::XResource
+{
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/framework/XView.idl b/offapi/com/sun/star/drawing/framework/XView.idl
new file mode 100644
index 000000000..36610c77a
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XView.idl
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_drawing_framework_XView_idl__
+#define __com_sun_star_drawing_framework_XView_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/drawing/framework/XResource.idl>
+
+module com { module sun { module star { module drawing { module framework {
+
+/** A view in the drawing framework is any object that paints into a pane.
+ <p>Typical examples are the Impress views that show a graphical
+ representation of a document. But the task pane, which is primarily a
+ container of dialogs, is a view as well.</p>
+ <p>Luckily the drawing framework does not need to know much about what a
+ view is. It just needs to identify view objects and a typesafe way to
+ reference them.</p>
+ <p>The URL prefix of views is <code>private:resource/view</code></p>
+*/
+interface XView
+{
+ interface XResource;
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/drawing/modules.idl b/offapi/com/sun/star/drawing/modules.idl
new file mode 100644
index 000000000..7415da12c
--- /dev/null
+++ b/offapi/com/sun/star/drawing/modules.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_modules_framework_idl__
+#define __com_sun_star_modules_framework_idl__
+
+module com { module sun { module star { module drawing {
+
+/** The drawing framework is responsible for managing the resources used by
+ the UI of the drawing applications.
+ The set of active resources is represented by the
+ com::sun::star::drawing::framework::XConfiguration.</p>
+ <p>The com::sun::star::drawing::framework::XControllerManager
+ interface provides access to the sub controllers. It typically is
+ implemented by the same class that implements the
+ com::sun::star::frame::XController interface.</p>
+ <p>The
+ configuration is managed by the
+ com::sun::star::drawing::framework::XConfigurationController.
+ It coordinates changes to the configuration made by the other sub
+ controllers so that
+ <ul><li>unnecessary ui updates (flickering) is avoided and</li>
+ <li>and the configuration is always in a valid and meaningful
+ state.</li></ul></p>
+ <p>For more information please see the wiki page of the <a
+ href="http://wiki.openoffice.org/wiki/Drawing_framework">drawing framework</a>.
+*/
+module framework {};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */