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