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

3241 commits

Author SHA1 Message Date
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
ed
4727084838 PopupMenu: Store Options::targetComponent and ::parentComponent in WeakReferences to allow for deletion checks 2021-10-29 14:04:40 +01:00
reuk
eca02270ee
Component: Add Point<float> overloads for some common functions 2021-10-27 16:33:37 +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
5c50ee4f94 MouseCursor: Simplify implementation using shared_ptr instead of manual refcounting 2021-10-26 23:20:09 +01:00
reuk
4d572411e0
FlexBox: Update the default value of FlexItem::alignSelf to match CSS implementations 2021-10-26 16:52:16 +01:00
reuk
25c9841131
Windows: Tidy up cursor creation function 2021-10-26 16:52:15 +01:00
reuk
f85ede6b47
Component: Ensure that mouseEnter and mouseExit calls are balanced when entering/leaving modal state 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
c2f661171a
PopupMenu: Avoid giving focus back to previous component on dismiss
This change is designed to fix issues with views stealing focus and
being brought to the front when popup menus are dismissed.

To test this behaviour:
- Open two instances "a" and "b" of a plugin editor containing a
  ComboBox
- Click the ComboBox in editor "a", opening its PopupMenu
- Drag the titlebar of editor "b" to move it
- The PopupMenu should be dismissed, but editor "a" should *not* steal
  keyboard focus or be brought to the front
2021-10-26 16:52:14 +01:00
ed
b70fbb9bca TreeView: Fix drag-to-scroll viewport jump on mouse exit 2021-10-25 16:40:18 +01:00
reuk
acddcd550d
DropShadower: Detect when window is no longer being displayed on the current desktop and hide shadows 2021-10-25 09:51:21 +01:00
reuk
6ae1137d91
MinGW: Fix Windows build 2021-10-25 09:51:21 +01:00
reuk
7f0a305199
Slider: Ensure that current Value is always treated as a double 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
51355b03df ChoicePropertyComponent: Ensure that ComboBox is always initialised with underlying Value object 2021-10-25 09:43:17 +01:00
ed
6218e2f92b Fix bug in LabelKeyboardFocusTraverser causing editable labels to consume focus traversal events 2021-10-25 08:20:21 +01:00
ed
de375ab6d7 TreeView: Prevent dragging items from scrolling viewport on mobile and fix issue with dragged item component being deleted during drag operations 2021-10-20 16:36:40 +01:00
ed
1e0acdf83d Accessibility: Update ComboBox label accessibility when editable state changed 2021-10-15 10:11:13 +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
6bc51f97e4
Grid: Avoid crashing in performLayout when the grid contains no items 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
70968d46c8 TreeView: Coalesce item position recalculation to fix performance issues with large trees 2021-10-13 15:06:18 +01:00
attila
175de90c49 DropShadower: Fix issue with shadows disappearing in TabbedComponent
The issue was caused by DropShadower using the ComponentListener interface
to listen to its target Component's changes and creating shadow Components
only if the target was visible during the event callbacks. However it was
possible that during the events the target was not yet visible because one
of its parents was not visible. When the parent became visible it would not
trigger a callback for the observed child component.

The fix attaches a ComponentListener recursively to all parents starting
from the target and responds to each componentVisibilityChanged() event.
2021-10-12 16:23:06 +02:00
ed
b3a6e796f9 Fix potential nullptr dereference in Slider::ScopedDragNotification destructor 2021-10-08 17:19:04 +01:00
ed
3fac215534 Component: Give away keyboard focus when disabled 2021-10-08 17:19:04 +01:00
ed
a852f4f45f Component: Only pass mouse wheel and magnify events up to enabled parents 2021-10-08 17:19:04 +01:00
ed
7a8a4944cb ComboBox: Hide active menu when disabled 2021-10-08 17:19:04 +01:00
ed
0000771751 Accessibility: Report Button on/off state via AccessibilityValueInterface 2021-10-08 17:19:04 +01:00
ed
e6360ca4cf Accessibility: Send AccessibilityEvent::valueChanged when ComboBox selection is changed 2021-10-08 17:19:03 +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
bc64c30df6 Accessibility: Use more specific AccessibilityRole::dialogWindow for CallOutBox 2021-10-08 17:19:03 +01:00
ed
b8aa237463 Accessibility: Add Button::setToggleable() method for manually specifying that a button's on/off state is toggleable and should be exposed to accessibility clients 2021-10-08 17:18:46 +01:00
ed
e1d1dd380c iOS: Fix compatibility when targeting older SDK versions 2021-10-08 17:18:32 +01:00
ed
051e0ed6d6 Fix leak on MultiDocumentPanel destruction 2021-10-07 14:30: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