diff options
Diffstat (limited to 'offapi/com/sun/star/drawing/AccessibleShape.idl')
-rw-r--r-- | offapi/com/sun/star/drawing/AccessibleShape.idl | 189 |
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: */ |