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

1110 commits

Author SHA1 Message Date
reuk
53b04877c6
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-03 15:13:33 +00:00
Tom Poole
c072b1bc8e Fix some typos 2022-01-25 11:48:46 +00:00
Tom Poole
3366ad4ed4 Linux: Avoid sending the string terminator to the X11 clipboard 2022-01-25 11:27:54 +00:00
ed
461192b355 Add FocusOutline class for indicating Component keyboard focus 2022-01-20 15:46:53 +00:00
Tom Poole
06db7f074e Linux: Fix a out-of-bounds memory write when copying text to the clipboard 2022-01-20 12:40:38 +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
b65803e8a3
Accessbility: Improve support for touch-to-explore on Android 2022-01-17 10:58:17 +00:00
reuk
1edb56df71
NSViewComponentPeer: Properly constrain zoomed window size onto current display 2022-01-17 10:58:17 +00:00
reuk
12b7a8f9d1
Accessibility: Prefer toggle action to press action for checkable items 2022-01-17 10:58:17 +00:00
reuk
f429647ae9
MinGW: Add uuid definitions for MinGW-w64 2022-01-17 10:58:17 +00:00
reuk
e730962921
NSViewComponentPeer: Avoid triggering NSBeeps on unhandled key presses 2022-01-17 10:58:17 +00:00
attila
1fc0de32c8 Windows: Ensure that NativeMessageBox stays in front of its owner 2022-01-12 15:55:23 +00:00
reuk
82df66100c
MouseCursor: Allow arbitrarily-sized cursors on Windows 2022-01-10 22:15:21 +00:00
reuk
8a2bde9fec
NSViewComponentPeer: Only allow full screen mode for resizable windows with maximise buttons
Effects of this change for windows with native titlebars:
- Resizable windows without maximise buttons will now only allow the
  'zoom' behaviour from the rightmost titlebar button (i.e. this button
  will not allow entering full-screen mode)
- Non-resizable windows will grey-out the rightmost titlebar button,
  whether or not the maximise button is enabled
2022-01-10 22:15:20 +00:00
reuk
05676c862a
UIViewComponentPeer: Allow setting an app style, to ensure the status bar can be seen over the app background 2022-01-10 22:15:20 +00:00
reuk
ad4368bbf1
UIViewComponentPeer: Clear focused peer on destruction to avoid dangling pointer 2022-01-10 22:15:20 +00:00
reuk
0cec50618d
FileChooser: Find an appropriate peer to focus when the FileChooser is destroyed
This works around a rare issue in the DialogsDemo where the AlertWindow
would fail to display because no peer had focus.
2022-01-10 22:15:20 +00:00
reuk
038d6dff32
FileChooser: Avoid calling member functions on pimpl after it is destroyed 2022-01-10 22:15:20 +00:00
attila
4f9a9c7bfc Linux: Fix BadWindow error when XSETTINGS is not available 2022-01-06 12:36:26 +01:00
attila
2b3abd3ca6 MacOS: Fix TextEditor when using marked text (e.g. Korean) 2022-01-04 17:20:11 +01:00
attila
87061fb751 MacOS: Change keyCode calculation to fix shortcuts with non-Latin languages 2022-01-04 17:20:11 +01:00
attila
b8094cb200 Android: Fix keyCode calculation and add support for modifier keys 2022-01-04 17:20:07 +01:00
Tom Poole
a5b76d3989 macOS: Fix window icon NSImage leak 2021-12-14 20:54:31 +00:00
Tom Poole
05796beffd macOS: Fix CGImage memory access violation on Monterey 2021-12-14 14:36:52 +00:00
ed
1744008413 Windows: Don't send modal input attempts to windows that are explicitly ignoring them 2021-12-14 11:45:47 +00:00
reuk
9f7409fd3e
FileChooser: Fix function signature for Obj-C interop 2021-12-07 18:18:52 +00:00
ed
112f8999fd iOS: Fix native message box leak when no callback is provided 2021-12-07 16:25:22 +00:00
ed
fc0f6b1f2f Tidy up 2021-12-02 09:24:55 +00:00
reuk
03428561ed
ScaledImage: Use in a few more places 2021-12-01 15:44:07 +00:00
reuk
1509d6796b
FileChooser: Allow multiple selection on iOS 2021-12-01 15:35:54 +00:00
reuk
d0590b5fc5
ComponentPeer: Add facility for displaying document save state in the titlebar 2021-11-25 11:42:39 +00:00
reuk
cc8a9ca896
FileChooser: Avoid deprecated delegate method signature 2021-11-24 16:20:38 +00:00
reuk
da46ee6c7a
FileChooser: Launch chooser asynchronously
When FileChooser instances were created, launched, and hidden all inside
the same event callback on macOS 12.0.1, the chooser dialog sometimes
remained open. This could cause problems including crashes, as closing
the dialog would attempt to call a completion handler block referencing
an already-deleted FileChooser::Native instance.

Opening the chooser panel later on the message thread seems to resolve
the issue.
2021-11-24 16:20:38 +00:00
reuk
062e966138
NSViewComponentPeer: Fix zoom and fullscreen behaviour 2021-11-24 16:20:37 +00:00
reuk
ff62b1b39f
LinuxComponentPeer: Handle window constraints correctly on high resolution displays 2021-11-24 16:20:37 +00:00
reuk
c17aec47ac
Windows: Allow maximized windows to resize to fill the screen, even when a constrainer is applied
This mirrors the behaviour on Linux, where maximizing a window always
fills the screen, even if a constrainer is active.

If you don't want to allow your component to fill the screen, disable
the maximize button in the window's titlebar when creating the window
(i.e. ensure DocumentWindow::maximiseButton is not set in the required
buttons).
2021-11-24 16:20:36 +00:00
reuk
cb7d9ec1db
Windows: Take custom scale into account when scaling cursors 2021-11-24 16:20:36 +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
fdd9eb8eeb X11: Correctly reset drag and drop state when drag has ended 2021-11-03 15:44:57 +00:00
reuk
49bbadbca9
NSViewComponentPeer: Fix naming of drawRectWithContext 2021-11-01 11:10:12 +00:00
reuk
4196b5e45b
macOS: Silence deprecation warnings on Monterey 2021-11-01 10:04:35 +00:00
ed
7098b13b44 X11: Make synchronous error handling opt-in due to graphics performance issues when XSynchronize is enabled for a display 2021-11-01 09:12:59 +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
reuk
cdbefa3b51
Windows: Ensure that new windows are brought to the front after creation 2021-10-27 16:33:37 +01:00
reuk
496e454e9c
XWindowSystem: Update frame extents as soon as they change 2021-10-27 16:33:37 +01:00
reuk
4ca923a34b
NSViewComponentPeer: Allow mouse events to reach unfocused windows
This change allows mouse events (including enter and exit events) to
reach unfocused views on macOS. This matches the behaviour of unfocused
windows on Linux and Windows, where components paint in their "hovered"
states even when the application window is in the background.

As a byproduct of using tracking areas on macOS, we can remove the fake
mouse move generator.
2021-10-27 16:33:37 +01:00
reuk
fe4515adb6
MouseCursor: Refactor platform-specific MouseCursor internals
This new factoring is a bit more typesafe, as it avoids casting
internals to void*.

It also allows cursors to scale appropriately on high resolution
displays on Windows.
2021-10-27 16:33:37 +01:00