1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-19 01:04:20 +00:00
Commit graph

77 commits

Author SHA1 Message Date
reuk
7545fbcf3e
macOS: Remove macOS 10.13 preprocessor checks
The current minimum-supported Xcode (10.1) includes the macOS 10.14.1
SDK, so APIs from macOS 10.13 will always be available.
2022-08-04 22:51:17 +01:00
reuk
a22b23e335
iOS: Remove iOS 11 preprocessor checks
The current minimum-supported Xcode (10.1) includes the iOS 12.1 SDK, so
APIs from iOS 10 will always be available.
2022-08-04 22:51:17 +01:00
reuk
46c259b90e
Android: Fix crashes on startup for devices with older API levels 2022-08-04 22:51:16 +01:00
reuk
5cf1a964fc
iOS: Add proper UITextInput implementation
This provides an improved user experience, allowing cursor movement
directly from the keyboard.
2022-07-29 18:54:50 +01:00
reuk
921d86e586
Accessibility: Improve table navigation, row/column index/header reporting 2022-07-29 18:54:50 +01:00
reuk
dd92f66387
Accessibility: Correctly report number of disclosed rows in TreeView on macOS 2022-07-29 18:54:10 +01:00
reuk
081412eb13
Mac Accessibility: Tidying 2022-07-29 18:54:09 +01:00
reuk
4e09161986
Accessibility: Tidy up static functions 2022-07-29 18:54:09 +01:00
reuk
285761c56c
Accessibility: Fix hit test behaviour on iOS 2022-07-29 18:54:09 +01:00
reuk
12fdf6bad8
Accessibility: Stop AccessibilityContainers from also being instances of AccessibilityElement 2022-07-29 18:54:09 +01:00
reuk
707767fa4c
Accessibility: Multiple table fixes
- Fixes an off-by-one error when navigating by rows, caused by treating
  the table header as a row. The table header now has the header
  accessibility role.
- Fixes a bug where reordering table columns would cause the table to
  become inaccessible.
- Fixes a bug where the screen reader would try to navigate hidden table
  columns.
- Fixes an issue where moving the VoiceOver cursor to a partially hidden
  cell would cause the focus to move to the table itself, rather than to
  the cell.
2022-07-29 18:54:09 +01:00
reuk
9c0786e4fe AccessibilityTextHelpers: Fix MSVC/C++20 build issues 2022-06-24 18:37:27 +01:00
reuk
1c10e0c79b
Android: Fix problems with accessible text navigation
Previously, when navigating in a text editor by words, the cursor would
get 'stuck' after moving a single word. This issue should now be
resolved.

Additionally, the cursor position was not updated properly when
adjusting a selection, and would instead be moved to the end of the
selected range. With this patch applied, the cursor should now be set to
the correct position when modifying selections. When extending a
selection backwards, the cursor will display at the beginning of the
selected range, rather than the end.

Finally, most Android apps announce the 'skipped' characters or words
whenever the cursor is moved, but this feature was broken in JUCE. This
patch enables this feature.
2022-06-13 15:29:57 +01:00
reuk
2b1745272e
Android: Fix a couple of accessibility-related crashes
These crashes could be seen in the DemoRunner when selecting items in
nested PopupMenu windows.
2022-06-13 15:29:56 +01:00
attila
7c66dc8e15 Slider: Add keyboard control even without accessibility 2022-06-09 16:24:00 +02:00
Tom Poole
2ec861d99e Update licensing banners to JUCE 7 2022-05-16 17:55:48 +01:00
Tom Poole
db3c6e6216 macOS/iOS: Fix unguarded availability warnings 2022-04-26 15:37:03 +01:00
reuk
19ddbe2368
Warnings: Fix missing-prototypes warnings 2022-04-22 14:18:48 +01:00
Tom Poole
dea3fe60e4 Update copyright banners 2022-04-04 12:36:32 +01:00
reuk
55a8e10262
Mac Accessibility: Provide slightly more descriptive value states for checkable items 2022-03-07 11:03:55 +00:00
reuk
7b1fba4bae
Windows Accessibility: Fixed backspace character reporting under NVDA
The change introduced in 92f350e617 led to
a regression in the MoveEndpointByUnit function. In this case, a
backward movement by a single character *should* move the endpoint as
long as it remains within the text range.

The issue addressed by the faulty commit is better fixed by
special-casing the 'character' unit case in the ExpandToEnclosingUnit
function.
2022-03-07 11:03:54 +00:00
attila
54ea55325f Windows Accessibility: Only call UiaDisconnectAllProviders in
standalone apps

