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

112 commits

Author SHA1 Message Date
Anthony Nicholls
e68627c9ed Smart Pointers: Add a new enum for indicating if a smart point should increment a reference count or not 2025-09-25 14:56:34 +01:00
attila
07a7c04d54 Android: Include Component enabled state in AccessibilityNodeInfo.setEnabled
A recent change made disabled components traversable by default when
using a screen reader. This change makes TalkBack report such components
as disabled.
2025-07-10 13:51:12 +02:00
reuk
f904fd356a
Android: Improve screen safe-area reporting
The goal of this change is to ensure that the safeAreaInsets and
keyboardInsets members of Display correctly take the current system UI
and screen cutouts into account.

This change also enables rendering behind the status bar and navigation
bar for JUCE applications. This is in line with the new defaults in
Android 15, where building against the Android SDK 35 will automatically
enable "edge-to-edge" drawing. Enabling this behaviour on older
platforms too provides a more consistent experience.
2025-06-03 16:08:20 +01:00
reuk
51be8b9332
Android: Remove unnecessary SDK version checks 2025-03-19 11:06:17 +00:00
reuk
2d01e326db
ObjCHelpers: Rename makeCGRect from makeNSRect 2025-01-23 12:20:27 +00:00
reuk
269ebbb525
Accessibility: Add AccessibilityHandler::postSystemNotification() function for posting an OS-specific accessible notification 2024-12-04 11:11:21 +00:00
reuk
80ac9a78a0
Singleton: Add new macros to simplify singleton creation
The INLINE macros allow singletons to be declared and defined in one
line, without requiring a separate JUCE_IMPLEMENT_SINGLETON statement.
2024-10-16 10:36:52 +01:00
reuk
8ba2dc2ae2
Platform: Remove compatibility checks for Android 20 and earlier 2024-07-03 13:45:37 +01:00
reuk
5391032238
Platform: Remove compatibility checks for iOS 11 2024-07-02 18:06:28 +01:00
reuk
8ac7bfc9ca
Platform: Remove compatibility checks for macOS 10.10 2024-07-02 18:06:27 +01:00
reuk
6d4bf60330
Platform: Remove compatibility checks for macOS 10.9 2024-07-02 18:06:27 +01:00
reuk
9112911122
MinGW: Remove support 2024-06-27 18:10:21 +01:00
reuk
1f9ba0682c
ComSmartPtr: Make ownership more explicit
COM objects now always start with a refcount of 1, as is convention.
2024-04-16 21:07:45 +01:00
Tom Poole
94d98a2b10 Update licensing information 2024-04-16 11:39:35 +01:00
Anthony Nicholls
fe00442335 Copyright: Fix incorrect or inconsistent copyright notices 2024-03-25 10:22:58 +00:00
attila
387eea5f51 MacOS: Accessibility: Fix returning ignored native element in accessibilityChildren
This fixes a bug, where VoiceOver would interact with the InnerNSView in
the AudioPluginHost. Instead the focus now jumps from the minimise
button directly to the plugin's first accessible element.

On MacOS the rule is: when returning accessibilityChildren an ignored
child must be replaced with its own children. When returning the
accessibilityParent, an ignored element must be replaced with its own
parent.
2023-11-08 16:42:59 +01:00
attila
8f2a2ddeea MacOS: Accessibility: Fix ToggleButton state reporting
The accessibilityValue method of the AccessibilityCheckBox and
AccessibilityRadioButton protocols is required to return a
boolean valued NSNumber.
2023-10-13 15:47:39 +02:00
Tom Poole
6bf9bb9a2e Add final specifiers in implementation files 2023-10-10 16:12:38 +01:00
Anthony Nicholls
158220ddfa Formatting: Use nested namespace definitions 2023-10-09 14:49:18 +01:00
Tom Poole
9b041f3d74 Add a base clang-tidy configuration 2023-09-18 11:24:19 +01:00
attila
cd17f96eb7 Fix MinGW build 2023-06-12 16:05:13 +02:00
attila
f16a430f08 Windows: Fix potential accessibility related leaks 2023-06-08 16:07:11 +00:00
attila
18489bb7d7 WebBrowserComponent: iOS: Add accessibility integration 2023-06-08 16:07:11 +00:00
attila
f519af3b62 WebBrowserComponent: Android: Add accessibility integration 2023-06-08 16:07:11 +00:00
attila
d8c282e293 WebBrowserComponent: MacOS: Add accessibility integration 2023-06-08 16:07:11 +00:00
attila
7657efd227 WebBrowserComponent: Windows: Add accessibility integration 2023-06-08 16:07:11 +00:00
Anthony Nicholls
f5cd9547dd Tidy divider comments 2023-05-26 09:04:21 +01:00
attila
73459411ba Android: Fix accessibility on newer Android versions
This commit fixes a bug where a View would be registered as it's own
parent in the accessibility hierarchy leading to stack overflows in the
Android accessibility service. The issue affected up-to-date Android 13
systems and potentially older systems with updated accessibility
services.
2023-04-25 16:28:11 +02:00
Anthony Nicholls
05d5c94990
Native: Rename all native files for improved consistency 2023-04-04 19:54:29 +01:00
Anthony Nicholls
cff722a4af GUI Basics: Refactor juce_gui_basics file structure
- Created a new detail namespace
- Moved shared module implementation details into the detail namespace
- Split dependencies so source files only rely on details in the detail namespace
- Removed all code from the juce_gui_basics.cpp file
2023-03-16 08:53:12 +00:00
reuk
28ad953a3a
Xcode: Fix nullability warnings in Xcode 14.3 2023-03-02 12:03:32 +00:00
reuk
92a19a9ea2
Android: Fix accessibility compatibility issues with older devices 2023-02-15 22:23:56 +00:00
reuk
da38c1ed2a
TextInputTarget: Improve IME support on Android 2022-12-07 13:12:02 +00:00
reuk
65f1a76614
Tidy up parameter pack expansions 2022-09-12 16:14:57 +01:00
reuk
045214c986
Build: Allow building with llvm-mingw headers 2022-09-12 16:14:57 +01:00
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