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

1082 commits

Author SHA1 Message Date
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
reuk
25c9841131
Windows: Tidy up cursor creation function 2021-10-26 16:52:15 +01:00
reuk
b465f60851
HWNDComponentPeer: Dismiss temporary modal windows when a window loses focus 2021-10-26 16:52:15 +01:00
reuk
44ca96271d
NSViewComponentPeer: Give up keyboard focus and dismiss temporary modals when window loses key status 2021-10-26 16:52:15 +01:00
reuk
6ae1137d91
MinGW: Fix Windows build 2021-10-25 09:51:21 +01:00
reuk
05c2261efe
LinuxComponentPeer: Use constrainer to limit native window size 2021-10-25 09:51:21 +01:00
reuk
cfda532c9f
iOS Windowing: Avoid crashing when displaying a message box from a background thread 2021-10-25 09:51:20 +01:00
ed
aabd65b0fd Text: Fix some build issues when JUCE_STRING_UTF_TYPE != 8 2021-10-14 16:52:31 +01:00
reuk
cc2a563725
NSViewComponentPeer: Fix framesize bug introduced in f73f8ee849 2021-10-14 13:15:25 +01:00
reuk
2c90261bd4
Windows: Fix missing field initialiser 2021-10-14 12:40:25 +01:00
reuk
b41aeec9b1
Build: Fix arm64 gcc build warnings 2021-10-14 12:40:25 +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
f2b9ab15d8 iOS: Use UIPasteboard string property in SystemClipboard::getTextFromClipboard() to ensure that only NSStrings are retrieved 2021-10-07 14:30:24 +01:00
reuk
c1cd432703
Mac Menu: Avoid errant beeps when triggering menu items 2021-10-06 16:59:06 +01:00
ed
05b49da0fe macOS: Silence some deprecation warnings 2021-10-04 17:23:29 +01:00
reuk
72f3a15616
HWNDComponentPeer: Avoid auto-scaling child hwnds
The scaling machinery in the component peer was causing problems for
hosted plugin views. Scaling the plugin view size requires close
collaboration between the plugin and the host, and it's important for
the host to have exact control over the size of the plugin's view. The
removed code in the HWNDComponentPeer was modifying the sizes of
embedded plugin windows, which would often leave them at an incorrect
size.

The faulty behaviour was especially noticable with plugins that do not
support DPI-aware behaviour. I tested with the following plugins (VST2 +
VST3), which should all now display correctly in the AudioPluginHost,
and assume the correct size when opened on hi-res displays, or dragged
between displays with different scale factors:
- Plogue AlterEgo
- U-He Hive 2
- FabFilter Pro-C
- Native Instruments Supercharger
- Surge
2021-09-30 14:19:26 +01:00
reuk
7cd04f7d74
Windowing: Refactor DPI-related function loading 2021-09-30 14:19:26 +01:00
ed
8d72e7fccc Linux: Update displays when DPI settings change 2021-09-29 17:41:04 +01:00
ed
70d36f06db Linux: Implement dark mode detection 2021-09-29 17:40:58 +01:00
ed
3d282c1078 Desktop: Deprecate isOSXDarkModeActive() and add isDarkModeActive() for other platforms 2021-09-29 17:40:58 +01:00
ed
ea35602f18 X11: Use XSettings to respond to window scale factor changes 2021-09-29 17:40:57 +01:00
ed
f69de31094 X11: Add XSettings class for parsing and storing display settings according to the XSETTINGS specification 2021-09-29 17:40:57 +01:00
ed
5e44bc39e0 X11: Pass Display instance to GetXProperty constructor 2021-09-29 17:40:57 +01:00
ed
a435026b24 macOS: Use available keyword instead of preprocessor version checks where possible 2021-09-29 16:13:48 +01:00
ed
291f88abb2 macOS/iOS: Suppress and fix unguarded availability warnings 2021-09-29 16:13:27 +01:00