From 017f400ad94c4d42bdeb9adb293638cd560c1174 Mon Sep 17 00:00:00 2001 From: NaiJi Date: Wed, 12 Jan 2022 17:09:43 +0300 Subject: [PATCH] Replace shared_ptr for RenderTarget with T * const --- src/impl/sfml/application/applicationsfml.cpp | 2 +- src/impl/sfml/application/applicationsfml.h | 4 ++-- src/impl/sfml/classicmode/classicfactorysfml.cpp | 2 +- src/impl/sfml/classicmode/classicfactorysfml.h | 4 ++-- src/impl/sfml/classicmode/classicspritesfml.cpp | 2 +- src/impl/sfml/classicmode/classicspritesfml.h | 4 ++-- src/impl/sfml/classicmode/spritefactorysfml.cpp | 2 +- src/impl/sfml/classicmode/spritefactorysfml.h | 4 ++-- src/impl/sfml/corefactorysfml.cpp | 2 +- src/impl/sfml/corefactorysfml.h | 4 ++-- src/impl/sfml/linesfml.cpp | 4 ++-- src/impl/sfml/linesfml.h | 4 ++-- src/impl/sfml/rectanglesfml.cpp | 2 +- src/impl/sfml/rectanglesfml.h | 4 ++-- src/impl/sfml/textsfml.cpp | 2 +- src/impl/sfml/textsfml.h | 2 +- src/main.cpp | 3 ++- 17 files changed, 26 insertions(+), 25 deletions(-) diff --git a/src/impl/sfml/application/applicationsfml.cpp b/src/impl/sfml/application/applicationsfml.cpp index 5727be0..39d0648 100644 --- a/src/impl/sfml/application/applicationsfml.cpp +++ b/src/impl/sfml/application/applicationsfml.cpp @@ -7,7 +7,7 @@ const sf::Time TIME_PER_FRAME = sf::seconds(1.f / 90.f); -ApplicationSFML::ApplicationSFML(const std::shared_ptr& render_window) : +ApplicationSFML::ApplicationSFML(sf::RenderWindow * const render_window) : _render_window(render_window) { _render_window->setFramerateLimit(60); diff --git a/src/impl/sfml/application/applicationsfml.h b/src/impl/sfml/application/applicationsfml.h index f63ce30..6a5c122 100644 --- a/src/impl/sfml/application/applicationsfml.h +++ b/src/impl/sfml/application/applicationsfml.h @@ -8,10 +8,10 @@ class ApplicationSFML : public Application { public: - explicit ApplicationSFML(const std::shared_ptr& _render_window); + explicit ApplicationSFML(sf::RenderWindow * const _render_window); virtual void display() override; virtual void run() override; private: - const std::shared_ptr _render_window; + sf::RenderWindow * const _render_window; }; diff --git a/src/impl/sfml/classicmode/classicfactorysfml.cpp b/src/impl/sfml/classicmode/classicfactorysfml.cpp index 719ccf5..c4a3b88 100644 --- a/src/impl/sfml/classicmode/classicfactorysfml.cpp +++ b/src/impl/sfml/classicmode/classicfactorysfml.cpp @@ -7,7 +7,7 @@ #include "game/classicgame.h" #include "editor/classiceditor.h" -ClassicFactorySFML::ClassicFactorySFML(const std::shared_ptr& render_target) : +ClassicFactorySFML::ClassicFactorySFML(sf::RenderTarget * const render_target) : _render_target(render_target) {} diff --git a/src/impl/sfml/classicmode/classicfactorysfml.h b/src/impl/sfml/classicmode/classicfactorysfml.h index ddee17a..7343823 100644 --- a/src/impl/sfml/classicmode/classicfactorysfml.h +++ b/src/impl/sfml/classicmode/classicfactorysfml.h @@ -8,10 +8,10 @@ class ClassicFactorySFML : public ClassicFactory { public: - explicit ClassicFactorySFML(const std::shared_ptr& render_target); + explicit ClassicFactorySFML(sf::RenderTarget * const render_target); virtual std::unique_ptr getGame() const override; virtual std::unique_ptr getEditor() const override; private: - const std::shared_ptr _render_target; + sf::RenderTarget * const _render_target; }; diff --git a/src/impl/sfml/classicmode/classicspritesfml.cpp b/src/impl/sfml/classicmode/classicspritesfml.cpp index ee42fa0..66aa44e 100644 --- a/src/impl/sfml/classicmode/classicspritesfml.cpp +++ b/src/impl/sfml/classicmode/classicspritesfml.cpp @@ -1,6 +1,6 @@ #include "classicspritesfml.h" -ClassicSpriteSFML::ClassicSpriteSFML(const std::shared_ptr& render_target, +ClassicSpriteSFML::ClassicSpriteSFML(sf::RenderTarget * const render_target, const sf::RectangleShape& shape) : _prototype(shape), _shape(shape), diff --git a/src/impl/sfml/classicmode/classicspritesfml.h b/src/impl/sfml/classicmode/classicspritesfml.h index 56bf6ed..eca2f66 100644 --- a/src/impl/sfml/classicmode/classicspritesfml.h +++ b/src/impl/sfml/classicmode/classicspritesfml.h @@ -8,7 +8,7 @@ class ClassicSpriteSFML : public ClassicSprite { public: - explicit ClassicSpriteSFML(const std::shared_ptr& render_target, + explicit ClassicSpriteSFML(sf::RenderTarget * const render_target, const sf::RectangleShape& shape); virtual void reset() override; @@ -30,5 +30,5 @@ private: sf::RectangleShape _shape; sf::RectangleShape _trail; - const std::shared_ptr _render_target; + sf::RenderTarget * const _render_target; }; diff --git a/src/impl/sfml/classicmode/spritefactorysfml.cpp b/src/impl/sfml/classicmode/spritefactorysfml.cpp index ab9fb5f..d0615a3 100644 --- a/src/impl/sfml/classicmode/spritefactorysfml.cpp +++ b/src/impl/sfml/classicmode/spritefactorysfml.cpp @@ -1,7 +1,7 @@ #include "spritefactorysfml.h" #include "classicspritesfml.h" -ClassicSpriteFactorySFML::ClassicSpriteFactorySFML(const std::shared_ptr& render_target) : +ClassicSpriteFactorySFML::ClassicSpriteFactorySFML(sf::RenderTarget * const render_target) : _render_target(render_target) {} diff --git a/src/impl/sfml/classicmode/spritefactorysfml.h b/src/impl/sfml/classicmode/spritefactorysfml.h index b12afb6..2a163b8 100644 --- a/src/impl/sfml/classicmode/spritefactorysfml.h +++ b/src/impl/sfml/classicmode/spritefactorysfml.h @@ -7,9 +7,9 @@ class ClassicSpriteFactorySFML : public ClassicSpriteFactory { public: - explicit ClassicSpriteFactorySFML(const std::shared_ptr& render_target); + explicit ClassicSpriteFactorySFML(sf::RenderTarget * const render_target); virtual std::shared_ptr create(Type type) const override; private: - const std::shared_ptr _render_target; + sf::RenderTarget * const _render_target; }; diff --git a/src/impl/sfml/corefactorysfml.cpp b/src/impl/sfml/corefactorysfml.cpp index 7c19893..84d98cc 100644 --- a/src/impl/sfml/corefactorysfml.cpp +++ b/src/impl/sfml/corefactorysfml.cpp @@ -5,7 +5,7 @@ #include "textsfml.h" #include "linesfml.h" -CoreFactorySFML::CoreFactorySFML(const std::shared_ptr& render_target) : +CoreFactorySFML::CoreFactorySFML(sf::RenderTarget * const render_target) : _render_target(render_target) { auto gui_font = std::make_unique(); diff --git a/src/impl/sfml/corefactorysfml.h b/src/impl/sfml/corefactorysfml.h index 0d2a8ed..dd71524 100644 --- a/src/impl/sfml/corefactorysfml.h +++ b/src/impl/sfml/corefactorysfml.h @@ -9,7 +9,7 @@ class CoreFactorySFML : public kku::CoreFactory { public: - explicit CoreFactorySFML(const std::shared_ptr& render_target); + explicit CoreFactorySFML(sf::RenderTarget * const render_target); virtual std::shared_ptr getMusic() const override; virtual std::shared_ptr getText(kku::Font::Id id) const override; virtual std::shared_ptr getRectangle() const override; @@ -17,6 +17,6 @@ public: virtual kku::Vector2 getRenderSize() const override; private: - const std::shared_ptr _render_target; + sf::RenderTarget * const _render_target; kku::ResourceHolder _font_holder; }; diff --git a/src/impl/sfml/linesfml.cpp b/src/impl/sfml/linesfml.cpp index 5d4b7b2..e3ae567 100644 --- a/src/impl/sfml/linesfml.cpp +++ b/src/impl/sfml/linesfml.cpp @@ -1,6 +1,6 @@ #include "linesfml.h" -LineSFML::LineSFML(const std::shared_ptr& render_target) : +LineSFML::LineSFML(sf::RenderTarget * const render_target) : _render_target(render_target) { _vertex = sf::VertexArray(sf::LinesStrip, 2); @@ -21,4 +21,4 @@ void LineSFML::setColor(const kku::Color& c1, const kku::Color& c2) void LineSFML::display() { _render_target->draw(_vertex); -} \ No newline at end of file +} diff --git a/src/impl/sfml/linesfml.h b/src/impl/sfml/linesfml.h index 224a0ff..2f12083 100644 --- a/src/impl/sfml/linesfml.h +++ b/src/impl/sfml/linesfml.h @@ -9,12 +9,12 @@ class LineSFML : public kku::Line { public: - explicit LineSFML(const std::shared_ptr& render_target); + explicit LineSFML(sf::RenderTarget * const render_target); virtual void setPosition(const kku::Point& p1, const kku::Point& p2) override; virtual void setColor(const kku::Color& c1, const kku::Color& c2) override; virtual void display() override; private: - const std::shared_ptr _render_target; + sf::RenderTarget * const _render_target; sf::VertexArray _vertex; }; diff --git a/src/impl/sfml/rectanglesfml.cpp b/src/impl/sfml/rectanglesfml.cpp index c82649d..edf07a3 100644 --- a/src/impl/sfml/rectanglesfml.cpp +++ b/src/impl/sfml/rectanglesfml.cpp @@ -1,6 +1,6 @@ #include "rectanglesfml.h" -RectangleSFML::RectangleSFML(const std::shared_ptr& render_target) : +RectangleSFML::RectangleSFML(sf::RenderTarget * const render_target) : _render_target(render_target) {} diff --git a/src/impl/sfml/rectanglesfml.h b/src/impl/sfml/rectanglesfml.h index ffb4cb5..ddcb5d3 100644 --- a/src/impl/sfml/rectanglesfml.h +++ b/src/impl/sfml/rectanglesfml.h @@ -9,7 +9,7 @@ class RectangleSFML : public kku::Rectangle { public: - explicit RectangleSFML(const std::shared_ptr& render_target); + explicit RectangleSFML(sf::RenderTarget * const render_target); virtual void setRect(const kku::Area& rect) override; virtual kku::Area getRect() const override; @@ -23,6 +23,6 @@ public: virtual void display() override; private: - const std::shared_ptr _render_target; + sf::RenderTarget * const _render_target; sf::RectangleShape _rectangle; }; diff --git a/src/impl/sfml/textsfml.cpp b/src/impl/sfml/textsfml.cpp index 9f25196..2aa11c6 100644 --- a/src/impl/sfml/textsfml.cpp +++ b/src/impl/sfml/textsfml.cpp @@ -1,6 +1,6 @@ #include "textsfml.h" -TextSFML::TextSFML(const std::shared_ptr& render_target, +TextSFML::TextSFML(sf::RenderTarget * const render_target, const std::shared_ptr& font) : _render_target(render_target) { diff --git a/src/impl/sfml/textsfml.h b/src/impl/sfml/textsfml.h index 296942c..f2862af 100644 --- a/src/impl/sfml/textsfml.h +++ b/src/impl/sfml/textsfml.h @@ -10,7 +10,7 @@ class TextSFML : public kku::Text { public: - explicit TextSFML(const std::shared_ptr& render_target, + explicit TextSFML(sf::RenderTarget * const render_target, const std::shared_ptr& font); virtual void setString(const std::string& string) override; diff --git a/src/main.cpp b/src/main.cpp index b556378..40a076a 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2,7 +2,8 @@ int main() { - ApplicationSFML app(std::make_shared(sf::VideoMode{1280, 720}, "Test", sf::Style::Fullscreen)); + sf::RenderWindow window(sf::VideoMode{1280, 720}, "Test", sf::Style::Fullscreen); + ApplicationSFML app(&window); if (app.init()) app.run(); }