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::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::unalignedPointerCast
Type unalignedPointerCast(void *ptr) noexcept
Casts a pointer to another type via void*, which suppresses the cast-align warning which sometimes ar...
Definition
juce_Memory.h:88
juce::detail::LookAndFeelHelpers
Definition
juce_LookAndFeelHelpers.h:30
« « « Anklang Documentation