#pragma once

#include <memory>

class IPlatformScreen;
using IPlatformScreenPtr = std::unique_ptr<IPlatformScreen>;

namespace mt{
class Screen
{

public:

    Screen();

    ~Screen();

    static std::unique_ptr<Screen> Create();

    IPlatformScreen* GetPlatformScreen() const;

    void SetPlatformScreen(IPlatformScreenPtr screen);

private:

    IPlatformScreenPtr mPlatformScreen {nullptr};
};
}
using ScreenPtr = std::unique_ptr<mt::Screen>;
