blob: fab55189dbd06401fcef123381bfbb6e7069115c [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef __com_sun_star_text_Shape_idl__
#define __com_sun_star_text_Shape_idl__
#ifndef __com_sun_star_text_TextContent_idl__
#include <com/sun/star/text/TextContent.idl>
#endif
#ifndef __com_sun_star_text_XTextFrame_idl__
#include <com/sun/star/text/XTextFrame.idl>
#endif
#ifndef __com_sun_star_text_XTextRange_idl__
#include <com/sun/star/text/XTextRange.idl>
#endif
#ifndef __com_sun_star_drawing_Shape_idl__
#include <com/sun/star/drawing/Shape.idl>
#endif
#ifndef __com_sun_star_text_TextContentAnchorType_idl__
#include <com/sun/star/text/TextContentAnchorType.idl>
#endif
#ifndef __com_sun_star_text_WrapTextMode_idl__
#include <com/sun/star/text/WrapTextMode.idl>
#endif
//=============================================================================
module com { module sun { module star { module text {
//=============================================================================
/** specifies the service of shapes in a text document
*/
published service Shape
{
service com::sun::star::drawing::Shape;
//-------------------------------------------------------------------------
/** contains the number of the page where the objects are anchored.
<p> The value is valid only if the
AnchorType is
<const>TextContentAnchorType::AT_PAGE</const>.</p>
*/
[property] short AnchorPageNo;
//-------------------------------------------------------------------------
/** contains the text frame the current frame is anchored to.
<p> The value is valid only if the
AnchorType is <const>TextContentAnchorType::AT_FRAME</const>.</p>
*/
[property] com::sun::star::text::XTextFrame AnchorFrame;
//-------------------------------------------------------------------------
/** specifies how the text content is attached to its surrounding
<type>Text</type>.
*/
[optional, property] com::sun::star::text::TextContentAnchorType AnchorType;
//-------------------------------------------------------------------------
/** determines the horizontal orientation of the object.
@see BaseFrame::HoriOrientation
*/
[property] short HoriOrient;
//-------------------------------------------------------------------------
/** contains the horizontal position of the object (1/100 mm).
<p> It is only valid if "HoriOrient" is HoriOrientation_NONE.</p>
*/
[property] long HoriOrientPosition;
//-------------------------------------------------------------------------
/** determines the environment of the object to which the orientation
is related.
@see BaseFrame::RelOrientation
*/
[property] short HoriOrientRelation;
//-------------------------------------------------------------------------
/** determines the vertical orientation of the object.
@see BaseFrame::VertOrientation
*/
[property] short VertOrient;
//-------------------------------------------------------------------------
/** contains the vertical position of the object (1/100 mm).
It is only valid if <member>TextEmbeddedObject::VertOrient</member> is
<const>VertOrientation::NONE</const>.
*/
[property] long VertOrientPosition;
//-------------------------------------------------------------------------
/** determines the environment of the object to which the orientation is related.
@see BaseFrame::RelOrientation
*/
[property] short VertOrientRelation;
//-------------------------------------------------------------------------
/** contains the left margin of the object.
*/
[property] long LeftMargin;
//-------------------------------------------------------------------------
/** contains the right margin of the object.
*/
[property] long RightMargin;
//-------------------------------------------------------------------------
/** contains the top margin of the object.
*/
[property] long TopMargin;
//-------------------------------------------------------------------------
/** contains the bottom margin of the object.
*/
[property] long BottomMargin;
//-------------------------------------------------------------------------
/** determines the type of the surrounding text.
@deprecated
*/
[property] com::sun::star::text::WrapTextMode Surround;
//-------------------------------------------------------------------------
/** determines if the text of the paragraph in which the object
is anchored, wraps around the object.
*/
[property] boolean SurroundAnchorOnly;
//-------------------------------------------------------------------------
/** determines if the text wraps around the contour of the object.
*/
[property] boolean SurroundContour;
//-------------------------------------------------------------------------
/** the text flows only around the contour of the object.
*/
[property] boolean ContourOutside;
//-------------------------------------------------------------------------
/** determines if the object is opaque or transparent for text.
*/
[property] boolean Opaque;
//-------------------------------------------------------------------------
/** contains a text range where the shape should be anchored to.
<p>There are two different ways to get newly created shapes into the
text document. One of them is to use the insertTextContent() method of
the <type scope="com::sun::star::text">XSimpleText</type>. The other is to call the add()
method of the <type scope="com::sun::star::drawing">XShapes</type> interface.
To be able to determine an anchor position for shape that are anchored at a certain
text position the property TextRange is used.</p>
<p>This property is used when the shape gets inserted/added
and becomes invalid after that.</p>
*/
[property] com::sun::star::text::XTextRange TextRange;
//-------------------------------------------------------------------------
/** determines the influence of the text wrap on the positioning of the
shape
<p>The value of this property is only evaluated for the positioning
of the shape, if the text document setting ConsiderTextWrapOnObjPos
is <TRUE/>. Valid values are given by <member>WrapInfluenceOnPosition</member></p>
@since OpenOffice 2.0
*/
[optional, property] short WrapInfluenceOnPosition;
//-------------------------------------------------------------------------
/** determines the transformation of the shape in horizontal left-to-right
layout
<p>This property is needed for the export of the OASIS Open Office
file format to the OpenOffice.org file format. It provides the
transformation property of the included service com::sun::star::drawing::Shape
converted to the horizontal left-to-right layout.</p>
@since OpenOffice 2.0
*/
[optional, readonly, property] com::sun::star::drawing::HomogenMatrix3 TransformationInHoriL2R;
//-------------------------------------------------------------------------
/** determines layout direction the position attributes of the shape
is given
<p>Valid values are given by <member>PositionLayoutDir</member></p>
@since OpenOffice 2.0
*/
[optional, property] short PositionLayoutDir;
//-------------------------------------------------------------------------
/** determines the start position of the shape in horizontal left-to-right
layout
<p>This property is needed for the export of the OASIS Open Office
file format to the OpenOffice.org file format. It provides the
start position property of the included service com::sun::star::drawing::Shape
converted to the horizontal left-to-right layout.</p>
@since OpenOffice 2.0
*/
[optional, readonly, property] com::sun::star::awt::Point StartPositionInHoriL2R;
//-------------------------------------------------------------------------
/** determines the end position of the shape in horizontal left-to-right
layout
<p>This property is needed for the export of the OASIS Open Office
file format to the OpenOffice.org file format. It provides the
end position property of the included service com::sun::star::drawing::Shape
converted to the horizontal left-to-right layout.</p>
@since OpenOffice 2.0
*/
[optional, readonly, property] com::sun::star::awt::Point EndPositionInHoriL2R;
};
//=============================================================================
}; }; }; };
#endif