Nebula
Loading...
Searching...
No Matches
glfwdisplaydevice.h
Go to the documentation of this file.
1#pragma once
2//------------------------------------------------------------------------------
11//------------------------------------------------------------------------------
12#include "GLFW/glfw3.h"
14#include "util/array.h"
15#include "threading/thread.h"
18
19namespace GLFW
20{
22{
25public:
29 virtual ~GLFWDisplayDevice();
30
32 bool Open();
34 void Close();
36 static void ProcessWindowMessages();
37
48
50 static Input::Key::Code TranslateKeyCode(int inkey);
51
52protected:
55 friend class GLFWWindow;
56
57 friend class OGL4RenderDevice;
58 friend class GLFWInputServer;
59
61 friend void KeyFunc(const CoreGraphics::WindowId& id, int key, int scancode, int action, int mods);
62 friend void CharFunc(const CoreGraphics::WindowId& id, unsigned int key);
63 friend void MouseButtonFunc(const CoreGraphics::WindowId& id, int button, int action, int mods);
64 friend void MouseFunc(const CoreGraphics::WindowId& id, double xpos, double ypos);
65 friend void ScrollFunc(const CoreGraphics::WindowId& id, double xs, double ys);
66 friend void CloseFunc(const CoreGraphics::WindowId& id);
67 friend void FocusFunc(const CoreGraphics::WindowId& id, int focus);
68 friend void ResizeFunc(const CoreGraphics::WindowId& id, int width, int height);
70 friend const CoreGraphics::WindowId InternalSetupFunction(const CoreGraphics::WindowCreateInfo& info, const Util::Blob& windowData, bool embed);
71
73 GLFWmonitor* GetMonitor(int index);
74
75};
76
77} // namespace GLFW
78//------------------------------------------------------------------------------
A DisplayDevice object represents the display where the RenderDevice presents the rendered frame.
Definition displaydevicebase.h:29
CoreGraphics::Adapter::Code adapter
Definition displaydevicebase.h:97
Code
enum
Definition adapter.h:23
Contains information about a given display adapter.
Definition adapterinfo.h:23
Describe a fullscreen display mode or window dimensions.
Definition displaymode.h:19
Code
enums
Definition pixelformat.h:26
Definition glfwdisplaydevice.h:22
friend void MouseButtonFunc(const CoreGraphics::WindowId &id, int button, int action, int mods)
Mouse Button callback.
Definition glfwwindow.cc:205
static Input::Key::Code TranslateKeyCode(int inkey)
translate glfw keycodes to nebula ones
Definition glfwdisplaydevice.cc:242
friend class GLFWWindow
Definition glfwdisplaydevice.h:55
void Close()
close the display
Definition glfwdisplaydevice.cc:72
CoreGraphics::DisplayMode GetCurrentAdapterDisplayMode(CoreGraphics::Adapter::Code adapter)
get current adapter display mode (i.e. the desktop display mode)
Definition glfwdisplaydevice.cc:195
bool Open()
open the display
Definition glfwdisplaydevice.cc:49
friend void KeyFunc(const CoreGraphics::WindowId &id, int key, int scancode, int action, int mods)
Keyboard callback.
Definition glfwwindow.cc:170
virtual ~GLFWDisplayDevice()
destructor
Definition glfwdisplaydevice.cc:38
bool SupportsDisplayMode(CoreGraphics::Adapter::Code adapter, const CoreGraphics::DisplayMode &requestedMode)
return true if a given display mode is supported
Definition glfwdisplaydevice.cc:148
friend void CharFunc(const CoreGraphics::WindowId &id, unsigned int key)
Character callback.
Definition glfwwindow.cc:196
static void ProcessWindowMessages()
process window system messages, call this method once per frame
Definition glfwdisplaydevice.cc:87
friend void MouseFunc(const CoreGraphics::WindowId &id, double xpos, double ypos)
Mouse callback.
Definition glfwwindow.cc:238
__DeclareClass(GLFWDisplayDevice)
friend void CloseFunc(const CoreGraphics::WindowId &id)
window close func
Definition glfwwindow.cc:263
__DeclareSingleton(GLFWDisplayDevice)
friend void FocusFunc(const CoreGraphics::WindowId &id, int focus)
window focus
Definition glfwwindow.cc:272
Ptr< GLFWInputDisplayEventHandler > inputEventHandler
Definition glfwdisplaydevice.h:53
Ptr< GLFWGraphicsDisplayEventHandler > graphicsEventHandler
Definition glfwdisplaydevice.h:54
CoreGraphics::AdapterInfo GetAdapterInfo(CoreGraphics::Adapter::Code adapter)
get general info about display adapter
Definition glfwdisplaydevice.cc:231
friend void ScrollFunc(const CoreGraphics::WindowId &id, double xs, double ys)
Scroll callback.
Definition glfwwindow.cc:251
bool AdapterExists(CoreGraphics::Adapter::Code adapter)
return true if adapter exists
Definition glfwdisplaydevice.cc:221
friend class OGL4RenderDevice
Definition glfwdisplaydevice.h:57
friend const CoreGraphics::WindowId InternalSetupFunction(const CoreGraphics::WindowCreateInfo &info, const Util::Blob &windowData, bool embed)
internal setup function, either does embedding or ordinary opening
Definition glfwwindow.cc:324
Util::Array< CoreGraphics::DisplayMode > GetAvailableDisplayModes(CoreGraphics::Adapter::Code adapter, CoreGraphics::PixelFormat::Code pixelFormat)
get available display modes on given adapter
Definition glfwdisplaydevice.cc:120
GLFWmonitor * GetMonitor(int index)
retrieve monitor from adapter. can be NULL
Definition glfwdisplaydevice.cc:165
friend void ResizeFunc(const CoreGraphics::WindowId &id, int width, int height)
window resize
Definition glfwwindow.cc:429
GLFWDisplayDevice()
constructor
Definition glfwdisplaydevice.cc:29
Definition glfwinputserver.h:18
Code
key codes
Definition key.h:25
Nebula's smart pointer class which manages the life time of RefCounted objects.
Definition ptr.h:38
Nebula's dynamic array class.
Definition array.h:60
The Util::Blob class encapsulates a chunk of raw memory into a C++ object which can be copied,...
Definition blob.h:22
void WindowNewFrame(const WindowId id)
Do new frame stuff for window.
Definition glfwwindow.cc:601
void DestroyWindow(const WindowId id)
destroy window
Definition glfwwindow.cc:475
Definition glfwinputserver.cc:12
Definition window.h:31
Definition window.h:25