JUCE-7.0.12-0-g4f43011b96
JUCE-7.0.12-0-g4f43011b96
JUCE — C++ application framework with suport for VST, VST3, LV2 audio plug-ins
« « « Anklang Documentation
Loading...
Searching...
No Matches
juce_gui_basics
detail
juce_LookAndFeelHelpers.h
Go to the documentation of this file.
1
/*
2
==============================================================================
3
4
This file is part of the JUCE library.
5
Copyright (c) 2022 - Raw Material Software Limited
6
7
JUCE is an open source library subject to commercial or open-source
8
licensing.
9
10
By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11
Agreement and JUCE Privacy Policy.
12
13
End User License Agreement: www.juce.com/juce-7-licence
14
Privacy Policy: www.juce.com/juce-privacy-policy
15
16
Or: You may also use this code under the terms of the GPL v3 (see
17
www.gnu.org/licenses).
18
19
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21
DISCLAIMED.
22
23
==============================================================================
24
*/
25
26
namespace
juce::detail
27
{
28
29
struct
LookAndFeelHelpers
30
{
31
LookAndFeelHelpers
() =
delete
;
32
33
static
Colour
createBaseColour (
Colour
buttonColour,
34
bool
hasKeyboardFocus,
35
bool
shouldDrawButtonAsHighlighted,
36
bool
shouldDrawButtonAsDown)
noexcept
37
{
38
const
float
sat = hasKeyboardFocus ? 1.3f : 0.9f;
39
const
Colour
baseColour (buttonColour.
withMultipliedSaturation
(sat));
40
41
if
(shouldDrawButtonAsDown)
return
baseColour.
contrasting
(0.2f);
42
if
(shouldDrawButtonAsHighlighted)
return
baseColour.
contrasting
(0.1f);
43
44
return
baseColour;
45
}
46
47
static
TextLayout
layoutTooltipText (
const
String
& text,
Colour
colour)
noexcept
48
{
49
const
float
tooltipFontSize = 13.0f;
50
const
int
maxToolTipWidth = 400;
51
52
AttributedString
s;
53
s.
setJustification
(
Justification::centred
);
54
s.
append
(text,
Font
(tooltipFontSize,
Font::bold
), colour);
55
56
TextLayout
tl;
57
tl.
createLayoutWithBalancedLineLengths
(s, (
float
) maxToolTipWidth);
58
return
tl;
59
}
60
};
61
62
}
// namespace juce::detail
juce::AttributedString
A text string with a set of colour/font settings that are associated with sub-ranges of the text.
Definition
juce_AttributedString.h:47
juce::AttributedString::append
void append(const String &textToAppend)
Appends some text (with a default font and colour).
Definition
juce_AttributedString.cpp:175
juce::AttributedString::setJustification
void setJustification(Justification newJustification) noexcept
Sets the justification that should be used for laying-out the text.
Definition
juce_AttributedString.cpp:223
juce::Colour
Represents a colour, also including a transparency value.
Definition
juce_Colour.h:38
juce::Colour::withMultipliedSaturation
Colour withMultipliedSaturation(float multiplier) const noexcept
Returns a copy of this colour with its saturation multiplied by the given value.
Definition
juce_Colour.cpp:437
juce::Colour::contrasting
Colour contrasting(float amount=1.0f) const noexcept
Returns a colour that will be clearly visible against this colour.
Definition
juce_Colour.cpp:496
juce::Font
Represents a particular font, including its size, style, etc.
Definition
juce_Font.h:42
juce::Font::bold
@ bold
boldens the font.
Definition
juce_Font.h:51
juce::Justification::centred
@ centred
Indicates that the item should be centred vertically and horizontally.
Definition
juce_Justification.h:138
juce::String
The JUCE String class!
Definition
juce_String.h:53
juce::TextLayout
A Pre-formatted piece of text, which may contain multiple fonts and colours.
Definition
juce_TextLayout.h:41
juce::TextLayout::createLayoutWithBalancedLineLengths
void createLayoutWithBalancedLineLengths(const AttributedString &, float maxWidth)
Creates a layout, attempting to choose a width which results in lines of a similar length.
Definition
juce_TextLayout.cpp:261
juce::detail::LookAndFeelHelpers
Definition
juce_LookAndFeelHelpers.h:30
« « « Anklang Documentation