Learn
Download
Community
Development
Home
»
Learn
»
2.3 Documentation
»
Window.hpp Source File
Français
Donate
Documentation of SFML 2.3
Warning:
this page refers to an old version of SFML. Click here to switch to the latest version.
Main Page
Related Pages
Modules
Classes
Files
File List
SFML
include
SFML
Window
Window/Window.hpp
1
//
3
// SFML - Simple and Fast Multimedia Library
4
// Copyright (C) 2007-2015 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/Export.hpp>
32
#include <SFML/Window/ContextSettings.hpp>
33
#include <SFML/Window/VideoMode.hpp>
34
#include <SFML/Window/WindowHandle.hpp>
35
#include <SFML/Window/WindowStyle.hpp>
36
#include <SFML/Window/GlResource.hpp>
37
#include <SFML/System/Clock.hpp>
38
#include <SFML/System/Vector2.hpp>
39
#include <SFML/System/NonCopyable.hpp>
40
#include <SFML/System/String.hpp>
41
42
43
namespace
sf
44
{
45
namespace
priv
46
{
47
class
GlContext;
48
class
WindowImpl;
49
}
50
51
class
Event;
52
57
class
SFML_WINDOW_API
Window
:
GlResource
,
NonCopyable
58
{
59
public
:
60
68
Window
();
69
89
Window
(
VideoMode
mode,
const
String
& title, Uint32 style =
Style::Default
,
const
ContextSettings
& settings =
ContextSettings
());
90
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
151
void
create(WindowHandle handle,
const
ContextSettings
& settings =
ContextSettings
());
152
163
void
close();
164
175
bool
isOpen()
const
;
176
188
const
ContextSettings
& getSettings()
const
;
189
213
bool
pollEvent(
Event
& event);
214
240
bool
waitEvent(
Event
& event);
241
250
Vector2i
getPosition()
const
;
251
264
void
setPosition(
const
Vector2i
& position);
265
277
Vector2u
getSize()
const
;
278
287
void
setSize(
const
Vector2u
& size);
288
297
void
setTitle(
const
String
& title);
298
316
void
setIcon(
unsigned
int
width,
unsigned
int
height,
const
Uint8* pixels);
317
326
void
setVisible(
bool
visible);
327
341
void
setVerticalSyncEnabled(
bool
enabled);
342
351
void
setMouseCursorVisible(
bool
visible);
352
365
void
setKeyRepeatEnabled(
bool
enabled);
366
382
void
setFramerateLimit(
unsigned
int
limit);
383
395
void
setJoystickThreshold(
float
threshold);
396
413
bool
setActive(
bool
active =
true
)
const
;
414
429
void
requestFocus();
430
442
bool
hasFocus()
const
;
443
452
void
display();
453
468
WindowHandle getSystemHandle()
const
;
469
470
protected
:
471
480
virtual
void
onCreate();
481
489
virtual
void
onResize();
490
491
private
:
492
505
bool
filterEvent(
const
Event
& event);
506
511
void
initialize();
512
514
// Member data
516
priv::WindowImpl* m_impl;
517
priv::GlContext* m_context;
518
Clock
m_clock;
519
Time
m_frameTimeLimit;
520
Vector2u
m_size;
521
};
522
523
}
// namespace sf
524
525
526
#endif // SFML_WINDOW_HPP
527
528
sf::String
Utility string class that automatically handles conversions between types and encodings.
Definition:
String.hpp:44
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:40
sf::Event
Defines a system event and its parameters.
Definition:
Event.hpp:44
sf::Style::Default
Default window style.
Definition:
WindowStyle.hpp:46
sf::Window
Window that serves as a target for OpenGL rendering.
Definition:
Window/Window.hpp:57
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:36
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