1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-02-02 03:20:06 +00:00
Commit graph

1026 commits

Author SHA1 Message Date
reuk
ea6d095ab5
XWindowSystem: Implement createSnapshotOfNativeWindow 2021-09-28 11:31:49 +01:00
reuk
31500551e1
Move declaration of createSnapshotOfNativeWindow to module header 2021-09-28 11:31:49 +01:00
reuk
6c59a31456
Win32 Windowing: Fix uninitialised data members warning 2021-09-28 11:31:49 +01:00
reuk
836b6edbce
Mac MainMenu: Allow main menu items to be disabled 2021-09-28 11:31:48 +01:00
reuk
0f3e3d365a
iOS: Use safeAreaInsets API on supported platforms, even when deployment target is low
This fixes an issue where building with an old deployment target would
cause apps to display in "unsafe" screen areas.
2021-09-28 11:31:48 +01:00
reuk
7504fa065b
FileChooser: In Linux FileChoosers, prefer to open files rather than directories if both are requested
Zenity and Kdialog only support opening either files or directories
during a single invocation.
2021-09-27 12:48:59 +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
reuk
f989182f32
Linux windowing: Display utf-8 native window titles correctly 2021-09-21 11:01:31 +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
74a83440e2 Android Accessibility: Check for valid host pointer when calling into C++ peer code from Java accessibility callbacks 2021-09-15 14:02:15 +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
baa1bbafdf Windows: Fall back to old-style modal dialog when showing native message box modally since TaskDialog does not support fully modal dialogs 2021-09-02 12:33:59 +01:00
ed
06ca1156e1 macOS Accessibility: Always set our NSWindow as accessible so its title bar is navigable 2021-09-02 08:35:14 +01:00
ed
f5eee033ba NativeMessageBox: Return correctly mapped value when shown modally 2021-09-02 08:35:14 +01:00
ed
3b97c40c2d iOS: Fix a crash in NativeMessageBox implementation when shown modally 2021-09-02 08:35:14 +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
ed
17fe5a54d8 iOS: Removed private API method 2021-08-13 09:35:42 +01:00
reuk
087cda7e1f
HWNDComponentPeer: Fix reentrancy bug in DPICHANGED handler
Sometimes, changing the bounds of the window inside the DPICHANGED
handler can cause further DPI change events to be processed. Previously,
the scaleFactor set by the "inner" events was also being used when
notifying listeners about the "outer" events, leading to graphical
glitches.

An effect of the bug was that VST2 views in the AudioPluginHost would
occasionally render with an incorrect size and position after dragging
them between displays with different scale factors.

With this change in place, we only notify listeners and update window
bounds once there are no DPI changes in progress.
2021-07-30 09:20:11 +01:00
reuk
20c23700e5 MinGW: Fix some build issues for 32-bit platforms 2021-07-28 19:28:34 +01:00
ed
8f03215a9e Accessibility: Add Android support 2021-07-28 11:44:29 +01:00
ed
30654fb8ec Accessibility: Add iOS support 2021-07-28 11:44:29 +01:00
ed
da57f65f3f Accessibility: Add juce_AccessibilityTextHelpers.h 2021-07-28 11:44:29 +01:00
ed
588e776bb6 Accessibility: Remove redundant method declaration and general fixups 2021-07-28 11:44:29 +01:00
ed
d6a5156dd5 Objective-C++: Make getIvar() a free function so it can be used without a class instance 2021-07-28 11:44:28 +01:00
ed
c5bcfd5c3f macOS: Use the NSOpenPanel message property to display the FileChooser title correctly 2021-07-27 14:34:30 +01:00
reuk
3c68581567
Use jassertquiet where possible 2021-07-23 10:58:44 +01:00
ed
551d7b9c5b Add MessageBoxOptions class for specifying a set of AlertWindow and NativeMessageBox options
- Add AlertWindow::show() and showAsync() methods that take a MessageBoxOptions argument
  - Add NativeMessageBox::show() and showAsync() methods that take a MessageBoxOptions argument
  - Update the DialogsDemo to demonstrate the new methods
  - Deprecate AlertWindow::showNativeDialogBox() in favour of the NativeMessageBox methods
  - Pass button strings specified in MesssageBoxOptions to native dialog boxes correctly
  - Use modern TaskDialog on Windows for the native dialog box where available
