// 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_CURSORIMPL_HPP #define NAZARA_CURSORIMPL_HPP #include #include #include #include namespace Nz { class Image; class CursorImpl { friend class Cursor; public: bool Create(const Image& image, int hotSpotX, int hotSpotY); bool Create(SystemCursor cursor); void Destroy(); HCURSOR GetCursor(); private: static bool Initialize(); static void Uninitialize(); HCURSOR m_cursor = nullptr; HICON m_icon = nullptr; static std::array s_systemCursorIds; }; } #endif // NAZARA_CURSORIMPL_HPP