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_FillType.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//==============================================================================
40class JUCE_API FillType final
41{
42public:
43 //==============================================================================
45 FillType() noexcept;
46
50 FillType (Colour colour) noexcept;
51
55 FillType (const ColourGradient& gradient);
56
60 FillType (ColourGradient&& gradient);
61
66 FillType (const Image& image, const AffineTransform& transform) noexcept;
67
69 FillType (const FillType&);
70
72 FillType& operator= (const FillType&);
73
75 FillType (FillType&&) noexcept;
76
78 FillType& operator= (FillType&&) noexcept;
79
81 ~FillType() noexcept;
82
83 //==============================================================================
85 bool isColour() const noexcept { return gradient == nullptr && image.isNull(); }
86
88 bool isGradient() const noexcept { return gradient != nullptr; }
89
91 bool isTiledImage() const noexcept { return image.isValid(); }
92
95 void setColour (Colour newColour) noexcept;
96
98 void setGradient (const ColourGradient& newGradient);
99
103 void setTiledImage (const Image& image, const AffineTransform& transform) noexcept;
104
109 void setOpacity (float newOpacity) noexcept;
110
114 float getOpacity() const noexcept { return colour.getFloatAlpha(); }
115
117 bool isInvisible() const noexcept;
118
122 FillType transformed (const AffineTransform& transform) const;
123
124 //==============================================================================
130 Colour colour;
131
137 std::unique_ptr<ColourGradient> gradient;
138
143 Image image;
144
147
148 //==============================================================================
149 bool operator== (const FillType&) const;
150 bool operator!= (const FillType&) const;
151
152private:
154};
155
156} // namespace juce
Represents a 2D affine-transformation matrix.
Describes the layout and colours that should be used to paint a colour gradient.
Represents a colour, also including a transparency value.
Definition juce_Colour.h:38
float getFloatAlpha() const noexcept
Returns the colour's alpha (opacity) as a floating point value.
Represents a colour or fill pattern to use for rendering paths.
bool isGradient() const noexcept
Returns true if this is a gradient fill.
float getOpacity() const noexcept
Returns the current opacity to be applied to the colour, gradient, or image.
bool isTiledImage() const noexcept
Returns true if this is a tiled image pattern fill.
bool isColour() const noexcept
Returns true if this is a solid colour fill, and not a gradient or image.
Holds a fixed-size bitmap.
Definition juce_Image.h:58
#define JUCE_LEAK_DETECTOR(OwnerClass)
This macro lets you embed a leak-detecting object inside a class.
JUCE Namespace.
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