summaryrefslogtreecommitdiff
path: root/starmath
diff options
context:
space:
mode:
authorNoel Grandin <noelgrandin@gmail.com>2022-07-03 20:29:28 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2022-07-08 10:10:11 +0200
commit8d8e6c84e512c1a8b33aac75965b84481d1a1d13 (patch)
tree9ed209d057081d4283eb44b51c0d9af18f976eab /starmath
parent911ac42485b690df5cbbff6e3c04b111c1723aca (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.cxx24
-rw-r--r--starmath/source/accessibility.hxx2
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