slot 0.0.1
A real time UI render framework
载入中...
搜索中...
未找到
Public 类型 | Public 成员函数 | Private 成员函数 | Private 属性 | 所有成员列表
facebook::yoga::Node类 参考

#include <Node.h>

类 facebook::yoga::Node 继承关系图:
Inheritance graph
[图例]
facebook::yoga::Node 的协作图:
Collaboration graph
[图例]

Public 类型

using LayoutableChildren = yoga::LayoutableChildren<Node>
 

Public 成员函数

 Node ()
 
 Node (const Config *config)
 
 Node (Node &&node) noexcept
 
 Node (const Node &node)=default
 
Node & operator= (const Node &)=delete
 
void * getContext () const
 
bool alwaysFormsContainingBlock () const
 
bool getHasNewLayout () const
 
NodeType getNodeType () const
 
bool hasMeasureFunc () const noexcept
 
YGSize measure (float availableWidth, MeasureMode widthMode, float availableHeight, MeasureMode heightMode)
 
bool hasBaselineFunc () const noexcept
 
float baseline (float width, float height) const
 
float dimensionWithMargin (FlexDirection axis, float widthSize)
 
bool isLayoutDimensionDefined (FlexDirection axis)
 
bool hasDefiniteLength (Dimension dimension, float ownerSize)
 
bool hasErrata (Errata errata) const
 
bool hasContentsChildren () const
 
YGDirtiedFunc getDirtiedFunc () const
 
Stylestyle ()
 
const Stylestyle () const
 
LayoutResultsgetLayout ()
 
const LayoutResultsgetLayout () const
 
size_t getLineIndex () const
 
bool isReferenceBaseline () const
 
Node * getOwner () const
 
const std::vector< Node * > & getChildren () const
 
Node * getChild (size_t index) const
 
size_t getChildCount () const
 
LayoutableChildren getLayoutChildren () const
 
size_t getLayoutChildCount () const
 
const ConfiggetConfig () const
 
bool isDirty () const
 
Style::SizeLength getProcessedDimension (Dimension dimension) const
 
FloatOptional getResolvedDimension (Direction direction, Dimension dimension, float referenceLength, float ownerWidth) const
 
void setContext (void *context)
 
void setAlwaysFormsContainingBlock (bool alwaysFormsContainingBlock)
 
void setHasNewLayout (bool hasNewLayout)
 
void setNodeType (NodeType nodeType)
 
void setMeasureFunc (YGMeasureFunc measureFunc)
 
void setBaselineFunc (YGBaselineFunc baseLineFunc)
 
void setDirtiedFunc (YGDirtiedFunc dirtiedFunc)
 
void setStyle (const Style &style)
 
void setLayout (const LayoutResults &layout)
 
void setLineIndex (size_t lineIndex)
 
void setIsReferenceBaseline (bool isReferenceBaseline)
 
void setOwner (Node *owner)
 
void setConfig (Config *config)
 
void setDirty (bool isDirty)
 
void setChildren (const std::vector< Node * > &children)
 
void setLayoutLastOwnerDirection (Direction direction)
 
void setLayoutComputedFlexBasis (FloatOptional computedFlexBasis)
 
void setLayoutComputedFlexBasisGeneration (uint32_t computedFlexBasisGeneration)
 
void setLayoutMeasuredDimension (float measuredDimension, Dimension dimension)
 
void setLayoutHadOverflow (bool hadOverflow)
 
void setLayoutDimension (float lengthValue, Dimension dimension)
 
void setLayoutDirection (Direction direction)
 
void setLayoutMargin (float margin, PhysicalEdge edge)
 
void setLayoutBorder (float border, PhysicalEdge edge)
 
void setLayoutPadding (float padding, PhysicalEdge edge)
 
void setLayoutPosition (float position, PhysicalEdge edge)
 
void setPosition (Direction direction, float ownerWidth, float ownerHeight)
 
Style::SizeLength processFlexBasis () const
 
FloatOptional resolveFlexBasis (Direction direction, FlexDirection flexDirection, float referenceLength, float ownerWidth) const
 
void processDimensions ()
 
Direction resolveDirection (Direction ownerDirection)
 
void clearChildren ()
 
void replaceChild (Node *oldChild, Node *newChild)
 Replaces the occurrences of oldChild with newChild
 
void replaceChild (Node *child, size_t index)
 
void insertChild (Node *child, size_t index)
 
