Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
Grindstone::Window Class Referenceabstract
Inheritance diagram for Grindstone::Window:
Grindstone::GlfwWindow Grindstone::Win32Window Grindstone::X11Window

Classes

struct  CreateInfo

Public Types

enum class  FullscreenMode { Windowed = 0 , Borderless , Fullscreen }
enum  FullscreenMode

Public Member Functions

virtual void Show ()=0
virtual void Hide ()=0
virtual bool ShouldClose ()=0
virtual void HandleEvents ()=0
virtual void SetFullscreen (FullscreenMode mode)=0
virtual void GetWindowRect (unsigned int &left, unsigned int &top, unsigned int &right, unsigned int &bottom) const =0
virtual void GetWindowSize (unsigned int &width, unsigned int &height) const =0
virtual void SetWindowSize (unsigned int width, unsigned int height)=0
virtual void GetMousePos (unsigned int &x, unsigned int &y) const =0
virtual void SetMousePos (unsigned int x, unsigned int y)=0
virtual void SetCursorMode (Grindstone::Input::CursorMode cursorMode)=0
virtual Grindstone::Input::CursorMode GetCursorMode () const =0
virtual void SetMouseIsRawMotion (bool isRawMotion)=0
virtual bool GetMouseIsRawMotion () const =0
virtual void SetWindowPos (unsigned int x, unsigned int y)=0
virtual void GetWindowPos (unsigned int &x, unsigned int &y) const =0
virtual void SetWindowFocus (bool isFocused)=0
virtual bool GetWindowFocus () const =0
virtual bool GetWindowMinimized () const =0
virtual void GetTitle (char *allocatedBuffer) const =0
virtual void SetTitle (const char *title)=0
virtual void SetWindowAlpha (float alpha)=0
virtual float GetWindowDpiScale () const =0
virtual void Close ()=0
virtual bool CopyStringToClipboard (const std::string &stringToCopy)=0
virtual std::filesystem::path BrowseFolder (std::filesystem::path &defaultPath)=0
virtual std::filesystem::path OpenFileDialogue (const char *filter="All Files (*.*)\0*.*\0")=0
virtual std::filesystem::path SaveFileDialogue (const char *filter="All Files (*.*)\0*.*\0")=0
virtual void ExplorePath (const char *path)=0
virtual void OpenFileUsingDefaultProgram (const char *path)=0
Grindstone::GraphicsAPI::WindowGraphicsBindingGetWindowGraphicsBinding () const
void AddBinding (Grindstone::GraphicsAPI::WindowGraphicsBinding *wgb)
void ImmediateSetContext ()
void ImmediateSwapBuffers ()
bool IsSwapchainControlledByEngine () const
 Window (System.IntPtr p)
void Close ()
void Show ()
void Hide ()

Static Public Member Functions

static Grindstone::WindowCreate (CreateInfo &createInfo)

Protected Attributes

Grindstone::GraphicsAPI::WindowGraphicsBindingwindowsGraphicsBinding = nullptr
bool isSwapchainControlledByEngine

Properties

static Window Current [get]
FullscreenMode Fullscreen [set]
Rect WindowRect [get]
Float2 Size [get, set]
Float2 Position [get, set]
bool IsFocused [get, set]
bool IsMinimized [get]
string Title [get, set]

The documentation for this class was generated from the following files:
  • /github/workspace/sources/code/Common/Window/Window.hpp
  • /github/workspace/plugins/Grindstone.Script.CSharp/CSharpCore/Utils/Window.cs