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

2366 commits

Author SHA1 Message Date
Tom Poole
a9ad07a945 Use RAII for CFTypes 2021-03-25 15:48:35 +00:00
reuk
767f63dfb0
UIViewComponentPeer: Fix issue where heavyweight windows could "drift" when resized slowly 2021-03-25 11:51:28 +00:00
reuk
92ca22c080
UIViewComponentPeer: Fix issue where view may be accessed after deletion 2021-03-25 11:51:28 +00:00
reuk
de278cf555
AudioPluginHost: Allow resizing plugins from the host, and increase border size on mobile
The increased border size should make it slightly less fiddly to tap on
the window border.
2021-03-25 11:51:28 +00:00
reuk
0f6f2728f2
AlertWindow: Scale window according to scale of associatedComponent
For DialogWindow, uses the scale of componentToCentreAround.

This allows drawing dialog windows at the expected scale in plugins.
An associated component must be supplied in order for this to work.
2021-03-23 12:09:35 +00:00
Tom Poole
4c58e50f2e Bump version number to 6.0.8 2021-03-22 09:24:48 +00:00
reuk
5bcd2b0dfb
NSViewComponentPeer: Force repaint when window becomes key
This resolves an issue on macOS Catalina when using
JUCE_COREGRAPHICS_DRAW_ASYNC where windows would sometimes fail to
completely repaint when they were unminimized.
2021-03-17 14:29:08 +00:00
reuk
8fb4541fdb
iOS: Avoid unnecessary numeric conversion 2021-03-15 19:23:01 +00:00
reuk
d4e802016a VST3: Fix issue where Ardour would repeatedly try to resize editors
Ardour seems to listen to the bounds of the plugin window, and will call
`onSize` on the plugin editor when move/resize events are sent to the X
window - even if the size of the window didn't really change. This can
result in an infinite resize loop, where calling `onSize` on the VST3
instance sends a resize event to the plugin window, and this event
causes Ardour to call `onSize` on the plugin view.

To get around this, the Linux ComponentPeer will no longer request a
bounds change from the window system if the requested bounds are the
same as the current bounds.
2021-03-11 16:51:35 +00:00
reuk
d62d3aaa4f
PopupMenu: Add option to specify initially-selected menu item 2021-03-10 16:14:42 +00:00
reuk
326d8deb16
PopupMenu: Tidy up Options implementation 2021-03-10 16:14:00 +00:00
ed
40c86d6b2f Linux: Fail more gracefully on systems which don't support 32-, 24-, or 16-bit RGB displays 2021-03-09 12:11:05 +00:00
reuk
3afaaa48be FileChooser: Fix IFileDialogEvents leak 2021-03-08 11:23:16 +00:00
ed
c32142a215 Windows: Fixed a build error and some unreachable code warnings when JUCE_WIN_PER_MONITOR_DPI_AWARE=0 2021-03-05 18:40:03 +00:00
reuk
7a0b17c0d3 LinuxComponentPeer: Fix scaling in custom windows created by plugins
Previously, things like PopupMenus which were created in their own
windows were not being scaled correctly on HiDPI displays on Linux.

This patch forces the display scale to 1.0 in plugins, meaning that
the transform applied to the main plugin window is the sole source
of truth for component scaling in plugins.
2021-03-04 13:56:03 +00:00
reuk
fd2f866dd1 FileChooser: Avoid throwing bad_weak_ptr
It seems like shared_from_this may not be enabled when a unique_ptr is
assigned to a shared_ptr (although it *should* be enabled when
constructing a new shared_ptr from a unique_ptr). Functions that return
objects that may need to use shared_from_this now return shared_ptr,
just to be safe.

