15 case QQuickFlexboxLayout::NoWrap:
return YGWrap::YGWrapNoWrap;
16 case QQuickFlexboxLayout::Wrap:
return YGWrap::YGWrapWrap;
17 case QQuickFlexboxLayout::WrapReverse:
return YGWrap::YGWrapWrapReverse;
19 qWarning(
"Not a valid wrap");
26 switch (qtDirection) {
27 case QQuickFlexboxLayout::Column:
return YGFlexDirection::YGFlexDirectionColumn;
28 case QQuickFlexboxLayout::ColumnReverse:
return YGFlexDirection::YGFlexDirectionColumnReverse;
29 case QQuickFlexboxLayout::Row:
return YGFlexDirection::YGFlexDirectionRow;
30 case QQuickFlexboxLayout::RowReverse:
return YGFlexDirection::YGFlexDirectionRowReverse;
32 qWarning(
"Not a valid direction");
33 return YGFlexDirection{};
39 switch (qtAlignment) {
40 case QQuickFlexboxLayout::AlignAuto:
return YGAlign::YGAlignAuto;
41 case QQuickFlexboxLayout::AlignStart:
return YGAlign::YGAlignFlexStart;
42 case QQuickFlexboxLayout::AlignCenter:
return YGAlign::YGAlignCenter;
43 case QQuickFlexboxLayout::AlignEnd:
return YGAlign::YGAlignFlexEnd;
44 case QQuickFlexboxLayout::AlignStretch:
return YGAlign::YGAlignStretch;
45 case QQuickFlexboxLayout::AlignBaseline:
return YGAlign::YGAlignBaseline;
46 case QQuickFlexboxLayout::AlignSpaceBetween:
return YGAlign::YGAlignSpaceBetween;
47 case QQuickFlexboxLayout::AlignSpaceAround:
return YGAlign::YGAlignSpaceAround;
48 case QQuickFlexboxLayout::AlignSpaceEvenly: {
52 qWarning(
"Not a valid alignment");
60 case QQuickFlexboxLayout::JustifyStart:
return YGJustify::YGJustifyFlexStart;
61 case QQuickFlexboxLayout::JustifyCenter:
return YGJustify::YGJustifyCenter;
62 case QQuickFlexboxLayout::JustifyEnd:
return YGJustify::YGJustifyFlexEnd;
63 case QQuickFlexboxLayout::JustifySpaceBetween:
return YGJustify::YGJustifySpaceBetween;
64 case QQuickFlexboxLayout::JustifySpaceAround:
return YGJustify::YGJustifySpaceAround;
65 case QQuickFlexboxLayout::JustifySpaceEvenly:
return YGJustify::YGJustifySpaceEvenly;
67 qWarning(
"Not a valid justify");
75 case QQuickFlexboxLayout::EdgeLeft:
return YGEdge::YGEdgeLeft;
76 case QQuickFlexboxLayout::EdgeRight:
return YGEdge::YGEdgeRight;
77 case QQuickFlexboxLayout::EdgeTop:
return YGEdge::YGEdgeTop;
78 case QQuickFlexboxLayout::EdgeBottom:
return YGEdge::YGEdgeBottom;
79 case QQuickFlexboxLayout::EdgeAll:
return YGEdge::YGEdgeAll;
81 qWarning(
"Not a valid edge");
89 case QQuickFlexboxLayout::GapRow:
return YGGutter::YGGutterRow;
90 case QQuickFlexboxLayout::GapColumn:
return YGGutter::YGGutterColumn;
91 case QQuickFlexboxLayout::GapAll:
return YGGutter::YGGutterAll;
93 qWarning(
"Not a valid gap");
211bool QQuickFlexboxLayoutItem::isItemStreched()
const
213 return ((YGNodeStyleGetAlignSelf(m_yogaNode) == YGAlignStretch) ||
214 ((YGNodeStyleGetAlignSelf(m_yogaNode) == YGAlignAuto) &&
215 (YGNodeStyleGetAlignItems(m_yogaNode->getParent()) == YGAlignStretch)));
223void QQuickFlexboxLayoutItem::resetMargins()
225 YGNodeStyleSetMargin(m_yogaNode, YGEdgeLeft, 0);
226 YGNodeStyleSetMargin(m_yogaNode, YGEdgeTop, 0);
227 YGNodeStyleSetMargin(m_yogaNode, YGEdgeRight, 0);
228 YGNodeStyleSetMargin(m_yogaNode, YGEdgeBottom, 0);
285void QQuickFlexboxLayoutItem::computeLayout(
const QSizeF &size)
288 const float width = (qt_is_nan(size.width()) || qt_is_inf(size.width()) ||
289 !size.width()) ? YGUndefined : size.width();
290 const float height = (qt_is_nan(size.height()) || qt_is_inf(size.height()) ||
291 !size.height()) ? YGUndefined : size.height();
292 YGNodeCalculateLayout(m_yogaNode, width, height, YGDirectionLTR);