summaryrefslogtreecommitdiffstats
path: root/offapi
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2005-04-18 08:44:10 +0000
committerOliver Bolte <obo@openoffice.org>2005-04-18 08:44:10 +0000
commit665941dfd05bae740aa89c3842f82599733ea189 (patch)
tree474fbdba3b85d27ed1036cdf6099ad8e0b37cf3c /offapi
parentINTEGRATION: CWS presfixes03 (1.2.8); FILE MERGED (diff)
downloadcore-665941dfd05bae740aa89c3842f82599733ea189.tar.gz
core-665941dfd05bae740aa89c3842f82599733ea189.zip
INTEGRATION: CWS presfixes03 (1.2.8); FILE MERGED
2005/04/01 16:26:02 thb 1.2.8.1: #i39245#, #i37793# Rectified some problems when implementing bezier curve support at the XPolyPolygon2D; replaced @since <bugid> with @since OOo 2.0.0; clarified documentation; removed last remnants of the drafts namespace
Diffstat (limited to 'offapi')
-rw-r--r--offapi/com/sun/star/rendering/XLinePolyPolygon2D.idl33
-rw-r--r--offapi/com/sun/star/rendering/XPolyPolygon2D.idl33
-rw-r--r--offapi/com/sun/star/rendering/XTextLayout.idl50
3 files changed, 83 insertions, 33 deletions
diff --git a/offapi/com/sun/star/rendering/XLinePolyPolygon2D.idl b/offapi/com/sun/star/rendering/XLinePolyPolygon2D.idl
index 2dcd5cab3306..18a385c477d5 100644
--- a/offapi/com/sun/star/rendering/XLinePolyPolygon2D.idl
+++ b/offapi/com/sun/star/rendering/XLinePolyPolygon2D.idl
@@ -2,9 +2,9 @@
*
* $RCSfile: XLinePolyPolygon2D.idl,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: vg $ $Date: 2005-03-10 12:34:45 $
+ * last change: $Author: obo $ $Date: 2005-04-18 09:43:20 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -77,6 +77,8 @@
module com { module sun { module star { module rendering {
/** Specialized interface for a 2D poly-polygon containing only straight line segments.
+
+ @since OOo 2.0.0
*/
interface XLinePolyPolygon2D : XPolyPolygon2D
{
@@ -110,11 +112,28 @@ interface XLinePolyPolygon2D : XPolyPolygon2D
//-------------------------------------------------------------------------
- /** Set the specified subset of points to the poly-polygon. The
- subset of poly-polygon points not included in this sequence
- remains unchanged.
+ /** Set the specified sequence of points to the poly-polygon.
+
+ This method can either set the whole poly-polygon to the new
+ data, or insert the points at the given index
+
+ @param nPolygonIndex
+ The index of the polygon to start point insertion with. This
+ index must be in the range [0,numPolygons], and the insertion
+ will take place <em>before</em> this position (i.e. when
+ specifying 0 here, the given point sequence will precede all
+ existing polygons already within the poly-polygon). To append
+ to a poly-polygon, call setPoints() with
+ <member>XLinePolyPolygon2D::getNumberOfPolygons()</member>
+ as the polygon index. If nPolygonIndex is -1, the given
+ sequence of points <em>replaces</em> the poly-polygon content,
+ such that after this method completes, it contains exactly the
+ specified point data.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if one of the given values exceed the permissible range.
*/
- void setPoints( [in] sequence< sequence< ::com::sun::star::geometry::RealPoint2D > > points, [in] long nPolygonIndex, [in] long nPointIndex )
+ void setPoints( [in] sequence< sequence< ::com::sun::star::geometry::RealPoint2D > > points, [in] long nPolygonIndex )
raises (com::sun::star::lang::IndexOutOfBoundsException);
//-------------------------------------------------------------------------
@@ -129,7 +148,7 @@ interface XLinePolyPolygon2D : XPolyPolygon2D
/** Set a single point on the poly-polygon. The remaining points of
the poly-polygon will not be changed by this method.
*/
- void setPoint( [in] ::com::sun::star::geometry::RealPoint2D point, [in] long nPolygonIndex, [in] long nPointIndex )
+ void setPoint( [in] ::com::sun::star::geometry::RealPoint2D point, [in] long nPolygonIndex, [in] long nPointIndex )
raises (com::sun::star::lang::IndexOutOfBoundsException);
};
diff --git a/offapi/com/sun/star/rendering/XPolyPolygon2D.idl b/offapi/com/sun/star/rendering/XPolyPolygon2D.idl
index b6da351cfc40..6cef3214fea5 100644
--- a/offapi/com/sun/star/rendering/XPolyPolygon2D.idl
+++ b/offapi/com/sun/star/rendering/XPolyPolygon2D.idl
@@ -2,9 +2,9 @@
*
* $RCSfile: XPolyPolygon2D.idl,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: vg $ $Date: 2005-03-10 12:35:19 $
+ * last change: $Author: obo $ $Date: 2005-04-18 09:43:35 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -64,6 +64,9 @@
#ifndef __com_sun_star_uno_XInterface_idl__
#include <com/sun/star/uno/XInterface.idl>
#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
#include <com/sun/star/lang/IllegalArgumentException.idl>
#endif
@@ -77,6 +80,8 @@
module com { module sun { module star { module rendering {
/** Generic interface for poly-polygons in 2D.
+
+ @since OOo 2.0.0
*/
interface XPolyPolygon2D : ::com::sun::star::uno::XInterface
{
@@ -92,8 +97,24 @@ interface XPolyPolygon2D : ::com::sun::star::uno::XInterface
rendering will combine the alpha of overlapping areas, whereas
addPolyPolygon results in constant alpha, regardless how many
internal poly-polygons overlap at a single place.
+
+ @param position
+ The poly-polygon will be added at the given position, i.e. the
+ upper, left edge of the referenced poly-polygon will be at
+ this position relative to the target poly-polygon.
+
+ @param polyPolygon
+ The poly-polygon to add. Note that the content of this
+ poly-polygon is copied, later changes to polyPolygon will have
+ no effect on the poly-polygon it was added to.
+
+ @throws an IllegalArgumentException, if the XPolyPolygon2D
+ parameter does not support one of the data-providing
+ derivative interfaces (XBezierPolyPolygon2D,
+ XLinePolyPolygon2D).
*/
- void addPolyPolygon( [in] ::com::sun::star::geometry::RealPoint2D position, [in] XPolyPolygon2D polyPolygon );
+ void addPolyPolygon( [in] ::com::sun::star::geometry::RealPoint2D position, [in] XPolyPolygon2D polyPolygon )
+ raises (com::sun::star::lang::IllegalArgumentException);
//-------------------------------------------------------------------------
@@ -110,7 +131,7 @@ interface XPolyPolygon2D : ::com::sun::star::uno::XInterface
for. Must be in the range [0,getNumberOfPolygons()-1].
*/
long getNumberOfPolygonPoints( [in] long polygon )
- raises (com::sun::star::lang::IllegalArgumentException);
+ raises (com::sun::star::lang::IndexOutOfBoundsException);
//-------------------------------------------------------------------------
@@ -131,7 +152,7 @@ interface XPolyPolygon2D : ::com::sun::star::uno::XInterface
/** Query whether the specified polygon outline is closed.
*/
boolean isClosed( [in] long index )
- raises (com::sun::star::lang::IllegalArgumentException);
+ raises (com::sun::star::lang::IndexOutOfBoundsException);
//-------------------------------------------------------------------------
@@ -139,7 +160,7 @@ interface XPolyPolygon2D : ::com::sun::star::uno::XInterface
as the index to affect all polygons of this poly-polygon.
*/
void setClosed( [in] long index, [in] boolean closedState )
- raises (com::sun::star::lang::IllegalArgumentException);
+ raises (com::sun::star::lang::IndexOutOfBoundsException);
};
}; }; }; };
diff --git a/offapi/com/sun/star/rendering/XTextLayout.idl b/offapi/com/sun/star/rendering/XTextLayout.idl
index 1f706764ba13..d1e474b20529 100644
--- a/offapi/com/sun/star/rendering/XTextLayout.idl
+++ b/offapi/com/sun/star/rendering/XTextLayout.idl
@@ -2,9 +2,9 @@
*
* $RCSfile: XTextLayout.idl,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: vg $ $Date: 2005-03-10 12:35:52 $
+ * last change: $Author: obo $ $Date: 2005-04-18 09:44:10 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -112,10 +112,19 @@ interface XPolyPolygon2D;
likely to change subsequent output of those query methods.<p>
Similar to <type>XCanvasFont</type>, all measurements and
- coordinates accepted and returned by this interface are in device
- coordinate space.<p>
-
- @since #110496#
+ coordinates accepted and returned by this interface are relative
+ to the font's local coordinate system (which only equals device
+ coordinate space, if the combined render transformation used
+ during text output is the identity transformation). Conversely, if
+ the combined transformation used during text output is
+ <em>not</em> the identity transformation, all measurements
+ returned by this interface should be subjected to that
+ transformation, to yield values in device coordinate space.
+ Depending on the underlying font technology, actual device output
+ might be off by up to one device pixel from the transformed
+ metrics.<p>
+
+ @since OOo 2.0.0
*/
interface XTextLayout : ::com::sun::star::uno::XInterface
{
@@ -124,7 +133,7 @@ interface XTextLayout : ::com::sun::star::uno::XInterface
Each glyph is represented by a separate
<type>XPolyPolygon2D</type> in the returned sequence.<p>
- @returns a sequence of <type>XPolyPolygon2D</type> in device
+ @returns a sequence of <type>XPolyPolygon2D</type> in font
coordinate space, one for every glyph.
*/
sequence<XPolyPolygon2D> queryTextShapes();
@@ -140,7 +149,7 @@ interface XTextLayout : ::com::sun::star::uno::XInterface
returned, not the logical dimensions of the character in the
font.<p>
- @returns a sequence of rectangles in device coordinate space,
+ @returns a sequence of rectangles in font coordinate space,
specifying the bounds, one for every glyph.
@see <member>XTextLayout::queryMeasures()</member>
@@ -158,7 +167,7 @@ interface XTextLayout : ::com::sun::star::uno::XInterface
<member>XTextLayout::queryInkMeasures()</member>.
@returns a sequence of rectangles specifying the bounds in
- device coordinate space, one for every glyph.
+ font coordinate space, one for every glyph.
@see <member>XTextLayout::queryInkMeasures()</member>
*/
@@ -180,7 +189,7 @@ interface XTextLayout : ::com::sun::star::uno::XInterface
<member>XTextLayout::applyLogicalAdvancements()</member>.<p>
@returns a sequence of <type>double</type> specifying the
- advancements per character in device coordinate space.
+ advancements per character in font coordinate space.
@see <member>XTextLayout::applyLogicalAdvancements()</member>
*/
@@ -199,7 +208,7 @@ interface XTextLayout : ::com::sun::star::uno::XInterface
characters, e.g. relative to a reference output device.<p>
@param aAdvancements
- A sequence of character advancements, in device coordinate
+ A sequence of character advancements, in font coordinate
space.
@see <member>XTextLayout::queryLogicalAdvancements()</member>
@@ -219,7 +228,8 @@ interface XTextLayout : ::com::sun::star::uno::XInterface
<member>XTextLayout::queryTextMeasures</member>, only that the
overall bounds are returned by this method.<p>
- @return the overall bounding box for the given layout, in device coordinate space.
+ @return the overall bounding box for the given layout, in font
+ coordinate space.
*/
::com::sun::star::geometry::RealRectangle2D queryTextBounds();
@@ -234,10 +244,10 @@ interface XTextLayout : ::com::sun::star::uno::XInterface
@param nSize
The requested size of the text after justification (either
width or height, depending on the writing mode). This
- parameter is interpreted in device coordinate space.
+ parameter is interpreted in font coordinate space.
@return the actual size of the text after the justification in
- the device coordinate space. Depending on the font and the
+ the font coordinate space. Depending on the font and the
script type, this might be somewhat different from the size
requested. If the requested size was smaller than the
justification algorithm could compress the text, this value
@@ -269,12 +279,12 @@ interface XTextLayout : ::com::sun::star::uno::XInterface
@param nSize
The requested size of the text for <em>all</em>
- <type>XTextLayout</type>s after justification in device
+ <type>XTextLayout</type>s after justification in font
coordinate space (either width or height, depending on the
writing mode).
@return the actual size of the text after the justification,
- in device coordinate space. Depending on the font and the
+ in font coordinate space. Depending on the font and the
script type, this might be somewhat different from the size
requested. If the requested size was smaller than the
justification algorithm could compress the text, this value
@@ -291,10 +301,10 @@ interface XTextLayout : ::com::sun::star::uno::XInterface
/** This method determines the hit position in the text.<p>
This method determines the index of the character hit at the
- specified position (in device coordinate space).<p>
+ specified position (in font coordinate space).<p>
@param aHitPoint
- The position in device coordinate space to determine the
+ The position in font coordinate space to determine the
underlying character index for.
*/
@@ -367,7 +377,7 @@ interface XTextLayout : ::com::sun::star::uno::XInterface
@param nEndIndex
End of the selection range.
- @return the highlight polygon in the device coordinate space.
+ @return the highlight polygon in the font coordinate space.
@throws com::sun::star::lang::IndexOutOfBoundsException
if nStartIndex or nEndIndex are outside the permissible
@@ -393,7 +403,7 @@ interface XTextLayout : ::com::sun::star::uno::XInterface
@param nEndIndex
End of the selection range.
- @return the highlight polygon in the device coordinate space.
+ @return the highlight polygon in the font coordinate space.
@throws com::sun::star::lang::IndexOutOfBoundsException
if nStartIndex or nEndIndex are outside the permissible