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