Possible clarification and reimplementation of Ref<T> classes (#719)

Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>
This commit is contained in:
mr-mocap
2023-08-12 15:18:33 -04:00
committed by GitHub
parent 461d557674
commit 06ba1c10b9
3 changed files with 62 additions and 81 deletions

View File

@@ -849,15 +849,14 @@ class CanvasNodeBase : public Node {
Element canvas(ConstRef<Canvas> canvas) {
class Impl : public CanvasNodeBase {
public:
// NOLINTNEXTLINE
explicit Impl(ConstRef<Canvas> canvas) : canvas_(std::move(canvas)) {
explicit Impl(ConstRef<Canvas> canvas) : canvas_(canvas) {
requirement_.min_x = (canvas_->width() + 1) / 2;
requirement_.min_y = (canvas_->height() + 3) / 4;
}
const Canvas& canvas() final { return *canvas_; }
ConstRef<Canvas> canvas_;
};
return std::make_shared<Impl>(std::move(canvas));
return std::make_shared<Impl>(canvas);
}
/// @brief Produce an element drawing a canvas of requested size.