better smart ptr owner semantic

This commit is contained in:
Andrea Blankenstijn 2021-08-12 23:27:09 +02:00
parent 494b638e2c
commit f78fa82ae8
5 changed files with 6 additions and 6 deletions

View File

@ -16,7 +16,7 @@ namespace bwidgets
[[nodiscard]] auto aa(const Color&, int, float) noexcept -> Color;
[[nodiscard]] auto filled_circle(const Color&, int resolution,
std::shared_ptr<Renderer>, int aa_pixels = 3)
Renderer*, int aa_pixels = 3)
-> std::shared_ptr<Texture>;
void set_pixels_color(
Texture*,

View File

@ -34,7 +34,7 @@ namespace bwidgets
[[nodiscard]] virtual auto size() const noexcept -> Size = 0;
virtual auto render() -> Widget* final;
virtual auto renderer(const std::shared_ptr<Renderer>&) -> Widget* final;
virtual auto renderer(std::shared_ptr<Renderer>) -> Widget* final;
virtual auto viewport(const SDL_Rect&) -> Widget* final;
[[nodiscard]] virtual auto viewport() const -> const SDL_Rect& final;
};

View File

@ -25,7 +25,7 @@ namespace bwidgets
virtual ~FontHandler() noexcept = default;
virtual inline auto font(const std::shared_ptr<Font>& f) -> FontHandler* final
virtual inline auto font(std::shared_ptr<Font> f) -> FontHandler* final
{
if (f != nullptr
&& (f != _font || f->family_name != _font->family_name

View File

@ -4,10 +4,10 @@ using namespace bwidgets;
const Size Layout::default_margins {8, 8};
auto Layout::add_widget(const std::shared_ptr<Widget>& widget_ptr) -> Layout*
auto Layout::add_widget(std::unique_ptr<Widget> widget_ptr) -> Layout*
{
widget_ptr->renderer(_renderer);
_widgets.emplace_back(widget_ptr);
_widgets.emplace_back(std::move(widget_ptr));
_update_layout(_viewport);
return this;
}

View File

@ -55,7 +55,7 @@ auto Widget::render() -> Widget*
return this;
}
auto Widget::renderer(const std::shared_ptr<Renderer>& r) -> Widget*
auto Widget::renderer(std::shared_ptr<Renderer> r) -> Widget*
{
if (r != _renderer) {
_handle_renderer_change(r);