/************************************************************************* * * $RCSfile: AccessibleShape.idl,v $ * * $Revision: 1.5 $ * * last change: $Author: obo $ $Date: 2004-06-03 18:53:58 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses * * - GNU Lesser General Public License Version 2.1 * - Sun Industry Standards Source License Version 1.1 * * Sun Microsystems Inc., October, 2000 * * GNU Lesser General Public License Version 2.1 * ============================================= * Copyright 2000 by Sun Microsystems, Inc. * 901 San Antonio Road, Palo Alto, CA 94303, USA * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License version 2.1, as published by the Free Software Foundation. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * * Sun Industry Standards Source License Version 1.1 * ================================================= * The contents of this file are subject to the Sun Industry Standards * Source License Version 1.1 (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.openoffice.org/license.html. * * Software provided under this License is provided on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. * See the License for the specific provisions governing your rights and * obligations concerning the Software. * * The Initial Developer of the Original Code is: Sun Microsystems, Inc. * * Copyright: 2000 by Sun Microsystems, Inc. * * All Rights Reserved. * * Contributor(s): _______________________________________ * * ************************************************************************/ #ifndef __com_sun_star_drawing_AccessibleShape_idl__ #define __com_sun_star_drawing_AccessibleShape_idl__ #ifndef __com_sun_star_accessibility_XAccessible_idl__ #include #endif #ifndef __com_sun_star_accessibility_XAccessibleContext_idl__ #include #endif #ifndef __com_sun_star_accessibility_XAccessibleExtendedComponent_idl__ #include #endif module com { module sun { module star { module drawing { /** The AccessibleShape service is implemented by UNO shapes to provide accessibility information that describe the shapes' features. A UNO shape is any object that implements the XShape interface.

The content of a draw page is modeled 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 XAccessibleContext interface support for more details.

There are two services that extend this one: the AccessibleGraphicShape and the AccessibleOLEShape services provide additional interfaces. See there for details.

A shape object is either fully or partially visible on the screen or has set the AccessibleStateType::DEFUNC state to indicate that it is no longer actively supported by its parent.

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.

@since #107627# */ published service AccessibleShape { /** Base interface for being accessible. It gives access to the XAccessibleContext interface. */ interface ::com::sun::star::accessibility::XAccessible; /** Give access to the structural information of a shape.

You can access the following information for the shape being made accessible:

  • Role: The role of all shapes is AccessibleRole::SHAPE.
  • Name: The name of a shape is its localized type name.
  • 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.
  • 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 AccessibleParagraphView for details of how this text is represented.
  • Parent: The parent is either the document view as represented by AccessibleDrawDocumentView or a group shape, 3D scene shape, or OLE shape.
  • Relations: Are set and maintained from the outside. See the service description of the object that has accessible shapes as children for details.
  • States: The states supported by this service are:
    • 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.

      Usually an object that has the AccessibleStateType::DEFUNC state set has already been disposed and subsequent calls to this object result in DisposedException exceptions.

      If this state is set then no other of the states below is set. This is also true for the states that are otherwise allways set (which makes 'allways' more of a sort of 'normally').

    • 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.
    • AccessibleStateType::ENABLED is always set.
    • AccessibleStateType::FOCUSABLE is always set.
    • AccessibleStateType::FOCUSED is set according to whether the shape currently has the focus.
    • AccessibleStateType::MULTI_LINE is set if a shape supports the XAccessibleText interface.
    • AccessibleStateType::OPAQUE is set for certain shapes with certain attributes like for a filled rectangle.
    • AccessibleStateType::RESIZABLE is always set.
    • AccessibleStateType::SELECTABLE is always set.
    • AccessibleStateType::SELECTED is set according to whether the shape is currently selected.
    • AccessibleStateType::SHOWING is always set.
    • AccessibleStateType::VISIBLE is always set.
  • Locale: The shape returns the locale of its parent.
  • Property change listeners: Property change listeners that are registered with a shape are informed of the usual events.
*/ interface ::com::sun::star::accessibility::XAccessibleContext; /** Give access to the graphical representation of a shape.

The bounding box returned by the XAccessibleComponent::getBounds function returns the shape's bounding box clipped at its parent's bounding box

An accessible shape tries as best as it can to return proper values for calls to the XAccessibleExtendedComponent::getForeground and 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.

Key bindings are not supported at the moment

*/ interface ::com::sun::star::accessibility::XAccessibleComponent; /** Give extended access to the graphical representation of a shape.

The functions XAccessibleExtendedComponent::getFont, XAccessibleExtendedComponent::getTitledBorderText, and XAccessibleExtendedComponent::getToolTipText are not supported and return empty references respectively empty strings.

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.

*/ [optional] interface ::com::sun::star::accessibility::XAccessibleExtendedComponent; }; }; }; }; }; #endif