summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/drawing/AccessibleShape.idl
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--offapi/com/sun/star/drawing/AccessibleShape.idl189
1 files changed, 189 insertions, 0 deletions
diff --git a/offapi/com/sun/star/drawing/AccessibleShape.idl b/offapi/com/sun/star/drawing/AccessibleShape.idl
new file mode 100644
index 000000000..7e10a6fe5
--- /dev/null
+++ b/offapi/com/sun/star/drawing/AccessibleShape.idl
@@ -0,0 +1,189 @@
+/* -*- 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_AccessibleShape_idl__
+#define __com_sun_star_drawing_AccessibleShape_idl__
+
+#include <com/sun/star/accessibility/XAccessible.idl>
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+
+module com { module sun { module star { module drawing {
+
+/** The AccessibleShape service is implemented by UNO shapes to
+ provide accessibility information that describe the shape's features.
+ A UNO shape is any object that implements the
+ ::com::sun::star::drawing::XShape interface.
+
+ <p>The content of a draw page is modelled as tree of accessible shapes
+ and accessible text paragraphs. The root of this (sub-)tree is the
+ accessible draw document view. An accessible shape implements either
+ this service or one of the "derived" services
+ AccessibleGraphicShape or AccessibleOLEShape.
+ See the section Children in the description of the
+ ::com::sun::star::accessibility::XAccessibleContext
+ interface support for more details.</p>
+
+ <p>There are two services that extend this one: the
+ AccessibleGraphicShape and the
+ AccessibleOLEShape services provide additional interfaces.
+ See there for details.</p>
+
+ <p>A shape object is either fully or partially visible on the screen or
+ has set the ::com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ state to indicate that it is no longer
+ actively supported by its parent.</p>
+
+ <p>Each shape object that has not set the DEFUNC state has a valid
+ parent. That is either the containing draw page or a group shape or a
+ 3D scene object.</p>
+
+ @since OOo 1.1.2
+*/
+service AccessibleShape
+{
+ /** Base interface for being accessible. It gives access to the
+ ::com::sun::star::accessibility::XAccessibleContext
+ interface.
+ */
+ interface ::com::sun::star::accessibility::XAccessible;
+
+ /** Give access to the structural information of a shape.
+
+ <p>You can access the following information for the shape being made
+ accessible:
+ <ul>
+ <li>Role: The role of all shapes is
+ com::sun::star::accessibility::AccessibleRole::SHAPE.</li>
+ <li>Name: The name of a shape is its localized type name.</li>
+ <li>Description: Descriptions are localized and start with the
+ shape's type and style. After that follow some properties that
+ differ from the defaults with respect to the style.
+ <li>Children: The children of a shape are either other accessible
+ shapes or accessible text paragraphs. Only group shapes, 3D scene
+ shapes, and OLE shapes may contain other shapes as children.
+ Some of the shapes may have text paragraphs as (additional)
+ children. See ::com::sun::star::text::AccessibleParagraphView for
+ details of how this text is represented.</li>
+ <li>Parent: The parent is either the document view as represented by
+ AccessibleDrawDocumentView or a group shape, 3D
+ scene shape, or OLE shape.</li>
+ <li>Relations: Are set and maintained from the outside. See the
+ service description of the object that has accessible shapes as
+ children for details.</li>
+ <li>States: The states supported by this service are:
+ <ul>
+ <li><p>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if an accessible
+ shape is not visible but still existent for some reason.
+ This should not really happen and is a sign that someone,
+ e.g. an AT-Tool holds references to such a shape. The
+ reason for this is that either the owner of the accessible
+ shape did not remove it from its list of children or that
+ the AT-Tool does not care for the events indicating
+ this.</p>
+ <p>Usually an object that has the
+ com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ state set has already
+ been disposed and subsequent calls to this object result in
+ ::com::sun::star::lang::DisposedException
+ exceptions.</p>
+ <p>If this state is set then no other of the states below is
+ set. This is also true for the states that are otherwise
+ always set (which makes "always" more of a sort of
+ "normally").</p></li>
+ <li>com::sun::star::accessibility::AccessibleStateType::EDITABLE
+ is always set.
+ This state is interpreted to mean that not only text but
+ also other, graphical, properties of a shape can be modified.
+ </li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::FOCUSED
+ is set according to
+ whether the shape currently has the focus.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::MULTI_LINE
+ is set if a shape supports the
+ ::com::sun::star::accessibility::XAccessibleText interface.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ is set for certain shapes
+ with certain attributes like for a filled rectangle.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::RESIZABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SELECTABLE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SELECTED
+ is set according to
+ whether the shape is currently selected.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.</li>
+ </ul>
+ <li>Locale: The shape returns the locale of its parent.</li>
+ <li>Property change listeners: Property change listeners that are
+ registered with a shape are informed of the usual events.</li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** Give access to the graphical representation of a shape.
+
+ <p>The bounding box returned by the
+ ::com::sun::star::accessibility::XAccessibleComponent::getBounds()
+ function returns the
+ shape's bounding box clipped at its parent's bounding box</p>
+
+ <p>An accessible shape tries as best as it can to return proper
+ values for calls to the
+ ::com::sun::star::accessibility::XAccessibleExtendedComponent::getForeground()
+ and
+ ::com::sun::star::accessibility::XAccessibleExtendedComponent::getBackground()
+ functions.
+ If the shape is painted with a uniform and non-transparent color
+ then the returned colors may differ from the ones visible on the
+ screen.</p>
+
+ <p>Key bindings are not supported at the moment</p>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ /** Give extended access to the graphical representation of a shape.
+
+ <p>The functions
+ ::com::sun::star::accessibility::XAccessibleExtendedComponent::getFont(),
+ ::com::sun::star::accessibility::XAccessibleExtendedComponent::getTitledBorderText(), and
+ ::com::sun::star::accessibility::XAccessibleExtendedComponent::getToolTipText()
+ are not supported and return empty references respectively empty
+ strings.</p>
+
+ <p>The support of this interface is optional to reduce overhead in
+ case that no text is displayed and color information can not be
+ determined with an acceptable cost.</p>
+ */
+ [optional] interface ::com::sun::star::accessibility::XAccessibleExtendedComponent;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */