// Copyright (C) 2017 Jérôme Leclercq // This file is part of the "Nazara Engine - Platform module" // For conditions of distribution and use, see copyright notice in Config.hpp #pragma once #ifndef NAZARA_ICON_HPP #define NAZARA_ICON_HPP #include #include #include namespace Nz { class Image; class IconImpl; class Icon; using IconRef = ObjectRef; class NAZARA_PLATFORM_API Icon : public RefCounted { friend class WindowImpl; public: inline Icon(); inline explicit Icon(const Image& icon); inline ~Icon(); bool Create(const Image& icon); void Destroy(); inline bool IsValid() const; template static IconRef New(Args&&... args); private: IconImpl* m_impl; }; } #include #endif // NAZARA_ICON_HPP