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

2606 commits

Author SHA1 Message Date
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
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
b9542ccc4c Update code to use C++14 [[deprecated]] attribute
This commit removes the various compiler-specific JUCE_DEPRECATED macros and replaces them with C++14's deprecated attribute. It also removes the JUCE_CATCH_DEPRECATED_CODE_MISUSE flag as we can rely on the override specifier catching usage of these old virtual methods, and tidies up the DOXYGEN preprocessor checks as they were inconsistent across the codebase.
2021-09-29 16:14:00 +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
ed
8d75a7a400 Fix auxiliary desktop windows scaling and centring when Desktop::globalScaleFactor != 1.0 2021-09-29 11:46:24 +01:00
ed
46a4dc95a1 Accessibility: Fix potential infinite recursive component keyboard focus loop 2021-09-29 11:46:10 +01:00
ed
c933ad5a16 Accessibility: Fix issue with ListBox selection duplication 2021-09-29 11:46:10 +01:00
ed
5801cf7d09 Accessibility: Fix issue with ListBox custom components not being accessible 2021-09-29 11:46:10 +01:00
ed
ef6218f6b7 Take MessageManagerLock in FocusTraverser and KeyboardFocusTraverser unit tests 2021-09-29 11:45:06 +01:00
reuk
4c95897ad3
XWindowSystem: Only dismiss transient modal windows when other windows are moved or resized 2021-09-28 14:04:11 +01:00
reuk
a130cc5d17
NSViewComponentPeer: Only dismiss transient modal windows when other windows are moved or resized 2021-09-28 14:04:11 +01:00
reuk
c9daf4288d
XWindowSystem: Only restack sibling windows
Previously, BadMatch errors were seen when there were several modal
windows, each with a native titlebar. Moving a window would attempt to
restack the windows, which was not possible because the JUCE windows
were not siblings. We actually need to restack the top level windows,
i.e. the windows containing the server-side decorations.
2021-09-28 14:04:11 +01:00
reuk
4e694c96b3
ScopedDPIAwarenessDisabler: Move to juce_gui_basics 2021-09-28 11:31:50 +01:00
reuk
8b45ff83e2
Windowing: Ignore suggested window sizes for windows that should not be DPI aware 2021-09-28 11:31:50 +01:00
reuk
ea6d095ab5
XWindowSystem: Implement createSnapshotOfNativeWindow 2021-09-28 11:31:49 +01:00
reuk
31500551e1
Move declaration of createSnapshotOfNativeWindow to module header 2021-09-28 11:31:49 +01:00
reuk
c3c171acaf
Grid: Fix behaviour with negative row/column indices
Negative indices should count backwards from the last explicit
row/column number. If the resulting line number would appear before
the first explicit row/column, implicit grid lines should be added
before the first explicit row/column.
2021-09-28 11:31:49 +01:00
reuk
9360c3f4ff
Windows: Fix issue where minimising a window could overwrite the last "normal" window bounds
Previously, the following series of steps would leave the window at
full-size on Windows:

- Open a JUCE Window
- Maximise it
- Minimise it
- Click the maximise button

The expected behaviour is that the window should return to its initial
size and position, but instead the window still fills the screen.

This issue wasn't present on Ubuntu/Unity because minimising does not
invoke ComponentPeer::handleMovedOrResized on that platform. It was not
present on macOS because the system is responsible for restoring the
previous window size on that platform.
2021-09-28 11:31:49 +01:00
reuk
6c59a31456
Win32 Windowing: Fix uninitialised data members warning 2021-09-28 11:31:49 +01:00
reuk
836b6edbce
Mac MainMenu: Allow main menu items to be disabled 2021-09-28 11:31:48 +01:00
reuk
0f3e3d365a
iOS: Use safeAreaInsets API on supported platforms, even when deployment target is low
This fixes an issue where building with an old deployment target would
cause apps to display in "unsafe" screen areas.
2021-09-28 11:31:48 +01:00
reuk
3141c32a64
PopupMenu: Avoid const_cast in implementation 2021-09-28 11:31:48 +01:00
reuk
ab966fb499
PopupMenu: Add withMousePosition helper function to Options 2021-09-28 11:31:48 +01:00
reuk
84c5627b42
PopupMenu: Ensure that menu appears at the correct position on Windows with a hi res display in standalone apps 2021-09-28 11:31:48 +01:00
reuk
c3276f436d
PopupMenu: Add some documentation to the Options class 2021-09-28 11:31:47 +01:00
reuk
37781916e5
PopupMenu: Fix documentation typo 2021-09-28 11:31:47 +01:00
reuk
ea757cf1ea
PopupMenu: Only show menus within safe areas of the screen
This change stops menus from displaying under notches/cutouts on mobile
platforms.
2021-09-28 11:31:47 +01:00
reuk
10a26b7584
TooltipWindow: Avoid re-showing a tooltip if the mouse has not moved since it was last clicked
This behaviour more closely mirrors the behaviour of other applications.
2021-09-27 15:46:28 +01:00
reuk
c802319241
Viewport: Stop touches on other components from interrupting scrolling
Previously, a touch on a component outside the Viewport would interrupt
and cancel a scroll gesture inside the Viewport.

Now, the Viewport will respond to all drag events from the input source
that started the drag, allowing the Viewport to be scrolled with one
input source while adjusting other controls with another input source.

The FontsDemo is useful for testing this behaviour, as it has two
Viewports on a single screen, along with some other controls.
2021-09-27 15:46:28 +01:00