#include <imageService.h>
#include <UtilTool.h>
#include <string>
#include <SFML/Graphics.hpp>
#include <memory>

class MediaService
{
private:
    ImageService *imageService = nullptr;
    MediaType type;
    std::shared_ptr<sf::Texture> texture;
    std::shared_ptr<sf::Sprite> sprite;
    std::shared_ptr<sf::RenderWindow> window;
    int client_width = 0;
    int client_height = 0; 
public:
    MediaService(const std::string &filename, int width, int height);
    ~MediaService() = default;
    std::shared_ptr<sf::Sprite> GetSprite()
    {
        return sprite;
    }
    void SetWindow(std::shared_ptr<sf::RenderWindow> window);
    void Play();

};
