1/************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23#ifndef __com_sun_star_presentation_XSlideShowView_idl__ 24#define __com_sun_star_presentation_XSlideShowView_idl__ 25 26#ifndef __com_sun_star_uno_XInterface_idl__ 27#include <com/sun/star/uno/XInterface.idl> 28#endif 29#ifndef __com_sun_star_rendering_XSpriteCanvas_idl__ 30#include <com/sun/star/rendering/XSpriteCanvas.idl> 31#endif 32#ifndef __com_sun_star_util_XModifyListener_idl__ 33#include <com/sun/star/util/XModifyListener.idl> 34#endif 35#ifndef __com_sun_star_awt_XPaintListener_idl__ 36#include <com/sun/star/awt/XPaintListener.idl> 37#endif 38#ifndef __com_sun_star_awt_XMouseListener_idl__ 39#include <com/sun/star/awt/XMouseListener.idl> 40#endif 41#ifndef __com_sun_star_awt_XMouseMotionListener_idl__ 42#include <com/sun/star/awt/XMouseMotionListener.idl> 43#endif 44#ifndef __com_sun_star_awt_Rectangle_idl__ 45#include <com/sun/star/awt/Rectangle.idl> 46#endif 47 48module com { module sun { module star { module presentation { 49 50/** View interface to display slideshow presentations on.<p> 51 52 This interface provides the necessary methods to enable an 53 XSlideShow interface to display a presentation. The slideshow can 54 be displayed simultaneously on multiple views<p> 55 56 @since OpenOffice 2.4 57 */ 58published interface XSlideShowView : ::com::sun::star::uno::XInterface 59{ 60 /** Get view canvas.<p> 61 62 This method gets the underlying XCanvas to display on this 63 view.<p> 64 65 @return XSpriteCanvas to display on. Must be valid, and the 66 same object, as long as this view is added to any slide show. 67 */ 68 ::com::sun::star::rendering::XSpriteCanvas getCanvas(); 69 70 /** This method clears the whole view area. 71 72 The slideshow uses this method to fully erase the view 73 content. Since the slideshow has no notion of view size, this 74 is the only reliable way to wholly clear the view. 75 */ 76 void clear(); 77 78 /** Query the current transformation matrix for this view.<p> 79 80 This method returns the transformation matrix of the 81 view. When notified via the transformation change listener, 82 the show will be displayed using the new transformation.<p> 83 84 @return the view transformation matrix. Note that the slide 85 show itself will paint all slides as one-by-one boxes, one 86 therefore has to at least provide a scaling at this matrix to 87 blow this up to the desired device pixel size (640 times 480, 88 or whatever size the output view has). Furthermore, the aspect 89 ratio of the scaling should match that of the slides 90 (otherwise, the slides will be scaled anisotrophically). 91 */ 92 ::com::sun::star::geometry::AffineMatrix2D getTransformation(); 93 94 /** Add a listener to get notified when the transformation matrix changes.<p> 95 96 This method registers a listener with the view, which will get 97 called every time the transformation matrix changes.<p> 98 99 @param xListener 100 Listener interface to call when the transformation matrix changes. 101 */ 102 void addTransformationChangedListener( [in] ::com::sun::star::util::XModifyListener xListener ); 103 104 /** Revoke a previously registered transformation matrix change listener.<p> 105 106 @param xListener 107 Listener interface to revoke from being called. 108 */ 109 void removeTransformationChangedListener( [in] ::com::sun::star::util::XModifyListener xListener ); 110 111 /** Add a listener to get notified when this view needs a repaint.<p> 112 113 This method registers a listener with the view, which will get 114 called every time the view needs an update of their screen 115 representation.<p> 116 117 @param xListener 118 Listener interface to call when the view needs a repaint. 119 */ 120 void addPaintListener( [in] ::com::sun::star::awt::XPaintListener xListener ); 121 122 /** Revoke a previously registered paint listener.<p> 123 124 @param xListener 125 Listener interface to revoke from being called. 126 */ 127 void removePaintListener( [in] ::com::sun::star::awt::XPaintListener xListener ); 128 129 /** Add a mouse listener to the view.<p> 130 131 This method registers a listener with the view, which will get 132 called every time the mouse is clicked on the view.<p> 133 134 @param xListener 135 Listener interface to call when the mouse is clicked on the view. 136 */ 137 void addMouseListener( [in] com::sun::star::awt::XMouseListener xListener ); 138 139 /** Revoke a previously registered mouse listener.<p> 140 141 @param xListener 142 Listener interface to revoke from being called. 143 */ 144 void removeMouseListener( [in] com::sun::star::awt::XMouseListener xListener ); 145 146 /** Add a mouse motion listener to the view.<p> 147 148 This method registers a listener with the view, which will get 149 called every time the mouse is moved on the view.<p> 150 151 @param xListener 152 Listener interface to call when the mouse is moved on the view. 153 */ 154 void addMouseMotionListener( [in] com::sun::star::awt::XMouseMotionListener xListener ); 155 156 /** Revoke a previously registered mouse move listener.<p> 157 158 @param xListener 159 Listener interface to revoke from being called. 160 */ 161 void removeMouseMotionListener( [in] com::sun::star::awt::XMouseMotionListener xListener ); 162 163 /** Change the mouse cursor currently in effect.<p> 164 165 This method changes the mouse cursor currently in effect, for 166 this view.<p> 167 168 @param nPointerShape 169 New mouse cursor shape to display for this view. Must be from 170 the ::com::sun::star::awt::SystemPointer constant group. 171 */ 172 void setMouseCursor( [in] short nPointerShape ); 173 174 /** Get rectangle defining area inside of canvas device which 175 this slideshow view uses. 176 */ 177 ::com::sun::star::awt::Rectangle getCanvasArea(); 178}; 179 180}; }; }; }; 181 182 183#endif 184