summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/drawing/framework/XPaneBorderPainter.idl
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/drawing/framework/XPaneBorderPainter.idl')
-rw-r--r--offapi/com/sun/star/drawing/framework/XPaneBorderPainter.idl161
1 files changed, 161 insertions, 0 deletions
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 000000000000..e9d875897a40
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XPaneBorderPainter.idl
@@ -0,0 +1,161 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_framework_XPaneBorderPainter_idl__
+#define __com_sun_star_drawing_framework_XPaneBorderPainter_idl__
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+#ifndef __com_sun_star_rendering_XCanvas_idl__
+#include <com/sun/star/rendering/XCanvas.idl>
+#endif
+
+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
+};
+
+
+/** Paint the border around a rectangular region, typically a pane.
+
+ <p>Calling objects have to be able to derive inner bounding boxs 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);
+
+ /** Shring 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 callout
+ that is anchored at the given point. Most arguments have the same
+ meaning as in the <method>paintBorder</method>.
+ @param aCalloutAnchor
+ The anchor point of the callout. 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 callout anchor with respect to the outer
+ border. This value is used when the callout is realized by a fixed
+ bitmap in order to determine the size and/or location of the outer
+ border for a given callout.
+ */
+ ::com::sun::star::awt::Point getCalloutOffset (
+ [in] string sPaneBorderStyleName);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif