// Copyright (C) 2012 Jérôme Leclercq // This file is part of the "Nazara Engine - Utility module" // For conditions of distribution and use, see copyright notice in Config.hpp #include #if defined(NAZARA_PLATFORM_WINDOWS) #include #elif defined(NAZARA_PLATFORM_LINUX) #include #else #error Lack of implementation: Cursor #endif #include NzCursor::NzCursor() : m_impl(nullptr) { } NzCursor::~NzCursor() { Destroy(); } bool NzCursor::Create(const NzImage& cursor, int hotSpotX, int hotSpotY) { Destroy(); m_impl = new NzCursorImpl; if (!m_impl->Create(cursor, hotSpotX, hotSpotY)) { NazaraError("Failed to create cursor implementation"); delete m_impl; m_impl = nullptr; return false; } return true; } bool NzCursor::Create(const NzImage& cursor, const NzVector2i& hotSpot) { return Create(cursor, hotSpot.x, hotSpot.y); } void NzCursor::Destroy() { if (m_impl) { m_impl->Destroy(); delete m_impl; m_impl = nullptr; } } bool NzCursor::IsValid() const { return m_impl != nullptr; }