CSFML - C binding of the Simple and Fast Multimedia Library

CSFML 2.6.1

- Main Page
- Related Pages
- Classes
- Files

- File List
- File Members

Loading...
Searching...
No Matches
Window/Window.h
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#ifndef SFML_WINDOW_H
26#define SFML_WINDOW_H
27
29// Headers
31#include <SFML/Window/Export.h>
32#include <SFML/Window/Event.h>
33#include <SFML/Window/VideoMode.h>
34#include <SFML/Window/WindowBase.h>
35#include <SFML/Window/WindowHandle.h>
36#include <SFML/Window/Types.h>
37#include <SFML/System/Vector2.h>
38
39
44 typedef enum
45{
46 sfContextDefault = 0,
47 sfContextCore = 1 << 0,
48 sfContextDebug = 1 << 2
49} sfContextAttribute;
50
51
56 typedef struct
57{
58 unsigned int depthBits;
59 unsigned int stencilBits;
60 unsigned int antialiasingLevel;
61 unsigned int majorVersion;
62 unsigned int minorVersion;
63 sfUint32 attributeFlags;
64 sfBool sRgbCapable;
65} sfContextSettings;
66
67
89 CSFML_WINDOW_API sfWindow* sfWindow_create(sfVideoMode mode, const char* title, sfUint32 style, const sfContextSettings* settings);
90
112 CSFML_WINDOW_API sfWindow* sfWindow_createUnicode(sfVideoMode mode, const sfUint32* title, sfUint32 style, const sfContextSettings* settings);
113
130 CSFML_WINDOW_API sfWindow* sfWindow_createFromHandle(sfWindowHandle handle, const sfContextSettings* settings);
131
138 CSFML_WINDOW_API void sfWindow_destroy(sfWindow* window);
139
152 CSFML_WINDOW_API void sfWindow_close(sfWindow* window);
153
166 CSFML_WINDOW_API sfBool sfWindow_isOpen(const sfWindow* window);
167
181 CSFML_WINDOW_API sfContextSettings sfWindow_getSettings(const sfWindow* window);
182
198 CSFML_WINDOW_API sfBool sfWindow_pollEvent(sfWindow* window, sfEvent* event);
199
217 CSFML_WINDOW_API sfBool sfWindow_waitEvent(sfWindow* window, sfEvent* event);
218
227 CSFML_WINDOW_API sfVector2i sfWindow_getPosition(const sfWindow* window);
228
240 CSFML_WINDOW_API void sfWindow_setPosition(sfWindow* window, sfVector2i position);
241
253 CSFML_WINDOW_API sfVector2u sfWindow_getSize(const sfWindow* window);
254
262 CSFML_WINDOW_API void sfWindow_setSize(sfWindow* window, sfVector2u size);
263
271 CSFML_WINDOW_API void sfWindow_setTitle(sfWindow* window, const char* title);
272
280 CSFML_WINDOW_API void sfWindow_setUnicodeTitle(sfWindow* window, const sfUint32* title);
281
294 CSFML_WINDOW_API void sfWindow_setIcon(sfWindow* window, unsigned int width, unsigned int height, const sfUint8* pixels);
295
303 CSFML_WINDOW_API void sfWindow_setVisible(sfWindow* window, sfBool visible);
304
317 CSFML_WINDOW_API void sfWindow_setVerticalSyncEnabled(sfWindow* window, sfBool enabled);
318
326 CSFML_WINDOW_API void sfWindow_setMouseCursorVisible(sfWindow* window, sfBool visible);
327
341 CSFML_WINDOW_API void sfWindow_setMouseCursorGrabbed(sfWindow* window, sfBool grabbed);
342
361 CSFML_WINDOW_API void sfWindow_setMouseCursor(sfWindow* window, const sfCursor* cursor);
362
376 CSFML_WINDOW_API void sfWindow_setKeyRepeatEnabled(sfWindow* window, sfBool enabled);
377
389 CSFML_WINDOW_API void sfWindow_setFramerateLimit(sfWindow* window, unsigned int limit);
390
401 CSFML_WINDOW_API void sfWindow_setJoystickThreshold(sfWindow* window, float threshold);
402
420 CSFML_WINDOW_API sfBool sfWindow_setActive(sfWindow* window, sfBool active);
421
434 CSFML_WINDOW_API void sfWindow_requestFocus(sfWindow* window);
435
446 CSFML_WINDOW_API sfBool sfWindow_hasFocus(const sfWindow* window);
447
459 CSFML_WINDOW_API void sfWindow_display(sfWindow* window);
460
475 CSFML_WINDOW_API sfWindowHandle sfWindow_getSystemHandle(const sfWindow* window);
476
488 CSFML_WINDOW_API sfBool sfWindow_createVulkanSurface(sfWindow* window, const VkInstance* instance, VkSurfaceKHR* surface, const VkAllocationCallbacks* allocator);
489
490
491#endif // SFML_WINDOW_H
sfUint32
unsigned int sfUint32
Definition Config.h:176
sfBool
int sfBool
Definition Config.h:153
sfUint8
unsigned char sfUint8
Definition Config.h:168
Event.h
Vector2.h
VideoMode.h
VkInstance
struct VkInstance_T * VkInstance
Definition Vulkan.h:32
VkAllocationCallbacks
struct VkAllocationCallbacks VkAllocationCallbacks
Definition Vulkan.h:44
VkSurfaceKHR
sfUint64 VkSurfaceKHR
Definition Vulkan.h:40
WindowBase.h
WindowHandle.h
Export.h
CSFML_WINDOW_API
#define CSFML_WINDOW_API
Definition Window/Export.h:43
Types.h
sfWindow
struct sfWindow sfWindow
Definition Window/Types.h:31
sfCursor
struct sfCursor sfCursor
Definition Window/Types.h:30
sfWindow_setFramerateLimit
void sfWindow_setFramerateLimit(sfWindow *window, unsigned int limit)
Limit the framerate to a maximum fixed frequency.
sfWindow_destroy
void sfWindow_destroy(sfWindow *window)
Destroy a window.
sfWindow_requestFocus
void sfWindow_requestFocus(sfWindow *window)
Request the current window to be made the active foreground window.
sfWindow_setMouseCursorGrabbed
void sfWindow_setMouseCursorGrabbed(sfWindow *window, sfBool grabbed)
Grab or release the mouse cursor.
sfWindow_setMouseCursorVisible
void sfWindow_setMouseCursorVisible(sfWindow *window, sfBool visible)
Show or hide the mouse cursor.
sfWindow_getSettings
sfContextSettings sfWindow_getSettings(const sfWindow *window)
Get the settings of the OpenGL context of a window.
sfWindow_setJoystickThreshold
void sfWindow_setJoystickThreshold(sfWindow *window, float threshold)
Change the joystick threshold.
sfWindow_setVerticalSyncEnabled
void sfWindow_setVerticalSyncEnabled(sfWindow *window, sfBool enabled)
Enable or disable vertical synchronization.
sfWindow_getPosition
sfVector2i sfWindow_getPosition(const sfWindow *window)
Get the position of a window.
sfWindow_waitEvent
sfBool sfWindow_waitEvent(sfWindow *window, sfEvent *event)
Wait for an event and return it.
sfWindow_pollEvent
sfBool sfWindow_pollEvent(sfWindow *window, sfEvent *event)
Pop the event on top of event queue, if any, and return it.
sfWindow_createFromHandle
sfWindow * sfWindow_createFromHandle(sfWindowHandle handle, const sfContextSettings *settings)
Construct a window from an existing control.
sfContextAttribute
sfContextAttribute
Enumeration of the context attribute flags.
Definition Window/Window.h:45
sfContextCore
@ sfContextCore
Core attribute.
Definition Window/Window.h:47
sfContextDebug
@ sfContextDebug
Debug attribute.
Definition Window/Window.h:48
sfContextDefault
@ sfContextDefault
Non-debug, compatibility context (this and the core attribute are mutually exclusive)
Definition Window/Window.h:46
sfWindow_setKeyRepeatEnabled
void sfWindow_setKeyRepeatEnabled(sfWindow *window, sfBool enabled)
Enable or disable automatic key-repeat.
sfWindow_getSystemHandle
sfWindowHandle sfWindow_getSystemHandle(const sfWindow *window)
Get the OS-specific handle of the window.
sfWindow_createUnicode
sfWindow * sfWindow_createUnicode(sfVideoMode mode, const sfUint32 *title, sfUint32 style, const sfContextSettings *settings)
Construct a new window (with a UTF-32 title)
sfWindow_isOpen
sfBool sfWindow_isOpen(const sfWindow *window)
Tell whether or not a window is opened.
sfWindow_hasFocus
sfBool sfWindow_hasFocus(const sfWindow *window)
Check whether the window has the input focus.
sfWindow_getSize
sfVector2u sfWindow_getSize(const sfWindow *window)
Get the size of the rendering region of a window.
sfWindow_setTitle
void sfWindow_setTitle(sfWindow *window, const char *title)
Change the title of a window.
sfWindow_setIcon
void sfWindow_setIcon(sfWindow *window, unsigned int width, unsigned int height, const sfUint8 *pixels)
Change a window's icon.
sfWindow_setMouseCursor
void sfWindow_setMouseCursor(sfWindow *window, const sfCursor *cursor)
Set the displayed cursor to a native system cursor.
sfWindow_setActive
sfBool sfWindow_setActive(sfWindow *window, sfBool active)
Activate or deactivate a window as the current target for OpenGL rendering.
sfWindow_display
void sfWindow_display(sfWindow *window)
Display on screen what has been rendered to the window so far.
sfWindow_setUnicodeTitle
void sfWindow_setUnicodeTitle(sfWindow *window, const sfUint32 *title)
Change the title of a window (with a UTF-32 string)
sfWindow_setSize
void sfWindow_setSize(sfWindow *window, sfVector2u size)
Change the size of the rendering region of a window.
sfWindow_create
sfWindow * sfWindow_create(sfVideoMode mode, const char *title, sfUint32 style, const sfContextSettings *settings)
Construct a new window.
sfWindow_close
void sfWindow_close(sfWindow *window)
Close a window and destroy all the attached resources.
sfWindow_createVulkanSurface
sfBool sfWindow_createVulkanSurface(sfWindow *window, const VkInstance *instance, VkSurfaceKHR *surface, const VkAllocationCallbacks *allocator)
Create a Vulkan rendering surface.
sfWindow_setVisible
void sfWindow_setVisible(sfWindow *window, sfBool visible)
Show or hide a window.
sfWindow_setPosition
void sfWindow_setPosition(sfWindow *window, sfVector2i position)
Change the position of a window on screen.
sfContextSettings
Structure defining the window's creation settings.
Definition Window/Window.h:57
sfContextSettings::attributeFlags
sfUint32 attributeFlags
The attribute flags to create the context with.
Definition Window/Window.h:63
sfContextSettings::depthBits
unsigned int depthBits
Bits of the depth buffer.
Definition Window/Window.h:58
sfContextSettings::stencilBits
unsigned int stencilBits
Bits of the stencil buffer.
Definition Window/Window.h:59
sfContextSettings::majorVersion
unsigned int majorVersion
Major number of the context version to create.
Definition Window/Window.h:61
sfContextSettings::minorVersion
unsigned int minorVersion
Minor number of the context version to create.
Definition Window/Window.h:62
sfContextSettings::antialiasingLevel
unsigned int antialiasingLevel
Level of antialiasing.
Definition Window/Window.h:60
sfContextSettings::sRgbCapable
sfBool sRgbCapable
Whether the context framebuffer is sRGB capable.
Definition Window/Window.h:64
sfVector2i
2-component vector of integers
Definition Vector2.h:39
sfVector2u
2-component vector of unsigned integers
Definition Vector2.h:50
sfVideoMode
sfVideoMode defines a video mode (width, height, bpp, frequency) and provides functions for getting m...
Definition VideoMode.h:42
sfEvent
sfEvent defines a system event and its parameters
Definition Event.h:222