summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/accessibility/XAccessibleComponent.idl
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/accessibility/XAccessibleComponent.idl')
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleComponent.idl214
1 files changed, 214 insertions, 0 deletions
diff --git a/offapi/com/sun/star/accessibility/XAccessibleComponent.idl b/offapi/com/sun/star/accessibility/XAccessibleComponent.idl
new file mode 100644
index 000000000..181ab31ba
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleComponent.idl
@@ -0,0 +1,214 @@
+/* -*- 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_accessibility_XAccessibleComponent_idl__
+#define __com_sun_star_accessibility_XAccessibleComponent_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/XFocusListener.idl>
+#include <com/sun/star/awt/XFont.idl>
+#include <com/sun/star/awt/FontDescriptor.idl>
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/awt/Size.idl>
+#include <com/sun/star/util/Color.idl>
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessible;
+
+/** The XAccessibleComponent interface should be supported by
+ any class that can be rendered on the screen.
+
+ <p>This interface provides the standard mechanism for an assistive
+ technology to retrieve information concerning the graphical
+ representation of an object. This interface combines methods from
+ the Java interfaces <code>javax.accessibility.AccessibleComponent</code>
+ and <code>javax.accessibility.AccessibleExtendedComponent</code>.</p>
+
+ <p>Further information about the graphical appearance of an object can
+ be expressed with the XAccessibleExtendedComponent
+ interface.</p>
+
+ <p>Coordinates used by the functions of this interface are specified in
+ different coordinate systems. Their scale is the same and is equal to
+ that of the screen coordinate system. In other words all coordinates
+ are measured in pixel. They differ in their respective origin:
+ <ul><li>The screen coordinate system has its origin in the upper left
+ corner of the current screen. Used by the
+ getLocationOnScreen() function.</li>
+ <li>The origin of the parent coordinate system is the upper left corner
+ of the parent's bounding box. With no parent the screen coordinate
+ system is used instead. Used by the getLocation()
+ function.</li>
+ <li>The object coordinate system is relative to the upper left corner of
+ an object's bounding box. It is relative to itself so to speak. Used
+ by the containsPoint() and
+ getAccessibleAtPoint() functions.</li>
+ </ul></p>
+
+ <p>Key bindings which are associated with an accessible component can be
+ retrieved at the component's action. The reason for this is that key
+ bindings are associated with actions and directly with a component.
+ This distinction becomes important when there are more than one action.
+ To get access to the key bindings you have to get the
+ XAccessibleAction interface of a component, provided that
+ it is supported, and use the XAccessibleAction::getAccessibleKeyBinding().
+ </p>
+
+ @see XAccessibleExtendedComponent
+
+ @since OOo 1.1.2
+*/
+interface XAccessibleComponent : ::com::sun::star::uno::XInterface
+{
+ /** Tests whether the specified point lies within this object's bounds.
+
+ <p>The test point's coordinates are defined relative to the
+ coordinate system of the object. That means that when the object is
+ an opaque rectangle then both the points (0,0) and (with-1,height-1)
+ would yield a `TRUE` value.</p>
+
+ @param Point
+ Coordinates of the point to test. The origin of the coordinate
+ system is the upper left corner of the object's bounding box as
+ returned by the getBounds(). The scale of the
+ coordinate system is identical to that of the screen coordinate
+ system.
+
+ @return
+ Returns `TRUE` if the point lies within or on the object's bounding
+ box and `FALSE` otherwise.
+ */
+ boolean containsPoint ([in] ::com::sun::star::awt::Point Point);
+
+ /** Returns the Accessible child that is rendered under the given point.
+
+ <p>The test point's coordinates are defined relative to the
+ coordinate system of the object. That means that when the object is
+ an opaque rectangle then both the points (0,0) and (with-1,height-1)
+ would yield a `TRUE` value.</p>
+
+ @param Point
+ Coordinates of the test point for which to find the Accessible
+ child. The origin of the coordinate system is the upper left
+ corner of the object's bounding box as returned by the
+ getBounds(). The scale of the coordinate
+ system is identical to that of the screen coordinate system.
+
+ @return
+ If there is one child which is rendered so that its bounding box
+ contains the test point then a reference to that object is
+ returned. If there is more than one child which satisfies that
+ condition then a reference to that one is returned that is
+ painted on top of the others. If no there is no child which is
+ rendered at the test point an empty reference is returned.
+ */
+ XAccessible getAccessibleAtPoint ([in] ::com::sun::star::awt::Point Point);
+
+ /** Returns the bounding box of this object.
+
+ <p>The returned bounding box has the form of a rectangle. Its
+ coordinates are relative to the object's parent coordinate system.
+ Note that the two methods getLocation() and
+ getSize() return the same information. With method
+ getLocationOnScreen() you can get the bound box
+ position in screen coordinates.</p>
+
+ @return
+ The coordinates of the returned rectangle are relative to this
+ object's parent or relative to the screen on which this object
+ is rendered if it has no parent. If the object is not on any
+ screen the returned rectangle is empty and located at position
+ (0,0).
+ */
+ ::com::sun::star::awt::Rectangle getBounds ();
+
+ /** Returns the location of the upper left corner of the object's
+ bounding box relative to the parent.</p>
+
+ <p>The coordinates of the bounding box are given relative to the
+ parent's coordinate system.</p>
+
+ @return
+ The coordinates of the returned position are relative to this
+ object's parent or relative to the screen on which this object
+ is rendered if it has no parent. If the object is not on any
+ screen the returned position is (0,0).
+ */
+ ::com::sun::star::awt::Point getLocation ();
+
+ /** Returns the location of the upper left corner of the object's
+ bounding box in screen coordinates.
+
+ <p>This method returns the same point as does the method
+ getLocation(). The difference is that the
+ coordinates are absolute screen coordinates of the screen to which
+ the object is rendered instead of being relative to the object's
+ parent.</p>
+
+ @return
+ The coordinates of the returned position are relative to the
+ screen on which this object is rendered. If the object is not
+ on any screen the returned position is (0,0).
+ */
+ ::com::sun::star::awt::Point getLocationOnScreen ();
+
+ /** Returns the size of this object's bounding box.
+
+ @return
+ The returned size is the size of this object or empty if it is
+ not rendered on any screen.
+ */
+ ::com::sun::star::awt::Size getSize();
+
+ /** Grabs the focus to this object.
+
+ <p>If this object can not accept the focus,
+ i.e. isFocusTraversable() returns `FALSE` for this
+ object then nothing happens. Otherwise the object will attempt to
+ take the focus. Nothing happens if that fails, otherwise the object
+ has the focus. This method is called <code>requestFocus</code> in
+ the Java Accessibility API 1.4.</p>
+ */
+ void grabFocus ();
+
+ /** Returns the foreground color of this object.
+
+ @return
+ The returned color is the foreground color of this object or, if
+ that is not supported, the default foreground color.
+ */
+ ::com::sun::star::util::Color getForeground ();
+
+ /** Returns the background color of this object.
+
+ @return
+ The returned color is the background color of this object or, if
+ that is not supported, the default background color.
+ */
+ ::com::sun::star::util::Color getBackground ();
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */