summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/drawing/AccessibleDrawDocumentView.idl
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--offapi/com/sun/star/drawing/AccessibleDrawDocumentView.idl127
1 files changed, 127 insertions, 0 deletions
diff --git a/offapi/com/sun/star/drawing/AccessibleDrawDocumentView.idl b/offapi/com/sun/star/drawing/AccessibleDrawDocumentView.idl
new file mode 100644
index 000000000..9dcf86314
--- /dev/null
+++ b/offapi/com/sun/star/drawing/AccessibleDrawDocumentView.idl
@@ -0,0 +1,127 @@
+/* -*- 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_drawing_AccessibleDrawDocumentView_idl__
+#define __com_sun_star_drawing_AccessibleDrawDocumentView_idl__
+
+#include <com/sun/star/accessibility/XAccessible.idl>
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+
+module com { module sun { module star { module drawing {
+
+/** The AccessibleDrawDocumentView service is implemented by
+ views of Draw and Impress documents.
+
+ <p>An object that implements the AccessibleDrawDocumentView
+ service provides information about the view of a Draw or Impress
+ document in one of the various view modes. With its children it gives
+ access to the current page and the shapes on that page.</p>
+
+ <p>This service gives a simplified view on the underlying document. It
+ tries both to keep the structure of the accessibility representation
+ tree as simple as possible and provide as much relevant information as
+ possible. This has the following consequences:
+ <ol>
+ <li>Only the current draw page and only the visible shapes are
+ accessible. To switch to another page or to access shapes that lie
+ outside the currently visible area, the user has to issue these requests
+ manually or programmatically through the usual channels, e.g. pressing
+ keys or selecting menu entries.</li>
+ <li>The hierarchy exposed through the
+ ::com::sun::star::accessibility::XAccessibleContext
+ interface does not necessarily correspond directly to the underlying
+ draw page structure. Internal nodes in this hierarchy are introduced
+ by group shapes, 3D scenes, and OLE objects.</li>
+ <li>The view modes editing view, outline view, slides view, notes view,
+ handout view, and presentation view are not exposed explicitly.
+ However, if there happens to be a view mode change which results in a
+ rearrangement of the visible shapes, the user gets notified of this.</li>
+ </ol></p>
+
+ @since OOo 1.1.2
+*/
+service AccessibleDrawDocumentView
+{
+ /** Base interface for being accessible. It gives access to the
+ ::com::sun::star::accessibility::XAccessibleContext
+ interface.
+ */
+ interface ::com::sun::star::accessibility::XAccessible;
+
+ /** Provide access to the view of a document.
+
+ <p>You can access the following information:
+ <ul>
+ <li>Role: The object's role might be
+ com::sun::star::accessibility::AccessibleRole::DOCUMENT or
+ com::sun::star::accessibility::AccessibleRole::DOCUMENT_PRESENTATION
+ , the former for a Draw and the latter for an Impress document.</li>
+ <li>Name: Its name is "AccessibleDrawDocumentView",
+ "AccessibleOutlineView", or "slide window".</li>
+ <li>Description: The description is "Draw Document", "Accessible
+ Draw Document Outline", or "slide window".</li>
+ <li>Children: The shapes of the current draw page that are currently
+ visible are direct and indirect children of (an object
+ implementing)
+ this service. Group shapes, 3D scenes, and OLE objects
+ introduce further levels into the hierarchy. If the visibility
+ of shapes changes--due to
+ scrolling, switching the current draw page, or changing the view
+ mode--the appropriate listeners are called and the user gets
+ informed of this.</li>
+ <li>Parent: The parent will usually be the window that contains the
+ draw document view. It has to be set via implementation dependent
+ ways.</li>
+ <li>Relations: Relations are set and modified from the outside.</li>
+ <li>States: com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if a document view
+ becomes obsolete like when the window, which displays the view,
+ is closed. Otherwise the states
+ com::sun::star::accessibility::AccessibleStateType::ENABLED,
+ com::sun::star::accessibility::AccessibleStateType::SHOWING,
+ com::sun::star::accessibility::AccessibleStateType::VISIBLE,
+ com::sun::star::accessibility::AccessibleStateType::FOCUSABLE,
+ and
+ com::sun::star::accessibility::AccessibleStateType::SELECTABLE
+ are always set.</li>
+ <li>Locale: Is obtained from the parent and returned unchanged.</li>
+ </ul></p>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** Provide access to a draw document's graphical representation.
+
+ <p>The main purpose of this interface is to provide a bounding box
+ of the currently visible area and to let the user find children
+ (i.e. shapes) that cover a given test point. The more interesting
+ part of the graphical representation of a draw page lies in its
+ children. See the AccessibleShape service for more
+ information about shapes.</p>
+
+ @see AccessibleShape
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */