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

294 commits

Author SHA1 Message Date
Tom Poole
61fd8827e1 macOS/iOS: Fix a scaled multiple-rects drawing issue 2022-08-05 13:27:32 +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
9712775e5b
macOS: Remove macOS 10.12 preprocessor checks
The current minimum-supported Xcode (10.1) includes the macOS 10.14.1
SDK, so APIs from macOS 10.12 will always be available.
2022-08-04 22:51:17 +01:00
attila
6aa926750e MacOS: Restore window style flags after leaving full screen
Previously having a JUCE title bar prevented the style flags from
being restored, and this caused the native window border resizers to
remain active after entering and then leaving full screen.
2022-08-02 14:58:31 +00:00
reuk
869760cb2a
ObjC: Add scoped notification observer 2022-07-29 18:54:50 +01:00
reuk
7eca00c7c9
JuceNSWindowClass: Tidying 2022-07-29 18:54:09 +01:00
reuk
31e917ca62
NSViewComponentPeer: Tidying 2022-07-29 18:54:09 +01:00
Tom Poole
c0350c54ab macOS: Fix CGMetalLayerRenderer assertions and resizing 2022-06-30 15:38:39 +01:00
attila
edf68d209c MacOS: Override and implement JuceNSViewClass::updateTrackingAreas()
This change fixes a bug where a fullscreen window would not receive
mouseMoved events until the cursor left and then reentered the
window's area.
2022-06-10 20:38:37 +02:00
Tom Poole
2ec861d99e Update licensing banners to JUCE 7 2022-05-16 17:55:48 +01:00
Tom Poole
c2ecde591b macOS: Remove 32 bit specific functionality
This includes Carbon support
2022-05-03 08:16:37 +01:00
attila
627afffeb4 Android: Fix dismissing screen keyboard when interacting with TextEditor 2022-04-27 18:49:44 +02:00
Tom Poole
9c6ce98a54 macOS: Fix an unguarded availability warning 2022-04-26 16:32:15 +01:00
Tom Poole
db3c6e6216 macOS/iOS: Fix unguarded availability warnings 2022-04-26 15:37:03 +01:00
Tom Poole
833c1e590f
macOS/iOS: Add a Metal layer renderer
This restores the functionality of JUCE_COREGRAPHICS_RENDER_WITH_MULTIPLE_PAINT_CALLS.
Using this preprocessor flag may avoid Core Graphics rendering much larger regions than
necessary, but the small regions that are rendered will likely be rendered slower.
Whether using this flag improves or degrades the performance of your rendering overall
will be specific to each application.

Previously enabling JUCE_COREGRAPHICS_RENDER_WITH_MULTIPLE_PAINT_CALLS was ineffective
from versions of macOS around 10.13, but enabling it didn't have any negative impact on
performance. Now enabling JUCE_COREGRAPHICS_RENDER_WITH_MULTIPLE_PAINT_CALLS may result
in slower rendering.
2022-04-22 14:18:48 +01:00
Tom Poole
3dd812052e macOS/iOS: Add a Metal layer renderer
This restores the functionality of JUCE_COREGRAPHICS_RENDER_WITH_MULTIPLE_PAINT_CALLS.
Using this preprocessor flag may avoid Core Graphics rendering much larger regions than
necessary, but the small regions that are rendered will likely be rendered slower.
Whether using this flag improves or degrades the performance of your rendering overall
will be specific to each application.

Previously enabling JUCE_COREGRAPHICS_RENDER_WITH_MULTIPLE_PAINT_CALLS was ineffective
from versions of macOS around 10.13, but enabling it didn't have any negative impact on
performance. Now enabling JUCE_COREGRAPHICS_RENDER_WITH_MULTIPLE_PAINT_CALLS may result
in slower rendering.
2022-04-04 12:36:33 +01:00
Tom Poole
04e7014d0f macOS/iOS: Sync repaint request rate to screen FPS and remove repaint throttling in plug-ins 2022-04-04 12:36:32 +01:00
Tom Poole
89a67ec556 macOS/iOS: Enable asynchronous Core Graphics rendering by default
The helper function setComponentAsyncLayerBackedViewDisabled has been replaced
by a windowRequiresSynchronousCoreGraphicsRendering ComponentPeer style flag.
2022-04-04 12:36:32 +01:00
Tom Poole
dea3fe60e4 Update copyright banners 2022-04-04 12:36:32 +01:00
Tom Poole
165d8b0ecd macOS: Make the behaviour of ComponentPeer::grabFocus match the other platforms
This partially reverts f43784dc: "macOS:  Propagate focus loss message when resigning key window status and only grab focus if window can become the key window"
2022-03-17 21:52:33 +00:00
reuk
eb6e579f0a
ComponentPeer: Correctly scale drag and drop coordinates to account for global scale 2022-02-23 10:56:12 +00:00
reuk
9bd52d59af
NSViewComponentPeer: Avoid making temporary windows (dropdowns, callouts) full-screen when in full-screen mode
eabcfbad26 incorrectly set the collection
behaviour NSWindowCollectionBehaviorFullScreenPrimary on all top-level
components, which would cause popup menus and callouts to appear in
their own space when launched from an app running in full-screen mode.
2022-02-23 10:56:11 +00:00
Attila Szarvas
101a886821 MouseInputSource: Eliminate superfluous drag events caused by pressure change
The bug was triggered on Monterey where a pressure of 1 is reported
while a mouse button is being held down. This caused an extra drag
event being triggered between mouse down and up events, even if no
movement occurred.
2022-02-15 10:53:32 +00:00
reuk
cdba8eb8e9 NSViewComponentPeer: Fix NSTrackingArea leak 2022-02-07 14:24:11 +00:00
reuk
eabcfbad26 NSViewComponentPeer: Add support for true-full-screen with non-native titlebars 2022-02-07 14:24:11 +00:00
reuk
19536fc7a7 NSViewComponentPeer: Allow restoring previous size when zooming a non-native window 2022-02-07 14:24:11 +00:00
attila
6575d24a81 ComponentPeer: Deprecate getFrameSize() 2022-02-03 21:46:36 +01:00
attila
a7811661c5 Linux: Fix restoreWindowFromStateString() when the peer already exists 2022-02-02 19:53:31 +01:00
reuk
9b96442022
NSViewComponentPeer: Only send modal input attempts when modal window is not key 2022-01-28 16:09:59 +00:00
reuk
1edb56df71
NSViewComponentPeer: Properly constrain zoomed window size onto current display 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
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
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
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
reuk
03428561ed
ScaledImage: Use in a few more places 2021-12-01 15:44:07 +00:00
reuk
d0590b5fc5
ComponentPeer: Add facility for displaying document save state in the titlebar 2021-11-25 11:42:39 +00:00
reuk
062e966138
NSViewComponentPeer: Fix zoom and fullscreen behaviour 2021-11-24 16:20:37 +00:00
reuk
81fa777ff7
ObjC Helpers: Automatically derive appropriate signature for function 2021-11-24 11:51:11 +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
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
44ca96271d
NSViewComponentPeer: Give up keyboard focus and dismiss temporary modals when window loses key status 2021-10-26 16:52:15 +01:00
reuk
cc2a563725
NSViewComponentPeer: Fix framesize bug introduced in f73f8ee849 2021-10-14 13:15:25 +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
05b49da0fe macOS: Silence some deprecation warnings 2021-10-04 17:23:29 +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
ed
1658d3f9ab Obj-C++: Remove JUCE_OBJC_HAS_AVAILABLE_FEATURE define 2021-09-29 16:13:09 +01:00