1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

Accessibility: Remove redundant method declaration and general fixups

This commit is contained in:
ed 2021-07-28 09:46:30 +01:00
parent 17ca903aaa
commit 588e776bb6
8 changed files with 95 additions and 115 deletions

View file

@ -65,6 +65,12 @@ namespace
return CGPointMake ((CGFloat) p.x, (CGFloat) p.y);
}
template <class PointType>
Point<int> roundToIntPoint (PointType p) noexcept
{
return { roundToInt (p.x), roundToInt (p.y) };
}
#if JUCE_MAC
inline CGFloat getMainScreenHeight() noexcept
{
@ -85,12 +91,6 @@ namespace
p.y = getMainScreenHeight() - p.y;
return p;
}
template <class PointType>
Point<int> convertToIntPoint (PointType p) noexcept
{
return Point<int> (roundToInt (p.x), roundToInt (p.y));
}
#endif
}

View file

@ -28,8 +28,6 @@ namespace juce
AccessibilityHandler* AccessibilityHandler::currentlyFocusedHandler = nullptr;
bool areAnyAccessibilityClientsActive();
enum class InternalAccessibilityEvent
{
elementCreated,

View file

@ -314,15 +314,9 @@ private:
//==============================================================================
class AccessibilityNativeImpl;
std::unique_ptr<AccessibilityNativeImpl> nativeImpl;
struct DestroyNativeImpl
{
void operator() (AccessibilityNativeImpl*) const noexcept;
};
static AccessibilityNativeImpl* createNativeImpl (AccessibilityHandler&);
std::unique_ptr<AccessibilityNativeImpl, DestroyNativeImpl> nativeImpl;
static std::unique_ptr<AccessibilityNativeImpl> createNativeImpl (AccessibilityHandler&);
//==============================================================================
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AccessibilityHandler)

View file

@ -340,16 +340,22 @@ bool getComponentAsyncLayerBackedViewDisabled (juce::Component& comp)
#endif
#if ! JUCE_NATIVE_ACCESSIBILITY_INCLUDED
namespace juce
{
#if ! JUCE_NATIVE_ACCESSIBILITY_INCLUDED
class AccessibilityHandler::AccessibilityNativeImpl { public: AccessibilityNativeImpl (AccessibilityHandler&) {} };
void AccessibilityHandler::notifyAccessibilityEvent (AccessibilityEvent) const {}
void AccessibilityHandler::postAnnouncement (const String&, AnnouncementPriority) {}
AccessibilityNativeHandle* AccessibilityHandler::getNativeImplementation() const { return nullptr; }
AccessibilityHandler::AccessibilityNativeImpl* AccessibilityHandler::createNativeImpl (AccessibilityHandler&) { return nullptr; }
void AccessibilityHandler::DestroyNativeImpl::operator() (AccessibilityHandler::AccessibilityNativeImpl*) const noexcept {}
bool areAnyAccessibilityClientsActive() { return false; }
void notifyAccessibilityEventInternal (const AccessibilityHandler&, InternalAccessibilityEvent) {}
std::unique_ptr<AccessibilityHandler::AccessibilityNativeImpl> AccessibilityHandler::createNativeImpl (AccessibilityHandler&)
{
return nullptr;
}
#else
std::unique_ptr<AccessibilityHandler::AccessibilityNativeImpl> AccessibilityHandler::createNativeImpl (AccessibilityHandler& handler)
{
return std::make_unique<AccessibilityNativeImpl> (handler);
}
#endif
}
#endif

View file

