Movatterモバイル変換


[0]ホーム

URL:


Loading...
Searching...
No Matches
WindowBase.hpp
Go to the documentation of this file.
1
2//
3// SFML - Simple and Fast Multimedia Library
4// Copyright (C) 2007-2025 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
31
35
36#include <SFML/System/Time.hpp>
38
39#include <memory>
40#include <optional>
41
42#include <cstdint>
43
44
45namespacesf
46{
47classCursor;
48classString;
49classVideoMode;
50
51namespacepriv
52{
53classWindowImpl;
54}
55
56classEvent;
57
63{
64public:
73
90WindowBase(VideoMode mode,constString& title, std::uint32_t style =Style::Default,State state =State::Windowed);
91
103WindowBase(VideoMode mode,constString& title,State state);
104
111explicitWindowBase(WindowHandle handle);
112
119virtual~WindowBase();
120
125WindowBase(constWindowBase&) =delete;
126
132
138
143WindowBase& operator=(WindowBase&&) noexcept;
144
158 virtualvoidcreate(VideoMode mode, constString& title, std::uint32_t style =Style::Default,State state =State::Windowed);
159
172 virtualvoidcreate(VideoMode mode, constString& title,State state);
173
180 virtualvoidcreate(WindowHandle handle);
181
192 virtualvoidclose();
193
204 [[nodiscard]]boolisOpen() const;
205
226 [[nodiscard]] std::optional<Event>pollEvent();
227
252 [[nodiscard]] std::optional<Event>waitEvent(Time timeout =Time::Zero);
253
329 template <typename... Handlers>
330voidhandleEvents(Handlers&&... handlers);
331
340 [[nodiscard]]Vector2igetPosition() const;
341
354voidsetPosition(Vector2i position);
355
367 [[nodiscard]]Vector2ugetSize() const;
368
378
387voidsetMinimumSize(const std::optional<Vector2u>& minimumSize);
388
397voidsetMaximumSize(const std::optional<Vector2u>& maximumSize);
398
407voidsetTitle(constString& title);
408
425voidsetIcon(Vector2u size, const std::uint8_t* pixels);
426
435voidsetVisible(bool visible);
436
448voidsetMouseCursorVisible(bool visible);
449
461voidsetMouseCursorGrabbed(bool grabbed);
462
479voidsetMouseCursor(constCursor& cursor);
480
493voidsetKeyRepeatEnabled(bool enabled);
494
506voidsetJoystickThreshold(float threshold);
507
523
535 [[nodiscard]]boolhasFocus() const;
536
549 [[nodiscard]]WindowHandlegetNativeHandle() const;
550
561 [[nodiscard]]boolcreateVulkanSurface(constVkInstance& instance,
562VkSurfaceKHR& surface,
563 const VkAllocationCallbacks* allocator =nullptr);
564
565protected:
574 virtualvoidonCreate();
575
583 virtualvoidonResize();
584
585private:
586 friend classWindow;
587
600void filterEvent(constEvent& event);
601
606void initialize();
607
609// Member data
611 std::unique_ptr<priv::WindowImpl> m_impl;
612Vector2u m_size;
613};
614
615}// namespace sf
616
617#include <SFML/Window/WindowBase.inl>
618
struct VkInstance_T * VkInstance
DefinitionVulkan.hpp:35
std::uint64_t VkSurfaceKHR
DefinitionVulkan.hpp:47
#define SFML_WINDOW_API
Cursor defines the appearance of a system cursor.
DefinitionCursor.hpp:51
Defines a system event and its parameters.
DefinitionEvent.hpp:48
Utility string class that automatically handles conversions between types and encodings.
DefinitionString.hpp:89
Represents a time value.
DefinitionTime.hpp:42
VideoMode defines a video mode (size, bpp)
void setMouseCursorGrabbed(bool grabbed)
Grab or release the mouse cursor.
void setMouseCursor(const Cursor &cursor)
Set the displayed cursor to a native system cursor.
void setIcon(Vector2u size, const std::uint8_t *pixels)
Change the window's icon.
WindowBase()
Default constructor.
void handleEvents(Handlers &&... handlers)
Handle all pending events.
bool createVulkanSurface(const VkInstance &instance, VkSurfaceKHR &surface, const VkAllocationCallbacks *allocator=nullptr)
Create a Vulkan rendering surface.
Vector2u getSize() const
Get the size of the rendering region of the window.
virtual void onCreate()
Function called after the window has been created.
void requestFocus()
Request the current window to be made the active foreground window.
WindowBase(VideoMode mode, const String &title, State state)
Construct a new window.
WindowBase(const WindowBase &)=delete
Deleted copy constructor.
friend class Window
void setVisible(bool visible)
Show or hide the window.
Vector2i getPosition() const
Get the position of the window.
std::optional< Event > pollEvent()
Pop the next event from the front of the FIFO event queue, if any, and return it.
virtual void create(VideoMode mode, const String &title, std::uint32_t style=Style::Default, State state=State::Windowed)
Create (or recreate) the window.
void setMaximumSize(const std::optional< Vector2u > &maximumSize)
Set the maximum window rendering region size.
void setPosition(Vector2i position)
Change the position of the window on screen.
void setMinimumSize(const std::optional< Vector2u > &minimumSize)
Set the minimum window rendering region size.
virtual ~WindowBase()
Destructor.
virtual void onResize()
Function called after the window has been resized.
virtual void close()
Close the window and destroy all the attached resources.
bool isOpen() const
Tell whether or not the window is open.
WindowBase(WindowHandle handle)
Construct the window from an existing control.
std::optional< Event > waitEvent(Time timeout=Time::Zero)
Wait for an event and return it.
void setSize(Vector2u size)
Change the size of the rendering region of the window.
void setTitle(const String &title)
Change the title of the window.
void setJoystickThreshold(float threshold)
Change the joystick threshold.
bool hasFocus() const
Check whether the window has the input focus.
WindowBase(VideoMode mode, const String &title, std::uint32_t style=Style::Default, State state=State::Windowed)
Construct a new window.
WindowBase(WindowBase &&) noexcept
Move constructor.
WindowHandle getNativeHandle() const
Get the OS-specific handle of the window.
void setMouseCursorVisible(bool visible)
Show or hide the mouse cursor.
WindowBase & operator=(const WindowBase &)=delete
Deleted copy assignment.
void setKeyRepeatEnabled(bool enabled)
Enable or disable automatic key-repeat.
State
Enumeration of the window states.
"platform-specific" WindowHandle
Low-level window handle type, specific to each platform.
@ Windowed
Floating window.
@ Default
Default window style.
@ Zero
If the stencil test passes, the value in the stencil buffer is set to zero.
Vector2< unsigned int > Vector2u
DefinitionVector2.hpp:209
Vector2< int > Vector2i
DefinitionVector2.hpp:208

[8]ページ先頭

©2009-2025 Movatter.jp