Added support for custom cursor/icon

This commit is contained in:
Lynix
2012-06-24 13:28:24 +02:00
parent d851e35a56
commit bcf36e7a14
14 changed files with 406 additions and 7 deletions

View File

@@ -0,0 +1,35 @@
// Copyright (C) 2012 Jérôme Leclercq
// This file is part of the "Nazara Engine".
// For conditions of distribution and use, see copyright notice in Config.hpp
#pragma once
#ifndef NAZARA_CURSOR_HPP
#define NAZARA_CURSOR_HPP
#include <Nazara/Prerequesites.hpp>
#include <Nazara/Math/Vector2.hpp>
class NzCursorImpl;
class NzImage;
class NzWindowImpl;
class NAZARA_API NzCursor
{
friend class NzWindowImpl;
public:
NzCursor();
~NzCursor();
bool Create(const NzImage& cursor, int hotSpotX = 0, int hotSpotY = 0);
bool Create(const NzImage& cursor, const NzVector2i& hotSpot);
void Destroy();
bool IsValid() const;
private:
NzCursorImpl* m_impl;
};
#endif // NAZARA_CURSOR_HPP

View File

@@ -0,0 +1,34 @@
// Copyright (C) 2012 Jérôme Leclercq
// This file is part of the "Nazara Engine".
// For conditions of distribution and use, see copyright notice in Config.hpp
#pragma once
#ifndef NAZARA_ICON_HPP
#define NAZARA_ICON_HPP
#include <Nazara/Prerequesites.hpp>
#include <Nazara/Math/Vector2.hpp>
class NzImage;
class NzIconImpl;
class NzWindowImpl;
class NAZARA_API NzIcon
{
friend class NzWindowImpl;
public:
NzIcon();
~NzIcon();
bool Create(const NzImage& icon);
void Destroy();
bool IsValid() const;
private:
NzIconImpl* m_impl;
};
#endif // NAZARA_ICON_HPP

View File

@@ -24,6 +24,7 @@
#include <Nazara/Core/ThreadCondition.hpp>
#endif
class NzImage;
class NzUtility;
class NzWindowImpl;
@@ -62,6 +63,9 @@ enum nzWindowStyle
nzWindowStyle_Default = nzWindowStyle_Closable | nzWindowStyle_Resizable | nzWindowStyle_Titlebar
};
class NzCursor;
class NzIcon;
class NAZARA_API NzWindow : NzNonCopyable
{
friend class NzUtility;
@@ -97,8 +101,10 @@ class NAZARA_API NzWindow : NzNonCopyable
bool PollEvent(NzEvent* event);
void SetCursor(nzWindowCursor cursor);
void SetCursor(const NzCursor& cursor);
void SetEventListener(bool listener);
void SetFocus();
void SetIcon(const NzIcon& icon);
void SetMaximumSize(const NzVector2i& maxSize);
void SetMaximumSize(int width, int height);
void SetMinimumSize(const NzVector2i& minSize);