2021-07-21 16:34:12 +01:00
ed
d3556dfd7f macOS Accessibility: Fixed a memory leak when checking for active accessibility clients 2021-07-16 14:21:30 +01:00
reuk
1d29091133
FileChooser: Always set initial directory if the initialFileOrDirectory argument is not empty 2021-07-14 15:40:58 +01:00
reuk
85226c33d4
Mac MainMenu: Allow commands without modifiers to be passed to peer
Ideally, we want to pass shortcut keys to the component to handle, and
only fall back to invoking a menu item if the component was unable to
handle the keyboard event, or if the action was triggered by
clicking/selecting an item in the menu itself. The old implementation
tried to work out whether the action was triggered by a shortcut by
checking the event's characters and modifiers. This method was
inaccurate, because some shortcuts (such as arrow keys) may add
unexpected numpad/function modifier flags.

We now try handling shortcut keys directly in the peer, and pass events
up to the superclass (which will forward them to the main menu) if the
event could not be handled.

This commit also adjusts some Objective-C method signatures to use the
correct string encoding for the BOOL type.
2021-07-14 14:49:05 +01:00
ed
a5c3b81f82 Use C++14 lambda capture initialisers for initialising deletion checkers 2021-07-12 11:58:29 +01:00
Tom Poole
d53388097b AudioProcessorGraph: Improve performance when building large graphs 2021-07-08 10:47:36 +01:00
ed
09c06fb946 macOS Accessibility: Fixed an incorrect deployment target check 2021-07-06 16:02:19 +01:00
attila
e867d1dbb4 Linux: Fix maximise when not using native titlebar
X11 cannot maximise windows that have their maximum size set. When not
using the native titlebar we now revert to setting the window bounds
without involving the X11 maximise function.
2021-07-06 10:26:14 +02:00
reuk
630afbda54 NSViewComponentPeer: Avoid processing mouse events from tracking areas
Some plugins (Izotope Relay, some older DPF plugins) use NSTrackingAreas
to handle mouse events, but unprocessed events seemingly get passed up
to outer views. Processing these events was causing unexpected
behaviour. For example, if the cursor entered a plugin view while
dragging a JUCE window border, a mouseEnter event was be generated,
interrupting the drag.

We now check whether mouse events were generated by an NSTrackingArea
which does not belong to the JUCE view, and ignore the event in this
case.
2021-07-05 12:21:36 +01:00
ed
a9d17d860c macOS Accessibility: Fixed crash due to availability of NSAccessibilityLayoutChangedNotification on < 10.9 2021-07-05 12:07:30 +01:00
ed
d1b669e6ae Accessibility: Added InternalAccessibilityEvent::elementMovedOrResized 2021-06-16 17:22:35 +01:00
ed
cdf3b619d8 Accessibility: Check if any accessibility clients are active before posting notifications and announcements 2021-06-16 17:22:00 +01:00
ed
3195db14a4 macOS: Check subview position in ComponentPeer::toFront() and toBehind() before re-ordering subviews for shared windows
This commit also removes the subview from its superview's subview array before re-ordering as the macOS docs don't make any guarantees about what happens when adding a subview that is already contained in the array.
2021-06-15 10:14:56 +01:00
ed
cae59fa8b2 macOS Accessibility: Return window title for accessibilityTitle property in JuceNSWindowClass 2021-06-14 14:29:53 +01:00
ed
8f3483d532 Whitespace 2021-06-14 14:01:43 +01:00
ed
f69095746a Windows Accessibility: Only support ExpandCollapsePattern for expandable elements 2021-06-11 13:50:47 +01:00
ed
d16657ab53 macOS Accessibility: Fixed crashes on macOS < 10.10 when posting notifications 2021-06-11 13:48:18 +01:00
ed
005d45e0fe macOS Accessibility: Removed some unused text methods and return caret position for accessibilitySelectedTextRange when no text is selected 2021-06-11 13:47:00 +01:00
ed
d5175b6e23 Windows: Use ScopedThreadDPIAwarenessSetter in keyboard hooks to set correct thread DPI awareness 2021-06-10 18:14:50 +01:00