bool removeChild (Node *child)
 Removes the first occurrence of child
 
void removeChild (size_t index)
 
void cloneChildrenIfNeeded ()
 
void cloneContentsChildrenIfNeeded ()
 
void markDirtyAndPropagate ()
 
float resolveFlexGrow () const
 
float resolveFlexShrink () const
 
bool isNodeFlexible ()
 
void reset ()
 
float relativePosition (FlexDirection axis, Direction direction, float axisSize) const
 

Private 成员函数

Node & operator= (Node &&) noexcept=default
 
void useWebDefaults ()
 

Private 属性

bool hasNewLayout_: 1 = true
 
bool isReferenceBaseline_: 1 = false
 
bool isDirty_: 1 = true
 
bool alwaysFormsContainingBlock_: 1 = false
 
NodeType nodeType_: bitCount<NodeType>() = NodeType::Default
 
void * context_ = nullptr
 
YGMeasureFunc measureFunc_ = nullptr
 
YGBaselineFunc baselineFunc_ = nullptr
 
YGDirtiedFunc dirtiedFunc_ = nullptr
 
Style style_
 
LayoutResults layout_
 
size_t lineIndex_ = 0
 
size_t contentsChildrenCount_ = 0
 
Node * owner_ = nullptr
 
std::vector< Node * > children_
 
const Configconfig_
 
std::array< Style::SizeLength, 2 > processedDimensions_
 

成员类型定义说明

◆ LayoutableChildren

using facebook::yoga::Node::LayoutableChildren = yoga::LayoutableChildren<Node>

构造及析构函数说明

◆ Node() [1/4]

facebook::yoga::Node::Node ( )

◆ Node() [2/4]

facebook::yoga::Node::Node ( const Config * config)
explicit

◆ Node() [3/4]

facebook::yoga::Node::Node ( Node && node)
noexcept

◆ Node() [4/4]

facebook::yoga::Node::Node ( const Node & node)
default

成员函数说明

◆ alwaysFormsContainingBlock()

bool facebook::yoga::Node::alwaysFormsContainingBlock ( ) const
inline

◆ baseline()

float facebook::yoga::Node::baseline ( float width,
float height ) const

◆ clearChildren()

void facebook::yoga::Node::clearChildren ( )

◆ cloneChildrenIfNeeded()

void facebook::yoga::Node::cloneChildrenIfNeeded ( )
函数调用图:

◆ cloneContentsChildrenIfNeeded()

void facebook::yoga::Node::cloneContentsChildrenIfNeeded ( )
函数调用图:

◆ dimensionWithMargin()

float facebook::yoga::Node::dimensionWithMargin ( FlexDirection axis,
float widthSize )
函数调用图:

◆ getChild()

Node * facebook::yoga::Node::getChild ( size_t index) const
inline

◆ getChildCount()

size_t facebook::yoga::Node::getChildCount ( ) const
inline

◆ getChildren()

const std::vector< Node * > & facebook::yoga::Node::getChildren ( ) const
inline

◆ getConfig()

const Config * facebook::yoga::Node::getConfig ( ) const
inline

◆ getContext()

void * facebook::yoga::Node::getContext ( ) const
inline

◆ getDirtiedFunc()

YGDirtiedFunc facebook::yoga::Node::getDirtiedFunc ( ) const
inline

◆ getHasNewLayout()

bool facebook::yoga::Node::getHasNewLayout ( ) const
inline

◆ getLayout() [1/2]

LayoutResults & facebook::yoga::Node::getLayout ( )
inline

◆ getLayout() [2/2]

const LayoutResults & facebook::yoga::Node::getLayout ( ) const
inline

◆ getLayoutChildCount()

size_t facebook::yoga::Node::getLayoutChildCount ( ) const
inline

◆ getLayoutChildren()

LayoutableChildren facebook::yoga::Node::getLayoutChildren ( ) const
inline

◆ getLineIndex()

size_t facebook::yoga::Node::getLineIndex ( ) const
inline

◆ getNodeType()

NodeType facebook::yoga::Node::getNodeType ( ) const
inline

◆ getOwner()

Node * facebook::yoga::Node::getOwner ( ) const
inline

◆ getProcessedDimension()

Style::SizeLength facebook::yoga::Node::getProcessedDimension ( Dimension dimension) const
inline
函数调用图:

◆ getResolvedDimension()

