/************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2008 by Sun Microsystems, Inc. * * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: XSlideShowView.idl,v $ * * $Revision: 1.3 $ * * This file is part of OpenOffice.org. * * OpenOffice.org is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 3 * only, as published by the Free Software Foundation. * * OpenOffice.org is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License version 3 for more details * (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU Lesser General Public License * version 3 along with OpenOffice.org. If not, see * * for a copy of the LGPLv3 License. * ************************************************************************/ #ifndef __com_sun_star_presentation_XSlideShowView_idl__ #define __com_sun_star_presentation_XSlideShowView_idl__ #ifndef __com_sun_star_uno_XInterface_idl__ #include #endif #ifndef __com_sun_star_rendering_XSpriteCanvas_idl__ #include #endif #ifndef __com_sun_star_util_XModifyListener_idl__ #include #endif #ifndef __com_sun_star_awt_XPaintListener_idl__ #include #endif #ifndef __com_sun_star_awt_XMouseListener_idl__ #include #endif #ifndef __com_sun_star_awt_XMouseMotionListener_idl__ #include #endif #ifndef __com_sun_star_awt_Rectangle_idl__ #include #endif module com { module sun { module star { module presentation { /** View interface to display slideshow presentations on.

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

@since OOo 2.4 */ interface XSlideShowView : ::com::sun::star::uno::XInterface { /** Get view canvas.

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

@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.

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.

@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.

This method registers a listener with the view, which will get called everytime the transformation matrix changes.

@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.

@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.

This method registers a listener with the view, which will get called everytime the view needs an update of their screen representation.

@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.

@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.

This method registers a listener with the view, which will get called everytime the mouse is clicked on the view.

@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.

@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.

This method registers a listener with the view, which will get called everytime the mouse is moved on the view.

@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.

@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.

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

@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