SFML
Simple and Fast Multimedia Library
Loading...
Searching...
No Matches
Cursor.hpp
Go to the documentation of this file.
1
2
//
3
// SFML - Simple and Fast Multimedia Library
4
// Copyright (C) 2007-2024 Laurent Gomila (laurent@sfml-dev.org)
5
//
6
// This software is provided 'as-is', without any express or implied warranty.
7
// In no event will the authors be held liable for any damages arising from the use of this software.
8
//
9
// Permission is granted to anyone to use this software for any purpose,
10
// including commercial applications, and to alter it and redistribute it freely,
11
// subject to the following restrictions:
12
//
13
// 1. The origin of this software must not be misrepresented;
14
// you must not claim that you wrote the original software.
15
// If you use this software in a product, an acknowledgment
16
// in the product documentation would be appreciated but is not required.
17
//
18
// 2. Altered source versions must be plainly marked as such,
19
// and must not be misrepresented as being the original software.
20
//
21
// 3. This notice may not be removed or altered from any source distribution.
22
//
24
25
#pragma once
26
28
// Headers
30
#include <
SFML/Window/Export.hpp
>
31
32
#include <
SFML/System/Vector2.hpp
>
33
34
#include <memory>
35
#include <optional>
36
37
#include <cstdint>
38
39
namespace
sf
40
{
41
namespace
priv
42
{
43
class
CursorImpl;
44
}
45
50
class
SFML_WINDOW_API
Cursor
51
{
52
public
:
89
enum class
Type
90
{
91
Arrow,
92
ArrowWait,
93
Wait,
94
Text
,
95
Hand,
96
SizeHorizontal,
97
SizeVertical,
98
SizeTopLeftBottomRight,
99
SizeBottomLeftTopRight,
100
SizeLeft,
101
SizeRight,
102
SizeTop,
103
SizeBottom,
104
SizeTopLeft,
105
SizeBottomRight,
106
SizeBottomLeft,
107
SizeTopRight,
108
SizeAll,
109
Cross,
110
Help,
111
NotAllowed
112
};
113
121
~Cursor
();
122
127
Cursor
(
const
Cursor
&) =
delete
;
128
133
Cursor
&
operator=
(
const
Cursor
&) =
delete
;
134
139
Cursor
(
Cursor
&&) noexcept;
140
145
Cursor
& operator=(
Cursor
&&) noexcept;
146
177
Cursor
(const std::uint8_t* pixels,
Vector2u
size,
Vector2u
hotspot);
178
194
explicit
Cursor
(
Type
type);
195
226
[[nodiscard]] static std::optional<
Cursor
>
createFromPixels
(const std::uint8_t* pixels,
Vector2u
size,
Vector2u
hotspot);
227
242
[[nodiscard]] static std::optional<
Cursor
>
createFromSystem
(
Type
type);
243
244
private:
245
friend class
WindowBase
;
246
251
Cursor
();
252
262
[[nodiscard]] const
priv
::CursorImpl& getImpl() const;
263
265
// Member data
267
std::unique_ptr<
priv
::CursorImpl> m_impl;
268
};
269
270
}
// namespace sf
271
272
Vector2.hpp
Export.hpp
SFML_WINDOW_API
#define SFML_WINDOW_API
Definition
Export.hpp:42
sf::Cursor::WindowBase
friend class WindowBase
Definition
Cursor.hpp:245
sf::Cursor::createFromSystem
static std::optional< Cursor > createFromSystem(Type type)
Create a native system cursor.
sf::Cursor::~Cursor
~Cursor()
Destructor.
sf::Cursor::Cursor
Cursor(const Cursor &)=delete
Deleted copy constructor.
sf::Cursor::createFromPixels
static std::optional< Cursor > createFromPixels(const std::uint8_t *pixels, Vector2u size, Vector2u hotspot)
Create a cursor with the provided image.
sf::Cursor::Type
Type
Enumeration of the native system cursor types.
Definition
Cursor.hpp:90
sf::Cursor::operator=
Cursor & operator=(const Cursor &)=delete
Deleted copy assignment.
sf::Cursor::Cursor
Cursor(Cursor &&) noexcept
Move constructor.
sf::Text
Graphical text that can be drawn to a render target.
Definition
Text.hpp:57
sf::priv
Definition
Glsl.hpp:39
sf
Definition
BlendMode.hpp:34
sf::Vector2u
Vector2< unsigned int > Vector2u
Definition
Vector2.hpp:225
SFML
Window
Cursor.hpp
Generated by
1.16.1