FloatOptional facebook::yoga::Node::getResolvedDimension ( Direction direction,
Dimension dimension,
float referenceLength,
float ownerWidth ) const
inline
函数调用图:

◆ hasBaselineFunc()

bool facebook::yoga::Node::hasBaselineFunc ( ) const
inlinenoexcept

◆ hasContentsChildren()

bool facebook::yoga::Node::hasContentsChildren ( ) const
inline

◆ hasDefiniteLength()

bool facebook::yoga::Node::hasDefiniteLength ( Dimension dimension,
float ownerSize )
inline

Whether the node has a "definite length" along the given axis. https://www.w3.org/TR/css-sizing-3/#definite

函数调用图:

◆ hasErrata()

bool facebook::yoga::Node::hasErrata ( Errata errata) const
inline

◆ hasMeasureFunc()

bool facebook::yoga::Node::hasMeasureFunc ( ) const
inlinenoexcept

◆ insertChild()

void facebook::yoga::Node::insertChild ( Node * child,
size_t index )

◆ isDirty()

bool facebook::yoga::Node::isDirty ( ) const
inline

◆ isLayoutDimensionDefined()

bool facebook::yoga::Node::isLayoutDimensionDefined ( FlexDirection axis)
函数调用图:

◆ isNodeFlexible()

bool facebook::yoga::Node::isNodeFlexible ( )

◆ isReferenceBaseline()

bool facebook::yoga::Node::isReferenceBaseline ( ) const
inline

◆ markDirtyAndPropagate()

void facebook::yoga::Node::markDirtyAndPropagate ( )

◆ measure()

YGSize facebook::yoga::Node::measure ( float availableWidth,
MeasureMode widthMode,
float availableHeight,
MeasureMode heightMode )
函数调用图:

◆ operator=() [1/2]

Node & facebook::yoga::Node::operator= ( const Node & )
delete

◆ operator=() [2/2]

Node & facebook::yoga::Node::operator= ( Node && )
privatedefaultnoexcept

◆ processDimensions()

void facebook::yoga::Node::processDimensions ( )

◆ processFlexBasis()

Style::SizeLength facebook::yoga::Node::processFlexBasis ( ) const
函数调用图:

◆ relativePosition()

float facebook::yoga::Node::relativePosition ( FlexDirection axis,
Direction direction,
float axisSize ) const

◆ removeChild() [1/2]

bool facebook::yoga::Node::removeChild ( Node * child)

Removes the first occurrence of child

◆ removeChild() [2/2]

void facebook::yoga::Node::removeChild ( size_t index)

◆ replaceChild() [1/2]

void facebook::yoga::Node::replaceChild ( Node * child,
size_t index )

◆ replaceChild() [2/2]

void facebook::yoga::Node::replaceChild ( Node * oldChild,
Node * newChild )

Replaces the occurrences of oldChild with newChild

◆ reset()

void facebook::yoga::Node::reset ( )

◆ resolveDirection()

Direction facebook::yoga::Node::resolveDirection ( Direction ownerDirection)

◆ resolveFlexBasis()

FloatOptional facebook::yoga::Node::resolveFlexBasis ( Direction direction,
FlexDirection flexDirection,
float referenceLength,
float ownerWidth ) const
函数调用图:

◆ resolveFlexGrow()

float facebook::yoga::Node::resolveFlexGrow ( ) const

◆ resolveFlexShrink()

float facebook::yoga::Node::resolveFlexShrink ( ) const

◆ setAlwaysFormsContainingBlock()

void facebook::yoga::Node::setAlwaysFormsContainingBlock ( bool alwaysFormsContainingBlock)
inline

◆ setBaselineFunc()

void facebook::yoga::Node::setBaselineFunc ( YGBaselineFunc baseLineFunc)
inline

◆ setChildren()

void facebook::yoga::Node::setChildren ( const std::vector< Node * > & children)

◆ setConfig()

void facebook::yoga::Node::setConfig ( yoga::Config * config)

◆ setContext()

void facebook::yoga::Node::setContext ( void * context)
inline

◆ setDirtiedFunc()

void facebook::yoga::Node::setDirtiedFunc ( YGDirtiedFunc dirtiedFunc)
inline

◆ setDirty()

void facebook::yoga::Node::setDirty ( bool isDirty)

◆ setHasNewLayout()

void facebook::yoga::Node::setHasNewLayout ( bool hasNewLayout)
inline

◆ setIsReferenceBaseline()

void facebook::yoga::Node::setIsReferenceBaseline ( bool isReferenceBaseline)
inline

◆ setLayout()

void facebook::yoga::Node::setLayout ( const LayoutResults & layout)
inline

◆ setLayoutBorder()

void facebook::yoga::Node::setLayoutBorder ( float border,
PhysicalEdge edge )

◆ setLayoutComputedFlexBasis()

void facebook::yoga::Node::setLayoutComputedFlexBasis ( FloatOptional computedFlexBasis)

◆ setLayoutComputedFlexBasisGeneration()

void facebook::yoga::Node::setLayoutComputedFlexBasisGeneration ( uint32_t computedFlexBasisGeneration)

◆ setLayoutDimension()

void facebook::yoga::Node::setLayoutDimension ( float lengthValue,
Dimension dimension )
函数调用图:

◆ setLayoutDirection()

void facebook::yoga::Node::setLayoutDirection ( Direction direction)

◆ setLayoutHadOverflow()

void facebook::yoga::Node::setLayoutHadOverflow ( bool hadOverflow)

◆ setLayoutLastOwnerDirection()

void facebook::yoga::Node::setLayoutLastOwnerDirection ( Direction direction)

◆ setLayoutMargin()

void facebook::yoga::Node::setLayoutMargin ( float margin,
PhysicalEdge edge )

◆ setLayoutMeasuredDimension()

void facebook::yoga::Node::setLayoutMeasuredDimension ( float measuredDimension,
Dimension dimension )
函数调用图:

◆ setLayoutPadding()

void facebook::yoga::Node::setLayoutPadding ( float padding,
PhysicalEdge edge )

◆ setLayoutPosition()

void facebook::yoga::Node::setLayoutPosition ( float position,
PhysicalEdge edge )

◆ setLineIndex()

void facebook::yoga::Node::setLineIndex ( size_t lineIndex)
inline

◆ setMeasureFunc()

void facebook::yoga::Node::setMeasureFunc ( YGMeasureFunc measureFunc)

◆ setNodeType()

void facebook::yoga::Node::setNodeType ( NodeType nodeType)
inline

◆ setOwner()

void facebook::yoga::Node::setOwner ( Node * owner)
inline

◆ setPosition()

void facebook::yoga::Node::setPosition ( Direction direction,
float ownerWidth,
float ownerHeight )
函数调用图:

◆ setStyle()

void facebook::yoga::Node::setStyle ( const Style & style)
inline

◆ style() [1/2]

Style & facebook::yoga::Node::style ( )
inline

◆ style() [2/2]

const Style & facebook::yoga::Node::style ( ) const
inline

◆ useWebDefaults()

void facebook::yoga::Node::useWebDefaults ( )
inlineprivate

类成员变量说明

◆ alwaysFormsContainingBlock_

bool facebook::yoga::Node::alwaysFormsContainingBlock_
private

◆ baselineFunc_

YGBaselineFunc facebook::yoga::Node::baselineFunc_ = nullptr
private

◆ children_

std::vector<Node*> facebook::yoga::Node::children_
private

◆ config_

const Config* facebook::yoga::Node::config_
private

◆ contentsChildrenCount_

size_t facebook::yoga::Node::contentsChildrenCount_ = 0
private

◆ context_

void* facebook::yoga::Node::context_ = nullptr
private

◆ dirtiedFunc_

YGDirtiedFunc facebook::yoga::Node::dirtiedFunc_ = nullptr
private

◆ hasNewLayout_

bool facebook::yoga::Node::hasNewLayout_
private

◆ isDirty_

bool facebook::yoga::Node::isDirty_
private

◆ isReferenceBaseline_

bool facebook::yoga::Node::isReferenceBaseline_
private

◆ layout_

LayoutResults facebook::yoga::Node::layout_
private

◆ lineIndex_

size_t facebook::yoga::Node::lineIndex_ = 0
private

◆ measureFunc_

YGMeasureFunc facebook::yoga::Node::measureFunc_ = nullptr
private

◆ nodeType_

NodeType facebook::yoga::Node::nodeType_
private

◆ owner_

Node* facebook::yoga::Node::owner_ = nullptr
private

◆ processedDimensions_

std::array<Style::SizeLength, 2> facebook::yoga::Node::processedDimensions_
private
初始值:
{
static constexpr StyleSizeLength undefined()
Definition StyleSizeLength.h:67

◆ style_

Style facebook::yoga::Node::style_
private

该类的文档由以下文件生成: