Learn
Download
Community
Development
Home
»
Learn
»
2.5.0 Documentation
»
Window.hpp Source File
Français
Donate
Documentation of SFML 2.5.0
Warning:
this page refers to an old version of SFML. Click here to switch to the latest version.
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
SFML
include
SFML
Window
Window/Window.hpp
1
//
3
// SFML - Simple and Fast Multimedia Library
4
// Copyright (C) 2007-2018 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
#ifndef SFML_WINDOW_HPP
26
#define SFML_WINDOW_HPP
27
29
// Headers
31
#include <SFML/Window/ContextSettings.hpp>
32
#include <SFML/Window/Cursor.hpp>
33
#include <SFML/Window/Export.hpp>
34
#include <SFML/Window/GlResource.hpp>
35
#include <SFML/Window/VideoMode.hpp>
36
#include <SFML/Window/WindowHandle.hpp>
37
#include <SFML/Window/WindowStyle.hpp>
38
#include <SFML/System/Clock.hpp>
39
#include <SFML/System/NonCopyable.hpp>
40
#include <SFML/System/String.hpp>
41
#include <SFML/System/Vector2.hpp>
42
43
44
namespace
sf
45
{
46
namespace
priv
47
{
48
class
GlContext;
49
class
WindowImpl;
50
}
51
52
class
Event;
53
58
class
SFML_WINDOW_API
Window
:
GlResource
,
NonCopyable
59
{
60
public
:
61
69
Window
();
70
90
Window
(
VideoMode
mode,
const
String
& title, Uint32 style =
Style::Default
,
const
ContextSettings
& settings =
ContextSettings
());
91
106
explicit
Window
(
WindowHandle
handle,
const
ContextSettings
& settings =
ContextSettings
());
107
114
virtual
~
Window
();
115
133
void
create(
VideoMode
mode,
const
String
& title, Uint32 style =
Style::Default
,
const
ContextSettings
& settings =
ContextSettings
());
134
150
void
create(
WindowHandle
handle,
const
ContextSettings
& settings =
ContextSettings
());
151
162
void
close();
163
174
bool
isOpen()
const
;
175
187
const
ContextSettings
& getSettings()
const
;
188
212
bool
pollEvent(
Event
& event);
213
239
bool
waitEvent(
Event
& event);
240
249
Vector2i
getPosition()
const
;
250
263
void
setPosition(
const
Vector2i
& position);
264
276
Vector2u
getSize()
const
;
277
286
void
setSize(
const
Vector2u
& size);
287
296
void
setTitle(
const
String
& title);
297
315
void
setIcon(
unsigned
int
width,
unsigned
int
height,
const
Uint8* pixels);
316
325
void
setVisible(
bool
visible);
326
340
void
setVerticalSyncEnabled(
bool
enabled);
341
350
void
setMouseCursorVisible(
bool
visible);
351
363
void
setMouseCursorGrabbed(
bool
grabbed);
364
382
void
setMouseCursor(
const
Cursor
& cursor);
383
396
void
setKeyRepeatEnabled(
bool
enabled);
397
413
void
setFramerateLimit(
unsigned
int
limit);
414
426
void
setJoystickThreshold(
float
threshold);
427
444
bool
setActive(
bool
active =
true
)
const
;
445
460
void
requestFocus();
461
473
bool
hasFocus()
const
;
474
483
void
display();
484
497
WindowHandle
getSystemHandle()
const
;
498
499
protected
:
500
509
virtual
void
onCreate();
510
518
virtual
void
onResize();
519
520
private
:
521
534
bool
filterEvent(
const
Event
& event);
535
540
void
initialize();
541
543
// Member data
545
priv::WindowImpl* m_impl;
546
priv::GlContext* m_context;
547
Clock
m_clock;
548
Time
m_frameTimeLimit;
549
Vector2u
m_size;
550
};
551
552
}
// namespace sf
553
554
555
#endif // SFML_WINDOW_HPP
556
557
sf::String
Utility string class that automatically handles conversions between types and encodings.
Definition:
String.hpp:45
sf::WindowHandle
platform specific WindowHandle
Define a low-level window handle type, specific to each platform.
Definition:
WindowHandle.hpp:68
sf::Cursor
Cursor defines the appearance of a system cursor.
Definition:
Cursor.hpp:46
sf
Definition:
AlResource.hpp:34
sf::Time
Represents a time value.
Definition:
Time.hpp:40
sf::GlResource
Base class for classes that require an OpenGL context.
Definition:
GlResource.hpp:46
sf::Event
Defines a system event and its parameters.
Definition:
Event.hpp:44
sf::Window
Window that serves as a target for OpenGL rendering.
Definition:
Window/Window.hpp:58
sf::NonCopyable
Utility class that makes any derived class non-copyable.
Definition:
NonCopyable.hpp:41
sf::ContextSettings
Structure defining the settings of the OpenGL context attached to a window.
Definition:
ContextSettings.hpp:37
sf::VideoMode
VideoMode defines a video mode (width, height, bpp)
Definition:
VideoMode.hpp:41
sf::Clock
Utility class that measures the elapsed time.
Definition:
Clock.hpp:41
sf::Vector2
Utility template class for manipulating 2-dimensional vectors.
Definition:
Vector2.hpp:37
sf::Style::Default
Default window style.
Definition:
WindowStyle.hpp:46