@ -295,7 +295,7 @@ private:
{
if (auto* handler = getHandler (self))
{
if (auto* child = handler->getChildAt (convertToIntPoint (flippedScreenPoint (point))))
if (auto* child = handler->getChildAt (roundToIntPoint (flippedScreenPoint (point))))
return (id) child->getNativeImplementation();
return self;
@ -401,38 +401,43 @@ private:
{
switch (handler->getRole())
{
case AccessibilityRole::button: return NSAccessibilityButtonRole;
case AccessibilityRole::toggleButton: return NSAccessibilityCheckBoxRole;
case AccessibilityRole::radioButton: return NSAccessibilityRadioButtonRole;
case AccessibilityRole::comboBox: return NSAccessibilityPopUpButtonRole;
case AccessibilityRole::image: return NSAccessibilityImageRole;
case AccessibilityRole::slider: return NSAccessibilitySliderRole;
case AccessibilityRole::label: return NSAccessibilityStaticTextRole;
case AccessibilityRole::staticText: return NSAccessibilityStaticTextRole;
case AccessibilityRole::editableText: return NSAccessibilityTextAreaRole;
case AccessibilityRole::menuItem: return NSAccessibilityMenuItemRole;
case AccessibilityRole::menuBar: return NSAccessibilityMenuRole;
case AccessibilityRole::popupMenu: return NSAccessibilityWindowRole;
case AccessibilityRole::table: return NSAccessibilityListRole;
case AccessibilityRole::tableHeader: return NSAccessibilityGroupRole;
case AccessibilityRole::column: return NSAccessibilityColumnRole;
case AccessibilityRole::row: return NSAccessibilityRowRole;
case AccessibilityRole::cell: return NSAccessibilityCellRole;
case AccessibilityRole::hyperlink: return NSAccessibilityLinkRole;
case AccessibilityRole::list: return NSAccessibilityOutlineRole;
case AccessibilityRole::listItem: return NSAccessibilityRowRole;
case AccessibilityRole::tree: return NSAccessibilityOutlineRole;
case AccessibilityRole::treeItem: return NSAccessibilityRowRole;
case AccessibilityRole::progressBar: return NSAccessibilityProgressIndicatorRole;
case AccessibilityRole::group: return NSAccessibilityGroupRole;
case AccessibilityRole::dialogWindow: return NSAccessibilityWindowRole;
case AccessibilityRole::window: return NSAccessibilityWindowRole;
case AccessibilityRole::scrollBar: return NSAccessibilityScrollBarRole;
case AccessibilityRole::tooltip: return NSAccessibilityWindowRole;
case AccessibilityRole::splashScreen: return NSAccessibilityWindowRole;
case AccessibilityRole::ignored: return NSAccessibilityUnknownRole;
case AccessibilityRole::unspecified: return NSAccessibilityGroupRole;
default: break;
case AccessibilityRole::popupMenu:
case AccessibilityRole::tooltip:
case AccessibilityRole::splashScreen:
case AccessibilityRole::dialogWindow:
case AccessibilityRole::window: return NSAccessibilityWindowRole;
case AccessibilityRole::tableHeader:
case AccessibilityRole::unspecified:
case AccessibilityRole::group: return NSAccessibilityGroupRole;
case AccessibilityRole::label:
case AccessibilityRole::staticText: return NSAccessibilityStaticTextRole;
case AccessibilityRole::tree:
case AccessibilityRole::list: return NSAccessibilityOutlineRole;
case AccessibilityRole::listItem:
case AccessibilityRole::treeItem: return NSAccessibilityRowRole;
case AccessibilityRole::button: return NSAccessibilityButtonRole;
case AccessibilityRole::toggleButton: return NSAccessibilityCheckBoxRole;
case AccessibilityRole::radioButton: return NSAccessibilityRadioButtonRole;
case AccessibilityRole::comboBox: return NSAccessibilityPopUpButtonRole;
case AccessibilityRole::image: return NSAccessibilityImageRole;
case AccessibilityRole::slider: return NSAccessibilitySliderRole;
case AccessibilityRole::editableText: return NSAccessibilityTextAreaRole;
case AccessibilityRole::menuItem: return NSAccessibilityMenuItemRole;
case AccessibilityRole::menuBar: return NSAccessibilityMenuRole;
case AccessibilityRole::table: return NSAccessibilityListRole;
case AccessibilityRole::column: return NSAccessibilityColumnRole;
case AccessibilityRole::row: return NSAccessibilityRowRole;
case AccessibilityRole::cell: return NSAccessibilityCellRole;
case AccessibilityRole::hyperlink: return NSAccessibilityLinkRole;
case AccessibilityRole::progressBar: return NSAccessibilityProgressIndicatorRole;
case AccessibilityRole::scrollBar: return NSAccessibilityScrollBarRole;
case AccessibilityRole::ignored: break;
}
return NSAccessibilityUnknownRole;
@ -637,7 +642,7 @@ private:
{
if (auto* textInterface = handler->getTextInterface())
{
auto screenPoint = convertToIntPoint (flippedScreenPoint (position));
auto screenPoint = roundToIntPoint (flippedScreenPoint (position));
if (handler->getComponent().getScreenBounds().contains (screenPoint))
{
@ -1141,16 +1146,6 @@ void AccessibilityHandler::postAnnouncement (const String& announcementString, A
}
}
AccessibilityHandler::AccessibilityNativeImpl* AccessibilityHandler::createNativeImpl (AccessibilityHandler& handler)
{
return new AccessibilityHandler::AccessibilityNativeImpl (handler);
}
void AccessibilityHandler::DestroyNativeImpl::operator() (AccessibilityHandler::AccessibilityNativeImpl* impl) const noexcept
{
delete impl;
}
#endif
} // namespace juce

View file

@ -193,7 +193,7 @@ void AccessibilityHandler::notifyAccessibilityEvent (AccessibilityEvent eventTyp
sendAccessibilityPropertyChangedEvent (*this, UIA_NamePropertyId, newValue);
}
auto event = [eventType] () -> EVENTID
auto event = [eventType]() -> EVENTID
{
switch (eventType)
{
@ -259,16 +259,6 @@ void AccessibilityHandler::postAnnouncement (const String& announcementString, A
}
}
AccessibilityHandler::AccessibilityNativeImpl* AccessibilityHandler::createNativeImpl (AccessibilityHandler& handler)
{
return new AccessibilityHandler::AccessibilityNativeImpl (handler);
}
void AccessibilityHandler::DestroyNativeImpl::operator() (AccessibilityHandler::AccessibilityNativeImpl* impl) const noexcept
{
delete impl;
}
//==============================================================================
namespace WindowsAccessibility
{

View file

@ -50,41 +50,45 @@ static String getAutomationId (const AccessibilityHandler& handler)
return result;
}
static long roleToControlTypeId (AccessibilityRole roleType)
static auto roleToControlTypeId (AccessibilityRole roleType)
{
switch (roleType)
{
case AccessibilityRole::button: return UIA_ButtonControlTypeId;
case AccessibilityRole::toggleButton: return UIA_CheckBoxControlTypeId;
case AccessibilityRole::radioButton: return UIA_RadioButtonControlTypeId;
case AccessibilityRole::comboBox: return UIA_ComboBoxControlTypeId;
case AccessibilityRole::image: return UIA_ImageControlTypeId;
case AccessibilityRole::slider: return UIA_SliderControlTypeId;
case AccessibilityRole::label: return UIA_TextControlTypeId;
case AccessibilityRole::staticText: return UIA_TextControlTypeId;
case AccessibilityRole::editableText: return UIA_EditControlTypeId;
case AccessibilityRole::menuItem: return UIA_MenuItemControlTypeId;
case AccessibilityRole::menuBar: return UIA_MenuBarControlTypeId;
case AccessibilityRole::popupMenu: return UIA_WindowControlTypeId;
case AccessibilityRole::table: return UIA_TableControlTypeId;
case AccessibilityRole::tableHeader: return UIA_HeaderControlTypeId;
case AccessibilityRole::column: return UIA_HeaderItemControlTypeId;
case AccessibilityRole::row: return UIA_HeaderItemControlTypeId;
case AccessibilityRole::cell: return UIA_DataItemControlTypeId;
case AccessibilityRole::hyperlink: return UIA_HyperlinkControlTypeId;
case AccessibilityRole::list: return UIA_ListControlTypeId;
case AccessibilityRole::listItem: return UIA_ListItemControlTypeId;
case AccessibilityRole::tree: return UIA_TreeControlTypeId;
case AccessibilityRole::treeItem: return UIA_TreeItemControlTypeId;
case AccessibilityRole::progressBar: return UIA_ProgressBarControlTypeId;
case AccessibilityRole::group: return UIA_GroupControlTypeId;
case AccessibilityRole::dialogWindow: return UIA_WindowControlTypeId;
case AccessibilityRole::window: return UIA_WindowControlTypeId;
case AccessibilityRole::scrollBar: return UIA_ScrollBarControlTypeId;
case AccessibilityRole::tooltip: return UIA_ToolTipControlTypeId;
case AccessibilityRole::splashScreen: return UIA_WindowControlTypeId;
case AccessibilityRole::ignored: return UIA_CustomControlTypeId;
case AccessibilityRole::unspecified: return UIA_CustomControlTypeId;
case AccessibilityRole::popupMenu:
case AccessibilityRole::dialogWindow:
case AccessibilityRole::splashScreen:
case AccessibilityRole::window: return UIA_WindowControlTypeId;
case AccessibilityRole::label:
case AccessibilityRole::staticText: return UIA_TextControlTypeId;
case AccessibilityRole::column:
case AccessibilityRole::row: return UIA_HeaderItemControlTypeId;
case AccessibilityRole::button: return UIA_ButtonControlTypeId;
case AccessibilityRole::toggleButton: return UIA_CheckBoxControlTypeId;
case AccessibilityRole::radioButton: return UIA_RadioButtonControlTypeId;
case AccessibilityRole::comboBox: return UIA_ComboBoxControlTypeId;
case AccessibilityRole::image: return UIA_ImageControlTypeId;
case AccessibilityRole::slider: return UIA_SliderControlTypeId;
case AccessibilityRole::editableText: return UIA_EditControlTypeId;
case AccessibilityRole::menuItem: return UIA_MenuItemControlTypeId;
case AccessibilityRole::menuBar: return UIA_MenuBarControlTypeId;
case AccessibilityRole::table: return UIA_TableControlTypeId;
case AccessibilityRole::tableHeader: return UIA_HeaderControlTypeId;
case AccessibilityRole::cell: return UIA_DataItemControlTypeId;
case AccessibilityRole::hyperlink: return UIA_HyperlinkControlTypeId;
case AccessibilityRole::list: return UIA_ListControlTypeId;
case AccessibilityRole::listItem: return UIA_ListItemControlTypeId;
case AccessibilityRole::tree: return UIA_TreeControlTypeId;
case AccessibilityRole::treeItem: return UIA_TreeItemControlTypeId;
case AccessibilityRole::progressBar: return UIA_ProgressBarControlTypeId;
case AccessibilityRole::group: return UIA_GroupControlTypeId;
case AccessibilityRole::scrollBar: return UIA_ScrollBarControlTypeId;
case AccessibilityRole::tooltip: return UIA_ToolTipControlTypeId;
case AccessibilityRole::ignored:
case AccessibilityRole::unspecified: break;
};
return UIA_CustomControlTypeId;
@ -245,8 +249,6 @@ JUCE_COMRESULT AccessibilityNativeHandle::GetPatternProvider (PATTERNID pId, IUn
break;
}
default:
break;
}
return nullptr;
@ -328,9 +330,6 @@ JUCE_COMRESULT AccessibilityNativeHandle::GetPropertyValue (PROPERTYID propertyI
VariantHelpers::setInt ((int) (pointer_sized_int) accessibilityHandler.getComponent().getWindowHandle(), pRetVal);
break;
default:
break;
}
return S_OK;

View file

@ -351,8 +351,6 @@ private:
VariantHelpers::setInt (caretPos, pRetVal);
break;
}
default:
break;
}
return S_OK;