13class ChangeLabelAction :
public HistoryAction
16 ChangeLabelAction(
const std::string& actionName, std::shared_ptr<ObjectLabel> obj ) :
17 obj_( std::move( obj ) ),
18 actionName_( actionName )
20 label_ = obj_->getLabel();
21 pivotPoint_ = obj_->getPivotPoint();
25 virtual std::string name()
const override {
return actionName_; }
27 virtual void action( HistoryAction::Type )
override
32 auto label = obj_->getLabel();
33 obj_->setLabel( std::move( label_ ) );
34 label_ = std::move( label );
37 auto pivotPoint = obj_->getPivotPoint();
38 obj_->setPivotPoint( std::move( pivotPoint_ ) );
39 pivotPoint_ = std::move( pivotPoint );
42 [[nodiscard]]
virtual size_t heapBytes()
const override
44 return label_.text.capacity() +
sizeof( float ) * 5 + actionName_.capacity();
47 std::shared_ptr<ObjectLabel> obj_;
48 PositionedText label_;
51 std::string actionName_;
unsafe void action(MR.HistoryAction.Type _1)
unsafe ChangeLabelAction(MR._ByValue_ChangeLabelAction _other)
Definition MRCameraOrientationPlugin.h:8