summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/presentation/XSlideShowView.idl
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
commited5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch)
tree7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /offapi/com/sun/star/presentation/XSlideShowView.idl
parentInitial commit. (diff)
downloadlibreoffice-upstream/4%7.4.7.tar.xz
libreoffice-upstream/4%7.4.7.zip
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'offapi/com/sun/star/presentation/XSlideShowView.idl')
-rw-r--r--offapi/com/sun/star/presentation/XSlideShowView.idl181
1 files changed, 181 insertions, 0 deletions
diff --git a/offapi/com/sun/star/presentation/XSlideShowView.idl b/offapi/com/sun/star/presentation/XSlideShowView.idl
new file mode 100644
index 000000000..eaf25c86b
--- /dev/null
+++ b/offapi/com/sun/star/presentation/XSlideShowView.idl
@@ -0,0 +1,181 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_presentation_XSlideShowView_idl__
+#define __com_sun_star_presentation_XSlideShowView_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/rendering/XSpriteCanvas.idl>
+#include <com/sun/star/util/XModifyListener.idl>
+#include <com/sun/star/awt/XPaintListener.idl>
+#include <com/sun/star/awt/XMouseListener.idl>
+#include <com/sun/star/awt/XMouseMotionListener.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/geometry/IntegerSize2D.idl>
+
+module com { module sun { module star { module presentation {
+
+/** View interface to display slide show presentations on.<p>
+
+ This interface provides the necessary methods to enable an
+ XSlideShow interface to display a presentation. The slide show can
+ be displayed simultaneously on multiple views<p>
+
+ @since OOo 2.4
+ */
+interface XSlideShowView : ::com::sun::star::uno::XInterface
+{
+ /** Get view canvas.<p>
+
+ This method gets the underlying XCanvas to display on this
+ view.<p>
+
+ @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 slide show uses this method to fully erase the view
+ content. Since the slide show 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.<p>
+
+ 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.<p>
+
+ @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 anisotropically).
+ */
+ ::com::sun::star::geometry::AffineMatrix2D getTransformation();
+
+ /** Query the current translation offset used to fill the physical screen while keeping aspect ratio.<p>
+
+ This method returns the translation offset of the view of the
+ view.<p>
+
+ @return the slideshowview will be transformed in order to fill
+ the physical screen while keeping the aspect ratio.
+ In order to do so, we need to add a black border on the side. This method
+ return an IntegerSize2D which represent (x, y) translation.
+ x represents the width of the border on the left, for example.
+ */
+ ::com::sun::star::geometry::IntegerSize2D getTranslationOffset();
+
+ /** Add a listener to get notified when the transformation matrix changes.<p>
+
+ This method registers a listener with the view, which will get
+ called every time the transformation matrix changes.<p>
+
+ @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.<p>
+
+ @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.<p>
+
+ This method registers a listener with the view, which will get
+ called every time the view needs an update of their screen
+ representation.<p>
+
+ @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.<p>
+
+ @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.<p>
+
+ This method registers a listener with the view, which will get
+ called every time the mouse is clicked on the view.<p>
+
+ @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.<p>
+
+ @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.<p>
+
+ This method registers a listener with the view, which will get
+ called every time the mouse is moved on the view.<p>
+
+ @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.<p>
+
+ @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.<p>
+
+ This method changes the mouse cursor currently in effect, for
+ this view.<p>
+
+ @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 slide show view uses.
+ */
+ ::com::sun::star::awt::Rectangle getCanvasArea();
+};
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */