9 cm( inst, this,
"Prefsize" ),
10 attr_prefsizeX( &this->cm, std::nullopt ),
11 attr_prefsizeY( &this->cm, std::nullopt ),
12 attr_prefsizeZ( &this->cm, std::nullopt ),
13 attr_prefsizeScale( &this->cm,
float3( 1, 1, 1 ) )
22 if( this->
child.
dirty() || this->expectedSize.dirty() )
29 exp.x = std::min( exp.x, this->attr_prefsizeX.Get().value() );
32 exp.y = std::min( exp.y, this->attr_prefsizeY.Get().value() );
35 exp.z = std::min( exp.z, this->attr_prefsizeZ.Get().value() );
43 if( this->
attr_prefsizeX.
clear_dirty() + this->attr_prefsizeY.clear_dirty() + this->attr_prefsizeZ.clear_dirty() + this->attr_prefsizeScale.clear_dirty() + this->child.dirty() + ( this->child.Get() && this->child.Get()->preferredSize.dirty() ) )
70 if( this->
child.
dirty() || this->modelTransform.dirty() || this->scissor.dirty() )
81 if( this->
child.
dirty() || this->size.dirty() || this->modelTransform.dirty() || this->scissor.dirty() )