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
 
enum  FullscreenMode { Windowed , Borderless , Fullscreen }
 

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: