1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements.  See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership.  The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License.  You may obtain a copy of the License at
10 *
11 *   http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied.  See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23#ifndef __com_sun_star_frame_XControllerBorder_idl__
24#define __com_sun_star_frame_XControllerBorder_idl__
25
26#ifndef __com_sun_star_frame_BorderWidths_idl__
27#include <com/sun/star/frame/BorderWidths.idl>
28#endif
29
30#ifndef __com_sun_star_frame_XBorderResizeListener_idl__
31#include <com/sun/star/frame/XBorderResizeListener.idl>
32#endif
33
34#ifndef __com_sun_star_awt_Rectangle_idl__
35#include <com/sun/star/awt/Rectangle.idl>
36#endif
37
38
39//============================================================================
40
41 module com {  module sun {  module star {  module frame {
42
43//============================================================================
44/** allows to retrieve information about controller's border.
45 */
46interface XControllerBorder: com::sun::star::uno::XInterface
47{
48	//------------------------------------------------------------------------
49    /** allows to get current border sizes of the document.
50
51		@return
52			<type>BorderWidths</type> representing the sizes of border
53	 */
54	BorderWidths getBorder();
55
56	//------------------------------------------------------------------------
57	/** adds the specified listener to receive events about controller's
58		border resizing.
59	 */
60	void addBorderResizeListener( [in] XBorderResizeListener xListener );
61
62	//------------------------------------------------------------------------
63	/** removes the specified listener.
64	 */
65	void removeBorderResizeListener( [in] XBorderResizeListener xListener );
66
67	//------------------------------------------------------------------------
68    /** allows to get suggestion for resizing of object area surrounded
69		by the border.
70
71		<p> If the view is going to be resized/moved this method can be
72		used to get suggested object area. Pixels are used as units.
73		</p>
74
75		@return
76			suggestion for the resizing
77	 */
78	::com::sun::star::awt::Rectangle queryBorderedArea(
79			[in] ::com::sun::star::awt::Rectangle aPreliminaryRectangle );
80};
81
82//============================================================================
83
84}; }; }; };
85
86#endif
87
88