xref: /AOO41X/main/offapi/com/sun/star/presentation/XSlideShowView.idl (revision 1ecadb572e7010ff3b3382ad9bf179dbc6efadbb)
1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27#ifndef __com_sun_star_presentation_XSlideShowView_idl__
28#define __com_sun_star_presentation_XSlideShowView_idl__
29
30#ifndef __com_sun_star_uno_XInterface_idl__
31#include <com/sun/star/uno/XInterface.idl>
32#endif
33#ifndef __com_sun_star_rendering_XSpriteCanvas_idl__
34#include <com/sun/star/rendering/XSpriteCanvas.idl>
35#endif
36#ifndef __com_sun_star_util_XModifyListener_idl__
37#include <com/sun/star/util/XModifyListener.idl>
38#endif
39#ifndef __com_sun_star_awt_XPaintListener_idl__
40#include <com/sun/star/awt/XPaintListener.idl>
41#endif
42#ifndef __com_sun_star_awt_XMouseListener_idl__
43#include <com/sun/star/awt/XMouseListener.idl>
44#endif
45#ifndef __com_sun_star_awt_XMouseMotionListener_idl__
46#include <com/sun/star/awt/XMouseMotionListener.idl>
47#endif
48#ifndef __com_sun_star_awt_Rectangle_idl__
49#include <com/sun/star/awt/Rectangle.idl>
50#endif
51
52module com {  module sun {  module star {  module presentation {
53
54/** View interface to display slideshow presentations on.<p>
55
56    This interface provides the necessary methods to enable an
57    XSlideShow interface to display a presentation. The slideshow can
58    be displayed simultaneously on multiple views<p>
59
60    @since OOo 2.4
61 */
62published interface XSlideShowView : ::com::sun::star::uno::XInterface
63{
64    /** Get view canvas.<p>
65
66        This method gets the underlying XCanvas to display on this
67        view.<p>
68
69        @return XSpriteCanvas to display on. Must be valid, and the
70        same object, as long as this view is added to any slide show.
71     */
72    ::com::sun::star::rendering::XSpriteCanvas getCanvas();
73
74    /** This method clears the whole view area.
75
76        The slideshow uses this method to fully erase the view
77        content. Since the slideshow has no notion of view size, this
78        is the only reliable way to wholly clear the view.
79     */
80    void clear();
81
82    /** Query the current transformation matrix for this view.<p>
83
84            This method returns the transformation matrix of the
85            view. When notified via the transformation change listener,
86            the show will be displayed using the new transformation.<p>
87
88        @return the view transformation matrix. Note that the slide
89        show itself will paint all slides as one-by-one boxes, one
90        therefore has to at least provide a scaling at this matrix to
91        blow this up to the desired device pixel size (640 times 480,
92        or whatever size the output view has). Furthermore, the aspect
93        ratio of the scaling should match that of the slides
94        (otherwise, the slides will be scaled anisotrophically).
95     */
96    ::com::sun::star::geometry::AffineMatrix2D getTransformation();
97
98    /** Add a listener to get notified when the transformation matrix changes.<p>
99
100        This method registers a listener with the view, which will get
101        called everytime the transformation matrix changes.<p>
102
103        @param xListener
104        Listener interface to call when the transformation matrix changes.
105     */
106    void addTransformationChangedListener( [in] ::com::sun::star::util::XModifyListener xListener );
107
108    /** Revoke a previously registered transformation matrix change listener.<p>
109
110        @param xListener
111        Listener interface to revoke from being called.
112     */
113    void removeTransformationChangedListener( [in] ::com::sun::star::util::XModifyListener xListener );
114
115    /** Add a listener to get notified when this view needs a repaint.<p>
116
117        This method registers a listener with the view, which will get
118        called everytime the view needs an update of their screen
119        representation.<p>
120
121        @param xListener
122        Listener interface to call when the view needs a repaint.
123     */
124    void addPaintListener( [in] ::com::sun::star::awt::XPaintListener xListener );
125
126    /** Revoke a previously registered paint listener.<p>
127
128        @param xListener
129        Listener interface to revoke from being called.
130     */
131    void removePaintListener( [in] ::com::sun::star::awt::XPaintListener xListener );
132
133    /** Add a mouse listener to the view.<p>
134
135        This method registers a listener with the view, which will get
136        called everytime the mouse is clicked on the view.<p>
137
138        @param xListener
139        Listener interface to call when the mouse is clicked on the view.
140     */
141    void addMouseListener( [in] com::sun::star::awt::XMouseListener xListener );
142
143    /** Revoke a previously registered mouse listener.<p>
144
145        @param xListener
146        Listener interface to revoke from being called.
147     */
148    void removeMouseListener( [in] com::sun::star::awt::XMouseListener xListener );
149
150    /** Add a mouse motion listener to the view.<p>
151
152        This method registers a listener with the view, which will get
153        called everytime the mouse is moved on the view.<p>
154
155        @param xListener
156        Listener interface to call when the mouse is moved on the view.
157     */
158    void addMouseMotionListener( [in] com::sun::star::awt::XMouseMotionListener xListener );
159
160    /** Revoke a previously registered mouse move listener.<p>
161
162        @param xListener
163        Listener interface to revoke from being called.
164     */
165    void removeMouseMotionListener( [in] com::sun::star::awt::XMouseMotionListener xListener );
166
167    /** Change the mouse cursor currently in effect.<p>
168
169        This method changes the mouse cursor currently in effect, for
170        this view.<p>
171
172        @param nPointerShape
173        New mouse cursor shape to display for this view. Must be from
174        the ::com::sun::star::awt::SystemPointer constant group.
175     */
176    void setMouseCursor( [in] short nPointerShape );
177
178    /** Get rectangle defining area inside of canvas device which
179    this slideshow view uses.
180    */
181    ::com::sun::star::awt::Rectangle getCanvasArea();
182};
183
184}; }; }; };
185
186
187#endif
188