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

586 commits

Author SHA1 Message Date
Gavin Burke
8a99bc1a71
Merge 984fc9476f into d6181bde38 2025-07-11 04:30:17 +02:00
attila
a272b35261 TextEditor: Fix lines being invisible beyond the word wrap width 2025-05-21 17:47:20 +02:00
attila
0e4287df52 ShapedTextOptions: Rename maxWidth to wordWrapWidth
The old name didn't communicate it clearly enough what the parameter was
used for. This started to show when alignmentWidth was added.
2025-05-21 17:47:20 +02:00
Sudara
9a4ab937ad Docs: Fix a few tiny typos in comments 2025-05-08 16:33:24 +02:00
attila
6a53ddcb77 TextEditor: Restore JUCE 7 behaviour for the first line's alignment when line spacing > 1 2025-04-23 18:11:26 +02:00
attila
56b7b7621e TextEditor: Fix caret size in first and last position when line spacing is non-unity 2025-04-23 18:11:26 +02:00
attila
d2d5e9bdd2 TextEditor: Fix setLineSpacing
Applies the previously missed line spacing value of the TextEditor.

The changes in JustifiedText fix calculating the vertical position of
the first line for the case where ShapedTextOptions has the following
settings:

isBaselineAtZero() == false,
getHeight().has_value() == false
getLeading() > 1.0f

This case however is only triggered by the TextEditor, as with all
functions in GlyphArrangement at least one setting is different.
2025-04-23 18:11:26 +02:00
attila
e23969f3ce TextEditor: Fix drawing text in the wrong colour 2025-04-23 18:11:26 +02:00
attila
9083cd9135 Fix TextEditor crash when Font resolution fails 2025-04-02 15:33:27 +02:00
attila
bd015f5c97 Fix psabi warning emitted by GCC on ARM64
The type std::pair<Point<float>, float> inherits from an empty base on
C++17. Due to a bug in GCC 10.1 this would prevent the compiler from
treating it as a HFA type, and it would use a different register to pass
it, than it does in newer GCC versions. Because of this ABI change an
ABI warning is emitted by GCC today, hinting at this fact.