This change fixes a crash in Reaper when closing a plugin window
with ALT + F4.
2022-02-24 14:07:04 +01:00
reuk
92f350e617
Windows Accessibility: Fix single-character range/boundary calculation
Narrator on Windows seems to call ExpandToEnclosingUnit to find the
character immediately following the current cursor position. When
expanding a degenerate range with position `input` (used to represent
the cursor position) to a single-character range, the returned range
should start at `input` and end at `input+1`. Previously,
findTextBoundary() would always return the position before
currentPosition when searching backwards by character, so the result of
ExpandToEnclosingUnit would be off-by-one when expanding to the closest
character.
2022-02-18 16:43:26 +00:00
reuk
53600d2d9e iOS Accessibility: Allow navigating tables by rows 2022-02-07 14:24:11 +00:00
reuk
ea92834845
Accessibility: Explicitly implement protocols
This change is intended to resolve an issue where iOS apps failed
automated review due to use of non-public selectors. Explicitly adopting
the relevant protocols allowed an app to pass automated review during
testing.
2022-02-01 11:07:34 +00:00
Tom Poole
c072b1bc8e Fix some typos 2022-01-25 11:48:46 +00:00
reuk
640194c878
MinGW: Improve compatibility
With this patch applied, the DemoRunner should build under MinGW, and be
(nearly) feature-complete compared to the MSVC build.

Specifically, when building with MinGW:
- Adds support for accessibility
- Fixes build issues in the juce_video module
- Fixes a link issue in the VST3 wrapper when VST3_CAN_REPLACE_VST2 is
  defined
- Adds support for the new-style native FileChooser
- Tidies up some other low-severity warnings

Known issues:
- Direct2D rendering is still not supported when building with MinGW due
  to ABI compatibilities.
2022-01-17 10:58:18 +00:00
reuk
12b7a8f9d1
Accessibility: Prefer toggle action to press action for checkable items 2022-01-17 10:58:17 +00:00
reuk
81fa777ff7
ObjC Helpers: Automatically derive appropriate signature for function 2021-11-24 11:51:11 +00:00
ed
ab1d18ed92 Whitespace 2021-11-23 12:22:13 +00:00
ed
9c5b76a5ac Windows Accessibility: Ensure that UiaDisconnectProvider() is called with a valid provider pointer 2021-11-23 12:22:13 +00:00
ed
82bcad9d30 Windows Accessibility: Only send window open/close events for main application windows to fix COM ref-counting leak 2021-11-23 12:22:13 +00:00
ed
66f8af98e7 Windows Accessibility: Don't set UIA_NamePropertyId of ignored elements to prevent it from being read out by Narrator 2021-10-29 14:04:40 +01:00
ed
aabd65b0fd Text: Fix some build issues when JUCE_STRING_UTF_TYPE != 8 2021-10-14 16:52:31 +01:00
ed
428260a6fd Whitespace 2021-10-14 12:31:17 +01:00
ed
7d1918b385 macOS/iOS: Replace compile-time deployment target checks with runtime checks using the available keyword 2021-10-13 15:06:18 +01:00
ed
0b844b7d88 Windows Accessibility: Implement AccessibilityEvent::valueChanged 2021-10-08 17:19:03 +01:00
ed
f70fd14065 iOS Accessibility: Implement accessibilityPerformEscape gesture to dismiss modals 2021-10-08 17:19:03 +01:00
ed
e1d1dd380c iOS: Fix compatibility when targeting older SDK versions 2021-10-08 17:18:32 +01:00
ed
a435026b24 macOS: Use available keyword instead of preprocessor version checks where possible 2021-09-29 16:13:48 +01:00
ed
1658d3f9ab Obj-C++: Remove JUCE_OBJC_HAS_AVAILABLE_FEATURE define 2021-09-29 16:13:09 +01:00
ed
a7915ec47e iOS/macOS Accessibility: Tidy up shared value getter 2021-09-23 15:07:53 +01:00
ed
2abf68d866 iOS Accessibility: Create UIAccessibilityReadingContent protocol-conforming classes dynamically for text elements 2021-09-23 15:07:47 +01:00
ed
a6db2ef4ff iOS Accessibility: Fix a potential use-after-free when deallocating a container element 2021-09-23 15:07:30 +01:00
ed
ae8662ce6d macOS Accessibility: Silence some unguarded-selector warnings 2021-09-15 14:04:23 +01:00
ed
b65dc65bc2 Android Accessibility: Don't send accessibility events when inside populateNodeInfo() callback
Calling AccessibilityHandler::getChildren() or getParent() may cause an AccessibilityHandler object to be created and an InternalAccessibilityEvent::elementCreated notification to be sent. Calling AndroidAccessibilityEvent.setSource may then cause a recursive populateNodeInfo() call.
2021-09-15 14:03:46 +01:00
ed
d8214732ed Android Accessibility: Send appropriate content change types for TYPE_WINDOW_CONTENT_CHANGED accessibility event 2021-09-15 14:03:07 +01:00
ed
dd08be6215 Android Accessibility: Guard app context calls in a few places to prevent potential nullptr dereferences 2021-09-07 11:23:17 +01:00
ed
d1f16f0643 Accessibility: Add missing static keyword to areAnyAccessibilityClientsActive() implementations 2021-08-13 09:36:02 +01:00
ed
dd18711493 iOS: Use UIAccessibilityContainer methods for correct accessibility hierarchy and navigation 2021-08-13 09:35:52 +01:00