diff options
author | Noel Grandin <noelgrandin@gmail.com> | 2022-07-03 20:29:28 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2022-07-08 10:10:11 +0200 |
commit | 8d8e6c84e512c1a8b33aac75965b84481d1a1d13 (patch) | |
tree | 9ed209d057081d4283eb44b51c0d9af18f976eab /starmath | |
parent | 911ac42485b690df5cbbff6e3c04b111c1723aca (diff) |
[API CHANGE] Drop css::accessibility::XAccessibleStateSet
which is internal API, unused (as far as I can tell) by external
users.
This state is purely a bitset
(as implemented by utl::AccessibleStateSetHelper)
so we can just return it as a 64-bit value.
This shaves significant time off the performance profiles
of code that loads very complex shapes, because this state
is frequently used, and we no longer need to allocate a return
value on the heap for every call.
Change-Id: Icf1b3bd367c256646ae9015f9127025f59459c2c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136786
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'starmath')
-rw-r--r-- | starmath/source/accessibility.cxx | 24 | ||||
-rw-r--r-- | starmath/source/accessibility.hxx | 2 |
2 files changed, 12 insertions, 14 deletions
diff --git a/starmath/source/accessibility.cxx b/starmath/source/accessibility.cxx index 591bbeafbba5..6bd7f4744e46 100644 --- a/starmath/source/accessibility.cxx +++ b/starmath/source/accessibility.cxx @@ -26,7 +26,6 @@ #include <com/sun/star/datatransfer/clipboard/XClipboard.hpp> #include <com/sun/star/datatransfer/clipboard/XFlushableClipboard.hpp> -#include <unotools/accessiblestatesethelper.hxx> #include <comphelper/accessibleeventnotifier.hxx> #include <cppuhelper/supportsservice.hxx> #include <osl/diagnose.h> @@ -323,33 +322,32 @@ Reference< XAccessibleRelationSet > SAL_CALL SmGraphicAccessible::getAccessibleR return new utl::AccessibleRelationSetHelper(); // empty relation set } -Reference< XAccessibleStateSet > SAL_CALL SmGraphicAccessible::getAccessibleStateSet() +sal_Int64 SAL_CALL SmGraphicAccessible::getAccessibleStateSet() { SolarMutexGuard aGuard; - rtl::Reference<::utl::AccessibleStateSetHelper> pStateSet = - new ::utl::AccessibleStateSetHelper; + sal_Int64 nStateSet = 0; if (!pWin) - pStateSet->AddState( AccessibleStateType::DEFUNC ); + nStateSet |= AccessibleStateType::DEFUNC; else { - pStateSet->AddState( AccessibleStateType::ENABLED ); - pStateSet->AddState( AccessibleStateType::FOCUSABLE ); + nStateSet |= AccessibleStateType::ENABLED; + nStateSet |= AccessibleStateType::FOCUSABLE; if (pWin->HasFocus()) - pStateSet->AddState( AccessibleStateType::FOCUSED ); + nStateSet |= AccessibleStateType::FOCUSED; if (pWin->IsActive()) - pStateSet->AddState( AccessibleStateType::ACTIVE ); + nStateSet |= AccessibleStateType::ACTIVE; if (pWin->IsVisible()) - pStateSet->AddState( AccessibleStateType::SHOWING ); + nStateSet |= AccessibleStateType::SHOWING; if (pWin->IsReallyVisible()) - pStateSet->AddState( AccessibleStateType::VISIBLE ); + nStateSet |= AccessibleStateType::VISIBLE; weld::DrawingArea* pDrawingArea = pWin->GetDrawingArea(); OutputDevice& rDevice = pDrawingArea->get_ref_device(); if (COL_TRANSPARENT != rDevice.GetBackground().GetColor()) - pStateSet->AddState( AccessibleStateType::OPAQUE ); + nStateSet |= AccessibleStateType::OPAQUE; } - return pStateSet; + return nStateSet; } Locale SAL_CALL SmGraphicAccessible::getLocale() diff --git a/starmath/source/accessibility.hxx b/starmath/source/accessibility.hxx index 0ea2c2f3686e..f462557d100d 100644 --- a/starmath/source/accessibility.hxx +++ b/starmath/source/accessibility.hxx @@ -98,7 +98,7 @@ public: virtual OUString SAL_CALL getAccessibleDescription( ) override; virtual OUString SAL_CALL getAccessibleName( ) override; virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet( ) override; - virtual css::uno::Reference< css::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet( ) override; + virtual sal_Int64 SAL_CALL getAccessibleStateSet( ) override; virtual css::lang::Locale SAL_CALL getLocale( ) override; // XAccessibleEventBroadcaster |