summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/presentation/XSlideShowView.idl
blob: 4fee37c5bdc835ea8f3afe26ceb6cb08f1aacd17 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
/**************************************************************
 *
 * 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_presentation_XSlideShowView_idl__
#define __com_sun_star_presentation_XSlideShowView_idl__

#ifndef __com_sun_star_uno_XInterface_idl__
#include <com/sun/star/uno/XInterface.idl>
#endif
#ifndef __com_sun_star_rendering_XSpriteCanvas_idl__
#include <com/sun/star/rendering/XSpriteCanvas.idl>
#endif
#ifndef __com_sun_star_util_XModifyListener_idl__
#include <com/sun/star/util/XModifyListener.idl>
#endif
#ifndef __com_sun_star_awt_XPaintListener_idl__
#include <com/sun/star/awt/XPaintListener.idl>
#endif
#ifndef __com_sun_star_awt_XMouseListener_idl__
#include <com/sun/star/awt/XMouseListener.idl>
#endif
#ifndef __com_sun_star_awt_XMouseMotionListener_idl__
#include <com/sun/star/awt/XMouseMotionListener.idl>
#endif
#ifndef __com_sun_star_awt_Rectangle_idl__
#include <com/sun/star/awt/Rectangle.idl>
#endif

module com {  module sun {  module star {  module presentation {

/** View interface to display slideshow presentations on.<p>

    This interface provides the necessary methods to enable an
    XSlideShow interface to display a presentation. The slideshow can
    be displayed simultaneously on multiple views<p>

    @since OpenOffice 2.4
 */
published interface XSlideShowView : ::com::sun::star::uno::XInterface
{
    /** Get view canvas.<p>

        This method gets the underlying XCanvas to display on this
        view.<p>

        @return XSpriteCanvas to display on. Must be valid, and the
        same object, as long as this view is added to any slide show.
     */
    ::com::sun::star::rendering::XSpriteCanvas getCanvas();

    /** This method clears the whole view area.

        The slideshow uses this method to fully erase the view
        content. Since the slideshow has no notion of view size, this
        is the only reliable way to wholly clear the view.
     */
    void clear();

    /** Query the current transformation matrix for this view.<p>

            This method returns the transformation matrix of the
            view. When notified via the transformation change listener,
            the show will be displayed using the new transformation.<p>

        @return the view transformation matrix. Note that the slide
        show itself will paint all slides as one-by-one boxes, one
        therefore has to at least provide a scaling at this matrix to
        blow this up to the desired device pixel size (640 times 480,
        or whatever size the output view has). Furthermore, the aspect
        ratio of the scaling should match that of the slides
        (otherwise, the slides will be scaled anisotrophically).
     */
    ::com::sun::star::geometry::AffineMatrix2D getTransformation();

    /** Add a listener to get notified when the transformation matrix changes.<p>

        This method registers a listener with the view, which will get
        called every time the transformation matrix changes.<p>

        @param xListener
        Listener interface to call when the transformation matrix changes.
     */
    void addTransformationChangedListener( [in] ::com::sun::star::util::XModifyListener xListener );

    /** Revoke a previously registered transformation matrix change listener.<p>

        @param xListener
        Listener interface to revoke from being called.
     */
    void removeTransformationChangedListener( [in] ::com::sun::star::util::XModifyListener xListener );

    /** Add a listener to get notified when this view needs a repaint.<p>

        This method registers a listener with the view, which will get
        called every time the view needs an update of their screen
        representation.<p>

        @param xListener
        Listener interface to call when the view needs a repaint.
     */
    void addPaintListener( [in] ::com::sun::star::awt::XPaintListener xListener );

    /** Revoke a previously registered paint listener.<p>

        @param xListener
        Listener interface to revoke from being called.
     */
    void removePaintListener( [in] ::com::sun::star::awt::XPaintListener xListener );

    /** Add a mouse listener to the view.<p>

        This method registers a listener with the view, which will get
        called every time the mouse is clicked on the view.<p>

        @param xListener
        Listener interface to call when the mouse is clicked on the view.
     */
    void addMouseListener( [in] com::sun::star::awt::XMouseListener xListener );

    /** Revoke a previously registered mouse listener.<p>

        @param xListener
        Listener interface to revoke from being called.
     */
    void removeMouseListener( [in] com::sun::star::awt::XMouseListener xListener );

    /** Add a mouse motion listener to the view.<p>

        This method registers a listener with the view, which will get
        called every time the mouse is moved on the view.<p>

        @param xListener
        Listener interface to call when the mouse is moved on the view.
     */
    void addMouseMotionListener( [in] com::sun::star::awt::XMouseMotionListener xListener );

    /** Revoke a previously registered mouse move listener.<p>

        @param xListener
        Listener interface to revoke from being called.
     */
    void removeMouseMotionListener( [in] com::sun::star::awt::XMouseMotionListener xListener );

    /** Change the mouse cursor currently in effect.<p>

        This method changes the mouse cursor currently in effect, for
        this view.<p>

        @param nPointerShape
        New mouse cursor shape to display for this view. Must be from
        the ::com::sun::star::awt::SystemPointer constant group.
     */
    void setMouseCursor( [in] short nPointerShape );

    /** Get rectangle defining area inside of canvas device which
    this slideshow view uses.
    */
    ::com::sun::star::awt::Rectangle getCanvasArea();
};

}; }; }; };


#endif