iw4x-client/src/Components/Modules/Toast.hpp

46 lines
970 B
C++
Raw Normal View History

2017-01-20 08:36:52 -05:00
#pragma once
2017-01-19 16:23:59 -05:00
namespace Components
{
class Toast : public Component
{
public:
Toast();
~Toast();
void preDestroy() override;
typedef WinToastLib::WinToastTemplate Template;
2017-01-19 16:23:59 -05:00
static void Show(std::string image, std::string title, std::string description, int length);
static bool ShowNative(const WinToastLib::WinToastTemplate& toast);
2017-01-19 16:23:59 -05:00
2017-02-18 13:42:36 -05:00
static std::string GetIcon();
2017-01-19 16:23:59 -05:00
private:
class UIToast
{
public:
std::string image;
std::string title;
std::string desc;
int length;
int start;
};
class WinToastHandler: public WinToastLib::IWinToastHandler {
public:
void toastActivated() const override {};
void toastDismissed(WinToastLib::IWinToastHandler::WinToastDismissalReason /*state*/) const override {};
void toastFailed() const override {};
};
2017-01-19 16:23:59 -05:00
static void Handler();
static void Draw(UIToast* toast);
static std::queue<UIToast> Queue;
static std::mutex Mutex;
static WinToastHandler* ToastHandler;
2017-01-19 16:23:59 -05:00
};
}