make ValueTransfer easier to understand
[LibreOffice.git] / include / editeng / AccessibleComponentBase.hxx
blob80b0c2b9503047520534517877b5843bee999041
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 com::sun::star::accessibility
28 class XAccessible;
31 namespace accessibility
33 /** @descr
34 This base class provides (will provide) a base implementation of the
35 XAccessibleComponent and the
36 XAccessibleExtendedComponent for all shapes. For
37 more detailed documentation about the methods refer to the interface
38 descriptions of XAccessible,
39 XAccessibleContext, <type>XInterface</type>,
40 XServiceInfo, and <type>XTypeProvider</type>.
42 class EDITENG_DLLPUBLIC AccessibleComponentBase
43 : public css::accessibility::XAccessibleExtendedComponent
45 public:
46 //===== internal ========================================================
47 AccessibleComponentBase();
48 virtual ~AccessibleComponentBase();
50 //===== XAccessibleComponent ================================================
52 /** The default implementation uses the result of
53 <member>getBounds</member> to determine whether the given point lies
54 inside this object.
56 virtual sal_Bool SAL_CALL containsPoint(const css::awt::Point& aPoint) override;
58 /** The default implementation returns an empty reference.
60 virtual css::uno::Reference<css::accessibility::XAccessible>
61 SAL_CALL getAccessibleAtPoint(const css::awt::Point& aPoint) override;
63 /** The default implementation returns an empty rectangle.
65 virtual css::awt::Rectangle SAL_CALL getBounds() override;
67 /** The default implementation uses the result of
68 <member>getBounds</member> to determine the location.
70 virtual css::awt::Point SAL_CALL getLocation() override;
72 /** The default implementation returns an empty position, i.e. the
73 * result of the default constructor of css::awt::Point.
75 virtual css::awt::Point SAL_CALL getLocationOnScreen() override;
77 /** The default implementation uses the result of
78 <member>getBounds</member> to determine the size.
80 virtual css::awt::Size SAL_CALL getSize() override;
82 /** The default implementation does nothing.
84 virtual void SAL_CALL grabFocus() override;
86 /** Returns black as the default foreground color.
88 virtual sal_Int32 SAL_CALL getForeground() override;
90 /** Returns white as the default background color.
92 virtual sal_Int32 SAL_CALL getBackground() override;
94 //===== XAccessibleExtendedComponent ====================================
95 virtual css::uno::Reference<css::awt::XFont> SAL_CALL getFont() override;
96 virtual OUString SAL_CALL getTitledBorderText() override;
97 virtual OUString SAL_CALL getToolTipText() override;
99 //===== XTypeProvider ===================================================
101 /// @throws css::uno::RuntimeException
102 virtual css::uno::Sequence<css::uno::Type> SAL_CALL getTypes();
105 } // end of namespace accessibility
107 #endif
109 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */