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

191 commits

Author SHA1 Message Date
reuk
83e5264c86
Formatting: Remove double-dots from comments and other strings 2025-11-18 15:47:42 +00:00
Anthony Nicholls
36d07a6ce3 Docs: Replace doxygen preprocessor conditionals with @cond and @endconds 2025-07-21 18:11:43 +02:00
Sudara
9a4ab937ad Docs: Fix a few tiny typos in comments 2025-05-08 16:33:24 +02:00
Oli
27946ba063 Effects: Use compatible image type for DragAndDropContainer
Co-authored-by: Matt Gonzalez <matt@echoaudio.com>
2025-04-24 13:58:23 +01:00
reuk
5e44dc0b95
DragAndDropContainer: Fix issue where drag images in plugins could appear on the incorrect display
This issue could be seen when dragging widgets (e.g. rows in the
ValueTreesDemo) from a plugin on a multi-monitor Windows system.
2025-03-19 11:06:17 +00:00
reuk
fc76e936d3
DragImageComponent: Avoid case where image may detach from mouse when dragging between screens
When two monitors are available, both with different scale factors, then
the drag-image may 'detach' from the mouse while the image's top-left
coordinate was on one display, and the mouse cursor was on the other
display.

This happened because, on Windows, the mouse cursor moves continuously
in physical (not logical!) space. In other words, the mouse may not move
continuously in logical space, and the discontinuity becomes visible
when components are positioned relative to the mouse in logical space.

In order to display consistently, the top-left position of the image
must be set relative to the physical position of the mouse.
2024-12-02 17:20:42 +00:00
reuk
90f37e27ea Windows: Fix DLL build
There were a few "ambiguous operator new/delete" errors that were due to
inheriting from a private base class that used the leak detector. These
errors are resolved by adding the leak detector to the derived classes.

JUCE_API was missing from a few useful types, notably the ARA hosting
types.
2024-10-22 13:24:46 +01:00
reuk
19061e6d17
Direct2D: Add initial support 2024-04-18 14:16:02 +01:00
Tom Poole
94d98a2b10 Update licensing information 2024-04-16 11:39:35 +01:00
Tom Poole
6bf9bb9a2e Add final specifiers in implementation files 2023-10-10 16:12:38 +01:00
Tom Poole
4153d59e39 Formatting 2023-10-02 15:42:20 +01:00
Anthony Nicholls
cff722a4af GUI Basics: Refactor juce_gui_basics file structure
- Created a new detail namespace
- Moved shared module implementation details into the detail namespace
- Split dependencies so source files only rely on details in the detail namespace
- Removed all code from the juce_gui_basics.cpp file
2023-03-16 08:53:12 +00:00
reuk
b7beb42153
DragAndDropContainer: Avoid out-parameters 2023-02-22 21:00:18 +00:00
Tom Poole
0cd2b5c2d8 Docs: Add a link to TooltipWindow from SettableTooltipClient 2022-12-22 10:43:34 +00:00
attila
a115c99da4 MouseInputSource: Avoid wrong ComponentPeer association
When the mouse moves from one window to another, the mouseExit event
for the old window can occur after the mouseMove event for the new.
Until this commit this would cause the MouseInputSource to be
associated with the old window, and getComponentUnderMouse() would
incorrectly return a nullptr.
2022-12-13 14:44:33 +01:00
reuk
8b8ae10059
Build: Replace JUCE_NODISCARD with [[nodiscard]] 2022-09-12 16:14:57 +01:00
attila
acc6addb86 DragAndDropContainer: Manage keyboard focus for the drag image when the target needs it hidden
The previous implementation would trigger assertions in
grabKeyboardFocus() when the DragImageComponent was hidden due to the
target returning false from shouldDrawDragImageWhenOver().

Hiding the image would also mean that its keyboard focus was lost. Now
focus is restored when the image becomes visible again.
2022-08-15 12:07:40 +02:00
attila
032cc528c8 DragAndDropContainer: Fix the escape key dismissing the drag operation 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
dea3fe60e4 Update copyright banners 2022-04-04 12:36:32 +01:00
reuk
eb6e579f0a
ComponentPeer: Correctly scale drag and drop coordinates to account for global scale 2022-02-23 10:56:12 +00:00
reuk
1d1d743b9f
Build: Add -Wdeprecated to recommended flags and fix new warnings 2022-02-23 10:56:10 +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
82df66100c
MouseCursor: Allow arbitrarily-sized cursors on Windows 2022-01-10 22:15:21 +00:00
reuk
03428561ed
ScaledImage: Use in a few more places 2021-12-01 15:44:07 +00:00
reuk
34fdea0708
DragAndDropContainer: Allow custom scaling 2021-12-01 15:35:54 +00:00
reuk
eca02270ee
Component: Add Point<float> overloads for some common functions 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
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
Attila Szarvas
823bfb0c32 DragAndDropContainer: fix positioning when source Component is transformed 2021-09-27 10:05:19 +00:00
ed
550127945d Added floating-point implementations for some Component hit-testing methods to improve reliability when dealing with scaled Components 2021-06-08 14:14:22 +01:00
reuk
394c4fd475 Clang: Fix warnings when building with clang 10 2020-07-01 10:00:43 +01:00
ed
009d685179 Updated all license headers 2020-06-29 08:30:22 +01:00
Tom Poole
894e7d2bd2 Updated all license headers 2020-04-23 17:30:39 +01:00
reuk
327f817b9b Copyrights: Update commercial/gpl headers to be gpl-only 2020-04-09 15:22:56 +01:00
ed
a313357d39 Update DragAndDropTarget::SourceDetails::localPosition before calling DragAndDropContainer::dragOperationStarted() 2020-01-21 15:54:32 +00:00
ed
a54da0b832 Fixed some more typos 2020-01-07 08:53:23 +00:00
Tom Poole
16dd26649a Fixed some GCC compiler warnings and removed deprecated functions 2019-06-04 16:48:44 +01:00
Tom Poole
a9a0f6b92f Enforced more comprehensive const-correctness in the JUCE container classes 2019-05-29 08:52:16 +01:00
ed
46a97e1f2c Linux: Recreate mouse cursors when showing them on a different display to the one that they were originally created on 2019-05-07 17:11:54 +01:00
ed
b1c4d981da Fixed an iOS multitouch bug and added MouseInputSource::offscreenMousePos to replace some magic numbers 2019-03-26 11:40:58 +00:00
ed
56302416df Remove check for touch input in MouseInputSourceInternal::getRawScreenPosition() and instead use the cached mouse position from the native peer impls 2019-03-12 16:45:50 +00:00
ed
a234721110 Added various clang-tidy modernize-* fixes 2019-01-31 15:15:31 +00:00
jules
cadac817c6 Enabled some more warning flags in Xcode, and fixed the problems they caused 2019-01-11 09:52:10 +00:00
jules
df5be847c3 Removed a redundant method and did some minor tidying 2018-10-15 11:53:06 +01:00
Tom Poole
a3219c7fc6 Linux: Fixed a DragAndDrop issue between different containers 2018-08-21 19:20:03 +01:00
Tom Poole
e763ac3de2 Fixed a bug when performing a DragAndDrop across windows 2018-08-21 11:29:06 +01:00
Tom Poole
9dde83e662 Fixed a z-order bug when DragAndDrop-ing between plug-in windows 2018-07-18 16:34:19 +01:00
ed
4280b51d09 Made the DragAndDropContainer::performExternalDragDropOfFiles() and ::performExternalDragDropOfText() methods asynchronous on Windows so that behaviour is consistent across all platforms and updated the documentation to reflect this 2018-07-18 14:54:08 +01:00