1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*************************************************************************
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 * Copyright 2000, 2010 Oracle and/or its affiliates.
8 * OpenOffice.org - a multi-platform office productivity suite
10 * This file is part of OpenOffice.org.
12 * OpenOffice.org is free software: you can redistribute it and/or modify
13 * it under the terms of the GNU Lesser General Public License version 3
14 * only, as published by the Free Software Foundation.
16 * OpenOffice.org is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Lesser General Public License version 3 for more details
20 * (a copy is included in the LICENSE file that accompanied this code).
22 * You should have received a copy of the GNU Lesser General Public License
23 * version 3 along with OpenOffice.org. If not, see
24 * <http://www.openoffice.org/license.html>
25 * for a copy of the LGPLv3 License.
27 ************************************************************************/
28 #ifndef __com_sun_star_presentation_XSlideShowView_idl__
29 #define __com_sun_star_presentation_XSlideShowView_idl__
31 #include
<com
/sun
/star
/uno
/XInterface.idl
>
32 #include
<com
/sun
/star
/rendering
/XSpriteCanvas.idl
>
33 #include
<com
/sun
/star
/util
/XModifyListener.idl
>
34 #include
<com
/sun
/star
/awt
/XPaintListener.idl
>
35 #include
<com
/sun
/star
/awt
/XMouseListener.idl
>
36 #include
<com
/sun
/star
/awt
/XMouseMotionListener.idl
>
37 #include
<com
/sun
/star
/awt
/Rectangle.idl
>
39 module com
{ module sun
{ module star
{ module presentation
{
41 /** View interface to display slide show presentations on.<p>
43 This interface provides the necessary methods to enable an
44 XSlideShow interface to display a presentation. The slide show can
45 be displayed simultaneously on multiple views<p>
49 interface XSlideShowView
: ::com
::sun
::star
::uno
::XInterface
51 /** Get view canvas.<p>
53 This method gets the underlying XCanvas to display on this
56 @return XSpriteCanvas to display on. Must be valid, and the
57 same object, as long as this view is added to any slide show.
59 ::com
::sun
::star
::rendering
::XSpriteCanvas getCanvas
();
61 /** This method clears the whole view area.
63 The slide show uses this method to fully erase the view
64 content. Since the slide show has no notion of view size, this
65 is the only reliable way to wholly clear the view.
69 /** Query the current transformation matrix for this view.<p>
71 This method returns the transformation matrix of the
72 view. When notified via the transformation change listener,
73 the show will be displayed using the new transformation.<p>
75 @return the view transformation matrix. Note that the slide
76 show itself will paint all slides as one-by-one boxes, one
77 therefore has to at least provide a scaling at this matrix to
78 blow this up to the desired device pixel size (640 times 480,
79 or whatever size the output view has). Furthermore, the aspect
80 ratio of the scaling should match that of the slides
81 (otherwise, the slides will be scaled anisotropically).
83 ::com
::sun
::star
::geometry
::AffineMatrix2D getTransformation
();
85 /** Add a listener to get notified when the transformation matrix changes.<p>
87 This method registers a listener with the view, which will get
88 called everytime the transformation matrix changes.<p>
91 Listener interface to call when the transformation matrix changes.
93 void addTransformationChangedListener
( [in] ::com
::sun
::star
::util
::XModifyListener xListener
);
95 /** Revoke a previously registered transformation matrix change listener.<p>
98 Listener interface to revoke from being called.
100 void removeTransformationChangedListener
( [in] ::com
::sun
::star
::util
::XModifyListener xListener
);
102 /** Add a listener to get notified when this view needs a repaint.<p>
104 This method registers a listener with the view, which will get
105 called everytime the view needs an update of their screen
109 Listener interface to call when the view needs a repaint.
111 void addPaintListener
( [in] ::com
::sun
::star
::awt
::XPaintListener xListener
);
113 /** Revoke a previously registered paint listener.<p>
116 Listener interface to revoke from being called.
118 void removePaintListener
( [in] ::com
::sun
::star
::awt
::XPaintListener xListener
);
120 /** Add a mouse listener to the view.<p>
122 This method registers a listener with the view, which will get
123 called everytime the mouse is clicked on the view.<p>
126 Listener interface to call when the mouse is clicked on the view.
128 void addMouseListener
( [in] com
::sun
::star
::awt
::XMouseListener xListener
);
130 /** Revoke a previously registered mouse listener.<p>
133 Listener interface to revoke from being called.
135 void removeMouseListener
( [in] com
::sun
::star
::awt
::XMouseListener xListener
);
137 /** Add a mouse motion listener to the view.<p>
139 This method registers a listener with the view, which will get
140 called everytime the mouse is moved on the view.<p>
143 Listener interface to call when the mouse is moved on the view.
145 void addMouseMotionListener
( [in] com
::sun
::star
::awt
::XMouseMotionListener xListener
);
147 /** Revoke a previously registered mouse move listener.<p>
150 Listener interface to revoke from being called.
152 void removeMouseMotionListener
( [in] com
::sun
::star
::awt
::XMouseMotionListener xListener
);
154 /** Change the mouse cursor currently in effect.<p>
156 This method changes the mouse cursor currently in effect, for
160 New mouse cursor shape to display for this view. Must be from
161 the ::com::sun::star::awt::SystemPointer constant group.
163 void setMouseCursor
( [in] short nPointerShape
);
165 /** Get rectangle defining area inside of canvas device which
166 this slide show view uses.
168 ::com
::sun
::star
::awt
::Rectangle getCanvasArea
();
176 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */