LMMS
Loading...
Searching...
No Matches
juce_FlexItem.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
37{
38public:
39 //==============================================================================
41 FlexItem() noexcept;
42
44 FlexItem (float width, float height) noexcept;
45
47 FlexItem (float width, float height, Component& targetComponent) noexcept;
48
50 FlexItem (float width, float height, FlexBox& flexBoxToControl) noexcept;
51
53 FlexItem (Component& componentToControl) noexcept;
54
58 FlexItem (FlexBox& flexBoxToControl) noexcept;
59
60 //==============================================================================
63
66
69
74 int order = 0;
75
79 float flexGrow = 0.0f;
80
85 float flexShrink = 1.0f;
86
91 float flexBasis = 0.0f;
92
94 enum class AlignSelf
95 {
96 autoAlign,
97 flexStart,
98 flexEnd,
99 center,
100 stretch
101 };
102
108
109 //==============================================================================
111 static const int autoValue = -2;
113 static const int notAssigned = -1;
114
115 float width = (float) notAssigned;
116 float minWidth = 0.0f;
117 float maxWidth = (float) notAssigned;
118
119 float height = (float) notAssigned;
120 float minHeight = 0.0f;
121 float maxHeight = (float) notAssigned;
122
125 {
126 Margin() noexcept;
127 Margin (float size) noexcept;
128 Margin (float top, float right, float bottom, float left) noexcept;
129
130 float left;
131 float right;
132 float top;
133 float bottom;
134 };
135
138
139 //==============================================================================
141 FlexItem withFlex (float newFlexGrow) const noexcept;
142
144 FlexItem withFlex (float newFlexGrow, float newFlexShrink) const noexcept;
145
147 FlexItem withFlex (float newFlexGrow, float newFlexShrink, float newFlexBasis) const noexcept;
148
150 FlexItem withWidth (float newWidth) const noexcept;
151
153 FlexItem withMinWidth (float newMinWidth) const noexcept;
154
156 FlexItem withMaxWidth (float newMaxWidth) const noexcept;
157
159 FlexItem withHeight (float newHeight) const noexcept;
160
162 FlexItem withMinHeight (float newMinHeight) const noexcept;
163
165 FlexItem withMaxHeight (float newMaxHeight) const noexcept;
166
168 FlexItem withMargin (Margin) const noexcept;
169
171 FlexItem withOrder (int newOrder) const noexcept;
172
174 FlexItem withAlignSelf (AlignSelf newAlignSelf) const noexcept;
175};
176
177} // namespace juce
#define final
Definition DistrhoDefines.h:74
Definition juce_Component.h:36
Definition juce_FlexBox.h:43
float height
Definition juce_FlexItem.h:119
AlignSelf
Definition juce_FlexItem.h:95
@ autoAlign
Definition juce_FlexItem.h:96
AlignSelf alignSelf
Definition juce_FlexItem.h:107
FlexItem() noexcept
Definition juce_FlexBox.cpp:788
FlexItem withHeight(float newHeight) const noexcept
Definition juce_FlexBox.cpp:827
FlexItem withWidth(float newWidth) const noexcept
Definition juce_FlexBox.cpp:821
float minWidth
Definition juce_FlexItem.h:116
float maxHeight
Definition juce_FlexItem.h:121
FlexItem withOrder(int newOrder) const noexcept
Definition juce_FlexBox.cpp:830
int order
Definition juce_FlexItem.h:74
static const int autoValue
Definition juce_FlexItem.h:111
FlexItem withAlignSelf(AlignSelf newAlignSelf) const noexcept
Definition juce_FlexBox.cpp:831
FlexItem withMinWidth(float newMinWidth) const noexcept
Definition juce_FlexBox.cpp:822
FlexItem withMinHeight(float newMinHeight) const noexcept
Definition juce_FlexBox.cpp:825
float minHeight
Definition juce_FlexItem.h:120
FlexItem withMargin(Margin) const noexcept
Definition juce_FlexBox.cpp:829
FlexItem withMaxHeight(float newMaxHeight) const noexcept
Definition juce_FlexBox.cpp:826
float width
Definition juce_FlexItem.h:115
FlexBox * associatedFlexBox
Definition juce_FlexItem.h:68
Component * associatedComponent
Definition juce_FlexItem.h:65
float flexGrow
Definition juce_FlexItem.h:79
float flexShrink
Definition juce_FlexItem.h:85
float maxWidth
Definition juce_FlexItem.h:117
FlexItem withMaxWidth(float newMaxWidth) const noexcept
Definition juce_FlexBox.cpp:823
float flexBasis
Definition juce_FlexItem.h:91
FlexItem withFlex(float newFlexGrow) const noexcept
Definition juce_FlexBox.cpp:800
Rectangle< float > currentBounds
Definition juce_FlexItem.h:62
Margin margin
Definition juce_FlexItem.h:137
static const int notAssigned
Definition juce_FlexItem.h:113
Definition juce_Rectangle.h:67
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
Definition juce_FlexItem.h:125
Margin() noexcept
Definition juce_FlexBox.cpp:795
float right
Definition juce_FlexItem.h:131
float left
Definition juce_FlexItem.h:130
float bottom
Definition juce_FlexItem.h:133
float top
Definition juce_FlexItem.h:132
ulg size
Definition extract.c:2350