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_DrawableText.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
26namespace juce
27{
28
29//==============================================================================
37class JUCE_API DrawableText : public Drawable
38{
39public:
40 //==============================================================================
44
46 ~DrawableText() override;
47
48 //==============================================================================
50 void setText (const String& newText);
51
53 const String& getText() const noexcept { return text;}
54
56 void setColour (Colour newColour);
57
59 Colour getColour() const noexcept { return colour; }
60
67 void setFont (const Font& newFont, bool applySizeAndScale);
68
70 const Font& getFont() const noexcept { return font; }
71
73 void setJustification (Justification newJustification);
74
76 Justification getJustification() const noexcept { return justification; }
77
79 Parallelogram<float> getBoundingBox() const noexcept { return bounds; }
80
82 void setBoundingBox (Parallelogram<float> newBounds);
83
84 float getFontHeight() const noexcept { return fontHeight; }
85 void setFontHeight (float newHeight);
86
87 float getFontHorizontalScale() const noexcept { return fontHScale; }
88 void setFontHorizontalScale (float newScale);
89
90 //==============================================================================
92 void paint (Graphics&) override;
94 std::unique_ptr<Drawable> createCopy() const override;
96 Rectangle<float> getDrawableBounds() const override;
98 Path getOutlineAsPath() const override;
100 bool replaceColour (Colour originalColour, Colour replacementColour) override;
102 std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
103
104private:
105 //==============================================================================
106 Parallelogram<float> bounds;
107 float fontHeight, fontHScale;
108 Font font, scaledFont;
109 String text;
110 Colour colour;
111 Justification justification;
112
113 void refreshBounds();
114 Rectangle<int> getTextArea (float width, float height) const;
115 AffineTransform getTextTransform (float width, float height) const;
116
117 DrawableText& operator= (const DrawableText&);
118 JUCE_LEAK_DETECTOR (DrawableText)
119};
120
121} // namespace juce
Represents a colour, also including a transparency value.
Definition juce_Colour.h:38
A drawable object which renders a line of text.
const String & getText() const noexcept
Returns the currently displayed text.
const Font & getFont() const noexcept
Returns the current font.
Colour getColour() const noexcept
Returns the current text colour.
Parallelogram< float > getBoundingBox() const noexcept
Returns the parallelogram that defines the text bounding box.
Justification getJustification() const noexcept
Returns the current justification.
The base class for objects which can draw themselves, e.g.
Represents a particular font, including its size, style, etc.
Definition juce_Font.h:42
Represents a type of justification to be used when positioning graphical items.
Represents a parallelogram that is defined by 3 points.
The JUCE String class!
Definition juce_String.h:53
#define JUCE_LEAK_DETECTOR(OwnerClass)
This macro lets you embed a leak-detecting object inside a class.
JUCE Namespace.