Nebula
Loading...
Searching...
No Matches
window.h
Go to the documentation of this file.
1#pragma once
2//------------------------------------------------------------------------------
9//------------------------------------------------------------------------------
10#include "ids/id.h"
11#include "ids/idpool.h"
15#include "util/stringatom.h"
16#include "util/blob.h"
17
18#if defined(CreateWindow)
19#undef CreateWindow
20#endif
21
22namespace CoreGraphics
23{
24
26struct TextureId;
27struct SwapchainId;
28struct CmdBufferId;
29struct TextureId;
30
31
34extern WindowId MainWindow;
36{
41 void* userData = nullptr; // Setting user data implicitly states that another system owns and manages this window
42 bool resizable : 1;
43 bool decorated : 1;
44 bool fullscreen : 1;
45 bool vsync : 1;
46};
47
51const WindowId CreateWindow(const WindowCreateInfo& info);
53void DestroyWindow(const WindowId id);
54
56void WindowResize(const WindowId id, SizeT newWidth, SizeT newHeight);
60void WindowReposition(const WindowId id, int x, int y);
64void WindowSetTitle(const WindowId id, const Util::String& title);
66void WindowSetIcon(const WindowId id, const Util::String& icon);
68void WindowShow(const WindowId id);
70void WindowPresent(const WindowId id, const IndexT frameIndex);
72void WindowPollEvents();
74void WindowNewFrame(const WindowId id);
76void WindowApplyFullscreen(const WindowId id, Adapter::Code monitor, bool b);
78void WindowSetCursorVisible(const WindowId id, bool b);
80void WindowSetCursorLocked(const WindowId id, bool b);
82void WindowTakeFocus(const WindowId id);
83
85void* WindowGetUserData(const WindowId id);
86
92const bool WindowIsFullscreen(const WindowId id);
94const bool WindowIsDecorated(const WindowId id);
96const bool WindowIsResizable(const WindowId id);
105
106} // CoreGraphics
Code
enum
Definition adapter.h:23
Code
enum
Definition antialiasquality.h:24
@ None
Definition antialiasquality.h:25
Describe a fullscreen display mode or window dimensions.
Definition displaymode.h:19
A StringAtom.
Definition stringatom.h:22
#define ID_24_8_TYPE(x)
Definition id.h:132
Acceleration structures are used to enable ray tracing on the GPU by dividing the scene into a BVH.
Definition accelerationstructure.h:24
const bool WindowIsFullscreen(const WindowId id)
get if fullscreen
Definition glfwwindow.cc:691
Math::vec2 WindowGetContentScale(const WindowId id)
retrieve window content scaling (ratio between current DPI and platform default DPI)
void WindowPollEvents()
poll events for window
Definition glfwwindow.cc:625
void WindowSetIcon(const WindowId id, const Util::String &icon)
Set window icon.
Definition glfwwindow.cc:511
const bool WindowIsResizable(const WindowId id)
get if we are allowed to switch the display mode
Definition glfwwindow.cc:709
void WindowNewFrame(const WindowId id)
Do new frame stuff for window.
Definition glfwwindow.cc:634
void WindowPresent(const WindowId id, const IndexT frameIndex)
present window
Definition glfwwindow.cc:610
void WindowReposition(const WindowId id, int x, int y)
Set window position.
Definition glfwwindow.cc:479
void * WindowGetUserData(const WindowId id)
Get user data associated with window.
Definition glfwwindow.cc:591
void WindowShow(const WindowId id)
Show window.
Definition glfwwindow.cc:600
const WindowId CreateMainWindow(const WindowCreateInfo &info)
create the main window
Definition glfwwindow.cc:414
WindowId FocusWindow
Definition glfwwindow.cc:28
WindowId UpdatingWindow
Definition glfwwindow.cc:27
const CoreGraphics::SwapchainId WindowGetSwapchain(const WindowId id)
Get swapchain associated with this window.
Definition glfwwindow.cc:736
void WindowSetTitle(const WindowId id, const Util::String &title)
set title for window
Definition glfwwindow.cc:501
void WindowTakeFocus(const WindowId id)
Focus window.
Definition glfwwindow.cc:581
const CoreGraphics::DisplayMode WindowGetDisplayMode(const WindowId id)
get display mode from window
Definition glfwwindow.cc:673
WindowId MainWindow
Definition glfwwindow.cc:29
const Util::StringAtom & WindowGetTitle(const WindowId id)
get window title
Definition glfwwindow.cc:718
void DestroyWindow(const WindowId id)
destroy window
Definition glfwwindow.cc:437
Math::int2 WindowGetPosition(const WindowId id)
Get window position.
Definition glfwwindow.cc:489
const bool WindowIsDecorated(const WindowId id)
get if window is modal
Definition glfwwindow.cc:700
Math::int2 WindowGetSize(const WindowId id)
Get window size.
Definition glfwwindow.cc:467
void WindowResize(const WindowId id, SizeT newWidth, SizeT newHeight)
resize window
Definition glfwwindow.cc:457
const Util::StringAtom & WindowGetIcon(const WindowId id)
get window icon
Definition glfwwindow.cc:727
const CoreGraphics::AntiAliasQuality::Code WindowGetAAQuality(const WindowId id)
get display antialias quality
Definition glfwwindow.cc:682
void WindowSetCursorLocked(const WindowId id, bool b)
set if the cursor should be locked to the window
Definition glfwwindow.cc:571
void WindowSetCursorVisible(const WindowId id, bool b)
set if the cursor should be visible
Definition glfwwindow.cc:560
void WindowApplyFullscreen(const WindowId id, Adapter::Code monitor, bool b)
toggle fullscreen
Definition glfwwindow.cc:528
const WindowId CreateWindow(const WindowCreateInfo &info)
create new window
Definition glfwwindow.cc:427
Definition commandbuffer.h:175
Definition swapchain.h:19
texture type
Definition texture.h:25
Definition window.h:36
CoreGraphics::DisplayMode mode
Definition window.h:37
bool resizable
Definition window.h:42
bool decorated
Definition window.h:43
Util::StringAtom icon
Definition window.h:39
bool vsync
Definition window.h:45
bool fullscreen
Definition window.h:44
Util::StringAtom title
Definition window.h:38
void * userData
Definition window.h:41
CoreGraphics::AntiAliasQuality::Code aa
Definition window.h:40
Definition window.h:25
Definition scalar.h:85
A 2-component float vector class.
Definition vec2.h:21
Nebula's universal string class.
Definition String.cs:8
int SizeT
Definition types.h:42
int IndexT
Definition types.h:41