mp-sfml/include/mediaService.h

28 lines
659 B
C++

#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();
};