You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
project-kyoku/src/impl/sfml/corefactorysfml.h

23 lines
804 B
C

2 years ago
#pragma once
#include <SFML/Graphics/RectangleShape.hpp>
#include <SFML/Graphics/RenderTarget.hpp>
#include <SFML/Graphics/Font.hpp>
#include "core/corefactory.h"
class CoreFactorySFML : public kku::CoreFactory
{
public:
explicit CoreFactorySFML(const std::shared_ptr<sf::RenderTarget>& render_target);
virtual std::shared_ptr<kku::Music> getMusic() const override;
virtual std::shared_ptr<kku::Text> getText(kku::Font::Id id) const override;
virtual std::shared_ptr<kku::Rectangle> getRectangle() const override;
virtual std::shared_ptr<kku::Line> getLine() const override;
virtual kku::Vector2<std::size_t> getRenderSize() const override;
private:
const std::shared_ptr<sf::RenderTarget> _render_target;
kku::ResourceHolder<sf::Font, kku::Font::Id> _font_holder;
};