Additionally, in some cases, shared_from_this was being called from
Thread::run after the last reference to the shared object had been
released. We now call shared_from_this during 'open', which will always
run on the message thread while at least once reference to the shared
object is alive.
2021-03-03 19:21:43 +00:00
ed
1ff7fc38b1 Windows: Added ScopedDeviceContext helper 2021-03-02 15:56:55 +00:00
ed
f6338c0f8e Windows: Added ScopedThreadDPIAwarenessSetter for correctly setting and resetting thread DPI-awareness for methods which interact with an HWND and removed some DPI workarounds 2021-03-02 15:56:10 +00:00
ed
3a0af69eff AudioPluginHost: Added an application-level setting for scaling plug-ins on Windows 2021-03-02 15:53:45 +00:00
reuk
45409bb4e6
FileChooser: Hide chooser when it leaves scope on Windows 2021-03-02 10:49:39 +00:00
ed
7c96f18663 TextEditor: Fixed a bug where the horizontal viewport scrollbar could be shown unnecessarily 2021-02-23 17:02:55 +00:00
ed
e18284978f FileChooser: Check JUCE_MODAL_LOOPS_PERMITTED in Native::runModally() 2021-02-22 09:08:09 +00:00
ed
3d378d0384 Windows: Avoid setting WINDOWPOS in handlePositionChanging() when "new" coordinates are floating-point rounding errors due to scale factor conversion 2021-02-19 19:07:12 +00:00
ed
ed0851313b Displays: Added floating-point physical<->logical coordinate conversion methods 2021-02-19 19:07:12 +00:00
ed
ec0345c093 Windows: Check whether child HWNDs were already scaled during the scale factor listener callback to avoid double-scaling them in handleDPIChanging() 2021-02-19 19:07:12 +00:00
ed
cb57904740 Windows: Improved support for DPI-aware embedded windows in HWNDComponent 2021-02-19 19:07:05 +00:00
reuk
64b9366e8f
CharacterFunctions: Add new function to move pointer past whitespace 2021-02-18 10:54:29 +00:00
reuk
46d24cc1ab
TextEditor: Avoid starting timer unnecessarily when setting text 2021-02-18 10:54:29 +00:00
reuk
d5b55a8474
X11: Make setFullscreen put windows into true maximised mode 2021-02-16 15:39:31 +00:00
reuk
576cd24665
X11: Use correct scale factor on Ubuntu 2021-02-16 15:38:34 +00:00
Tom Poole
a05424fd3d Linux: Added better support for minimal X11 environments 2021-02-12 19:17:44 +00:00
ed
b5a06b0e2f Windows: Use MapWindowPoints() in HWNDComponentPeer::getBounds() to get correct client coordinates when we're the child of another HWND 2021-02-11 11:23:07 +00:00
ed
fd83e0f51e Removed Displays const_casts from ComponentPeer implementations 2021-02-08 14:38:09 +00:00
ed
ac1425f94e Added Display::safeAreaInsets and implementations for iOS and Android 2021-02-08 14:38:09 +00:00
ed
6d8c0b2fc3 Android: Set layoutInDisplayCutoutMode to LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS so fullscreen kiosk apps fill the entire display on devices with cutouts 2021-02-08 14:38:09 +00:00
ed
c0cb5dcf34 Android: Tidied up some code in AndroidComponentPeer 2021-02-08 14:38:09 +00:00
ed
ad38182530 Added checks for DOXYGEN #define when excluding modal methods in headers 2021-02-05 14:17:19 +00:00
ed
04c28eaa3b Added a missing #if JUCE_MODAL_LOOPS_PERMITTED guard to FileChooser modal methods 2021-02-05 14:17:19 +00:00
ed
56f9f83638 iOS: Check UIStatusBarHidden .plist value in prefersStatusBarHidden property to correctly hide/show the status bar when requested 2021-02-05 11:34:39 +00:00
ed
4ef5012271 iOS: Fixed UIViewAlertForUnsatisfiableConstraints warning when showing the onscreen keyboard 2021-02-05 11:34:39 +00:00
reuk
837ab64dbd
Android: Fix numeric conversion warnings 2021-02-03 16:09:54 +00:00
ed
46f5b126d5 Tidied up some template statement whitespace 2021-01-29 15:40:12 +00:00
ed
d7358d0ef1 Update SidePanel visibility when shown/hidden and set always on top 2021-01-29 15:40:12 +00:00
ed
af69be5346 Windows: Tidied up the usage of the JUCE_COMCALL, JUCE_COMCLASS, and JUCE_IUNKNOWNCLASS macros 2021-01-29 15:40:12 +00:00
ed
1b2f17f2e8 PopupMenu: Check currently focused component before passing keyboard focus on menu completion 2021-01-29 11:43:04 +00:00
reuk
3baaad8b5b
XmlElement: Update loops to use new iterators 2021-01-28 20:14:11 +00:00
reuk
dbfdaff00b
XWindowSystem: Prevent PopupMenus from accidentally dismissing themselves 2021-01-28 20:13:46 +00:00
ed
091ab8a3a3 Made the windowIgnoresKeyPresses ComponentPeer style flag documentation a bit clearer 2021-01-28 11:26:41 +00:00
ed
f43784dc5b macOS: Propagate focus loss message when resigning key window status and only grab focus if window can become the key window 2021-01-28 11:26:41 +00:00
ed
891d86fe6b Don't trigger a fake mouse move from Component::sendFakeMouseMove() if the component passes through all mouse events 2021-01-28 11:26:41 +00:00