By using a custom struct that does not inherit from an empty base we are
avoiding emitting this warning.
2025-03-25 10:20:57 +01:00
attila
5f5a247f82 TextEditor: Fix centred and right alignment when word wrap is disabled 2025-03-20 21:12:32 +01:00
attila
ae4bca24f4 TextEditor: Fix crash when the caret is beyond a newline in the last position 2025-03-18 15:14:10 +01:00
attila
432a7e1c9a Fix C++20 compilation 2025-03-14 10:03:11 +01:00
attila
9ce2feaf41 TextEditor: Improve Unicode editing behaviour and performance 2025-03-13 12:16:16 +01: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
29213e07a1
Font: Deprecate getStringWidth and getGlyphPositions 2024-09-18 19:13:09 +01:00
reuk
49dc20db6e
ComboBox: Update accessibility handler to expose combo box title 2024-08-22 17:35:16 +01:00
attila
d7d8155da9 Fix some doxygen issues 2024-08-22 17:05:03 +02:00
attila
5ce2fc388e Fix C++23 compilation 2024-08-15 11:15:15 +02:00
Tom Poole
05b036272a Fix some Doxygen docstrings 2024-06-12 09:35:32 +01:00
reuk
182dd84e59
Slider: Avoid updating internal Value when old and new values are both NaN
Without this change in place, setting the Value to NaN can cause a stack
overflow because the old and new values always compare unequal, causing
new change notifications to be sent.
2024-06-11 11:34:05 +01:00
reuk
4533077b75
LookAndFeel: Allow specifying a default typeface metrics kind to use 2024-04-18 14:16:00 +01:00
reuk
4f2c287f9b
Font: Deprecate old Font constructors 2024-04-18 14:16:00 +01:00
attila
5f638157f7 WebBrowserComponent: Improve native integrations 2024-04-16 17:43:21 +01:00
Tom Poole
94d98a2b10 Update licensing information 2024-04-16 11:39:35 +01:00
reuk
5957cef205
TreeView: Improve performance when rendering very large trees
Previously, trees with thousands of items could take a long time to
render when scrolling due to poor complexity of getAllVisibleItems()
2024-03-18 14:29:25 +00:00
Aymeric
26d0730b0b fixed conflicts 2024-02-14 12:57:11 +01:00
GavinFAW
0e860cd562 fixing error with combo box 2024-01-31 11:01:58 +00:00
GavinFAW
0d4405a5d3 making getItemForId in Combobox public 2024-01-31 10:57:35 +00:00
reuk
047448fbce
Warnings: Add missing overrides 2024-01-30 11:37:30 +00:00
attila
31dfb05ea3 Toolbar: Change the background colour of CustomisationDialog, make it configurable 2024-01-10 15:45:05 +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
Tom Poole
ff0cb4ad5b Use NullCheckedInvocation in more places 2023-10-02 13:40:10 +01:00
Tom Poole
7d45d498b9 Removed some superfluous consts from definitions 2023-09-20 16:31:10 +01:00
Tom Poole
9b041f3d74 Add a base clang-tidy configuration 2023-09-18 11:24:19 +01:00
reuk
e4b8569b12
TextEditor: Avoid giving away keyboard focus unconditionally in destructor
While improving Android IME support (da38c1ed), text editor destructors
were updated to explicitly pass keyboard focus elsewhere.
As far as I remember, the change was intended to prevent the text input
system from trying to send input events to components while they were
being destroyed, in which case the TextInputTarget and Component bases
may be 'valid', but the data members referenced by the TextInputTarget
implementation may have been destroyed.

The motivation for removing these lines is that giving away focus and
sending a focus event can cause all components to become unfocused. This
is problematic in the case of slider text editors - pressing 'enter'
will cause the TextEditor to be destroyed, but the parent component will
fail to gain focus, so pressing 'tab' will not have any effect.
2023-07-31 19:36:32 +01:00
reuk
3387ca362c
TextEditor: Avoid moveCaretTo(Start|End)OfLine moving to the previous line 2023-07-31 18:35:41 +01:00
Anthony Nicholls
02eb66ee7a ProgressBar: Add style parameter 2023-06-22 13:07:03 +00:00
Anthony Nicholls
b09b4c3bc0 Slider: add getNormalisableRange() 2023-06-13 18:09:32 +01:00
reuk
bc9e709e59
ListBox: Rename getModel to avoid name hiding by derived classes 2023-06-08 15:26:24 +01:00
reuk
28414a6af8
Global: Avoid floating-point equality checks where possible 2023-04-04 19:55:11 +01:00
Oliver James
9d909fc3fe Slider: LookAndFeel outline style 2023-04-04 10:06:40 +01:00
Anthony Nicholls
28c31b1f26 Slider: allow a sliders text-box to update when a colour changes in the slider 2023-03-31 13:15:27 +00:00
Anthony Nicholls
c7689793f2 Widgets: call repaint() in colourChanged() callbacks 2023-03-22 14:59:37 +00:00
Anthony Nicholls
ba50a35364 Widgets: stop calling repaint in lookAndFeelChanged()
- A repaint will always occur from a lookAndFeelChanged
2023-03-22 14:59:15 +00: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
628edb1e15
TableListBox: Refactor mouse handling to reuse ListBox mouse handling 2023-03-08 18:19:20 +00:00
reuk
629a3ca14b
ListBox: Allow ListBoxModel to control whether items may be dragged to other windows 2023-02-22 21:00:17 +00:00
reuk
9cfbccca8e
Accessibility: Make createAccessibilityHandler public to allow calls from derived classes 2023-02-09 17:54:18 +00:00