Update git submodules
[LibreOffice.git] / include / editeng / AccessibleComponentBase.hxx
blob343957f317ad77fefd31dafe103dce9059145cf2
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef INCLUDED_EDITENG_ACCESSIBLECOMPONENTBASE_HXX
21 #define INCLUDED_EDITENG_ACCESSIBLECOMPONENTBASE_HXX
23 #include <com/sun/star/accessibility/XAccessibleExtendedComponent.hpp>
24 #include <editeng/editengdllapi.h>
26 namespace accessibility
28 /** @descr
29 This base class provides (will provide) a base implementation of the
30 XAccessibleComponent and the
31 XAccessibleExtendedComponent for all shapes. For
32 more detailed documentation about the methods refer to the interface
33 descriptions of XAccessible,
34 XAccessibleContext, <type>XInterface</type>,
35 XServiceInfo, and <type>XTypeProvider</type>.
37 class EDITENG_DLLPUBLIC AccessibleComponentBase
38 : public css::accessibility::XAccessibleExtendedComponent
40 public:
41 //===== internal ========================================================
42 AccessibleComponentBase();
43 virtual ~AccessibleComponentBase();
45 //===== XAccessibleComponent ================================================
47 /** The default implementation uses the result of
48 <member>getBounds</member> to determine whether the given point lies
49 inside this object.
51 virtual sal_Bool SAL_CALL containsPoint(const css::awt::Point& aPoint) override;
53 /** The default implementation returns an empty reference.
55 virtual css::uno::Reference<css::accessibility::XAccessible>
56 SAL_CALL getAccessibleAtPoint(const css::awt::Point& aPoint) override;
58 /** The default implementation returns an empty rectangle.
60 virtual css::awt::Rectangle SAL_CALL getBounds() override;
62 /** The default implementation uses the result of
63 <member>getBounds</member> to determine the location.
65 virtual css::awt::Point SAL_CALL getLocation() override;
67 /** The default implementation returns an empty position, i.e. the
68 * result of the default constructor of css::awt::Point.
70 virtual css::awt::Point SAL_CALL getLocationOnScreen() override;
72 /** The default implementation uses the result of
73 <member>getBounds</member> to determine the size.
75 virtual css::awt::Size SAL_CALL getSize() override;
77 /** The default implementation does nothing.
79 virtual void SAL_CALL grabFocus() override;
81 /** Returns black as the default foreground color.
83 virtual sal_Int32 SAL_CALL getForeground() override;
85 /** Returns white as the default background color.
87 virtual sal_Int32 SAL_CALL getBackground() override;
89 //===== XAccessibleExtendedComponent ====================================
90 virtual OUString SAL_CALL getTitledBorderText() override;
91 virtual OUString SAL_CALL getToolTipText() override;
93 //===== XTypeProvider ===================================================
95 /// @throws css::uno::RuntimeException
96 virtual css::uno::Sequence<css::uno::Type> SAL_CALL getTypes();
99 } // end of namespace accessibility
101 #endif
103 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */