attila
55b00fc846
Component: Fix mouseEnter and mouseExit positions when blocked by modal
3 years ago
Tom Poole
87a4ab4a78
Disable the effect of setPaintingIsUnclipped on components with children
3 years ago
Tom Poole
9ccfea9001
Component: Make getApproximateScaleFactorForComponent take a const argument
3 years ago
reuk
eb6e579f0a
ComponentPeer: Correctly scale drag and drop coordinates to account for global scale
3 years ago
reuk
e1a7fe671a
Component: Make wheel/magnify behaviour more intuitive for disabled components
The previous implementation would pass the mouse wheel event up to the
component's parent, as long as the parent was enabled. This meant that a
wheel event on the innermost component of a hierarchy such as
"[[disabled] enabled]" would send the event to the parent, but a wheel
event on the innermost component of a hierarchy such as
"[[[disabled] disabled] enabled]" would 'eat' the event and prevent it
from propagating.
After this change, unhandled mouse wheel events will always be passed to
the nearest enabled parent. This behaviour is more consistent and
intuitive.
3 years ago
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.
3 years ago
reuk
ca4bdb6b3a
Component: Avoid calling member functions on objects destroyed when exiting modal state
3 years ago
reuk
eca02270ee
Component: Add Point<float> overloads for some common functions
3 years ago
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.
3 years ago
reuk
f85ede6b47
Component: Ensure that mouseEnter and mouseExit calls are balanced when entering/leaving modal state
3 years ago
ed
3fac215534
Component: Give away keyboard focus when disabled
3 years ago
ed
a852f4f45f
Component: Only pass mouse wheel and magnify events up to enabled parents
3 years ago
ed
46a4dc95a1
Accessibility: Fix potential infinite recursive component keyboard focus loop
3 years ago
ed
8d6ba3b54e
Accessibility: Use AccessibilityRole::ignored for UI elements that should not be accessible to screen readers but have accessible children
3 years ago
ed
59333870f5
Accessibility: Disable accessibility of child components when calling `Component::setAccessible (false);`
3 years ago
ed
a2f7aaab2f
Accessibility: Don't create AccessibilityHandler for Components without a native window handle
3 years ago
ed
a5c3b81f82
Use C++14 lambda capture initialisers for initialising deletion checkers
3 years ago
ed
e119178b5b
Check BailOutChecker before sending accessibility moved/resized event in Component::sendMovedResizedMessages()
3 years ago
ed
d1b669e6ae
Accessibility: Added InternalAccessibilityEvent::elementMovedOrResized
3 years ago
reuk
5db072b483
Component: Avoid calling native APIs from background threads
When rendering with OpenGL, the paint function is called from a
background thread. If we call `isMouseOver` from the paint function, we
may end up calling native functions via the ComponentPeer, which causes
threading warnings on macOS.
3 years ago
ed
550127945d
Added floating-point implementations for some Component hit-testing methods to improve reliability when dealing with scaled Components
4 years ago
ed
df4ff3b225
Accessibility: Fixed some focus issues with modal components
4 years ago
ed
fa17310dd1
Added back in rounding error fix from e8518048
that was overwritten in 7909af4e
4 years ago
reuk
31a7c62baf
Windows: Fix and suppress some analysis warnings
This fixes warnings that are emitted when building with the `-analyze`
flag enabled.
4 years ago
reuk
1c2abc80d7
Component: Ensure getScreenPosition result is in terms of the logical coordinate space of the screen
Previously, getScreenPosition would return a result in the component's
coordinate space if it was called on a component that was not directly
or indirectly on the desktop. This behaviour is surprising and difficult
to program around. This change should ensure that the result is always
in the screen's coordinate space.
4 years ago
ed
82a5911d56
Accessibility: Send focus change notification in Component::enterModalState()
4 years ago
reuk
668f16f0ec
Component: Ensure component position does not change when removed and re-added to desktop
4 years ago
ed
ec990202b1
Accessibility: Added VoiceOver (macOS) and Narrator (Windows) accessibility screen reader support to juce_gui_basics
4 years ago
Tom Poole
79fbde7099
Added preliminary support for FreeBSD
4 years ago
ed
891d86fe6b
Don't trigger a fake mouse move from Component::sendFakeMouseMove() if the component passes through all mouse events
4 years ago
ed
33dd896ab2
Ensure that keyboard focus is always given away when components are made invisible
4 years ago
reuk
586ab8927d
Fix warnings when building in C++20 mode
4 years ago
ed
b7e28541ca
Replaced deprecated Displays methods
4 years ago
ed
1b2c9c154b
iOS: Don't set the font smoothing property of the graphics context on iOS so that cached Component images render the same as the default
4 years ago
ed
60b6afd517
Added floating-point overrides for some Component area conversion methods
4 years ago
reuk
394c4fd475
Clang: Fix warnings when building with clang 10
4 years ago
ed
009d685179
Updated all license headers
4 years ago
reuk
4cf66d6522
Cleanup: Remove redundant inlines
5 years ago
Tom Poole
894e7d2bd2
Updated all license headers
5 years ago
Tom Poole
2d16374b14
Updated all license headers
5 years ago
reuk
327f817b9b
Copyrights: Update commercial/gpl headers to be gpl-only
5 years ago
ed
26c9468dc5
Deprecated AffineTransform::getScaleFactor() as it was producing incorrect values for transforms containing rotations. Added getDeterminant() method for getting the determinant of the transform
5 years ago
ed
621f6cb6a2
Guard against NaN errors in Component::internalRepaintUnchecked()
5 years ago
ed
dab4741eb3
Tidied up a few bits of graphics code with Graphics::ScopedSaveState
5 years ago
ed
2539f4d24f
DRY-ed some code by adding a static Component::getApproximateScaleFactorForComponent() method
6 years ago
ed
3d8acd864a
Fixed some pen input source issues
6 years ago
ed
5c03d13f0d
Revert previous commit and instead call ComponentHelpers::releaseAllCachedImageResources() from Component::removeFromDesktop()
6 years ago
Tom Poole
d06a2b8c13
Fixed compatibility with GCC 4.8
6 years ago
jules
5979288706
Added some macros for asserting when functions are called in an unsafe manner outside the message thread.
6 years ago
ed
b78e63aa02
Moved Displays class out of Desktop and into its own .h/.cpp and deprecated Displays::getDisplayContaining()
6 years ago