diff options
Diffstat (limited to '')
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: */ |