PageObjectBase& positionRelative(Vec2 pos) noexcept final { dirty_set(); m_pos=pos; m_pos_relative=1; return *this; }
void Widget::set_dirty() { flags.dirty = true; dirty_set(); }
PageObjectBase& anchor(Vec2 a) noexcept final { m_anchor=a; dirty_set(); return *this; }