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