Added support for custom cursor/icon
This commit is contained in:
35
include/Nazara/Utility/Cursor.hpp
Normal file
35
include/Nazara/Utility/Cursor.hpp
Normal 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
|
||||
34
include/Nazara/Utility/Icon.hpp
Normal file
34
include/Nazara/Utility/Icon.hpp
Normal 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
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user