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
51
53 static Input::Key::Code TranslateKeyCode(int inkey);
54
55protected:
58 friend class GLFWWindow;
59
60 friend class OGL4RenderDevice;
61 friend class GLFWInputServer;
62
64 friend void KeyFunc(const CoreGraphics::WindowId& id, int key, int scancode, int action, int mods);
65 friend void CharFunc(const CoreGraphics::WindowId& id, unsigned int key);
66 friend void MouseButtonFunc(const CoreGraphics::WindowId& id, int button, int action, int mods);
67 friend void MouseFunc(const CoreGraphics::WindowId& id, double xpos, double ypos);
68 friend void ScrollFunc(const CoreGraphics::WindowId& id, double xs, double ys);
69 friend void CloseFunc(const CoreGraphics::WindowId& id);
70 friend void FocusFunc(const CoreGraphics::WindowId& id, int focus);
71 friend void ResizeFunc(const CoreGraphics::WindowId& id, int width, int height);
72 friend void MoveFunc(const CoreGraphics::WindowId& id, int x, int y);
75
77 GLFWmonitor* GetMonitor(int index);
78
79};
80
81} // namespace GLFW
82//------------------------------------------------------------------------------
A DisplayDevice object represents the display where the RenderDevice presents the rendered frame.
Definition displaydevicebase.h:38
CoreGraphics::Adapter::Code adapter
Definition displaydevicebase.h:101
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
friend void MouseButtonFunc(const CoreGraphics::WindowId &id, int button, int action, int mods)
Mouse Button callback.
Definition glfwwindow.cc:116
Ptr< Graphics::GraphicsDisplayEventHandler > graphicsEventHandler
Definition glfwdisplaydevice.h:57
static Input::Key::Code TranslateKeyCode(int inkey)
translate glfw keycodes to nebula ones
Definition glfwdisplaydevice.cc:267
friend class GLFWWindow
Definition glfwdisplaydevice.h:58
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
Util::FixedArray< CoreGraphics::Monitor > GetMonitors()
Get list of monitors.
Definition glfwdisplaydevice.cc:242
friend void KeyFunc(const CoreGraphics::WindowId &id, int key, int scancode, int action, int mods)
Keyboard callback.
Definition glfwwindow.cc:81
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
Ptr< Input::InputDisplayEventHandler > inputEventHandler
Definition glfwdisplaydevice.h:56
friend void CharFunc(const CoreGraphics::WindowId &id, unsigned int key)
Character callback.
Definition glfwwindow.cc:107
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:150
__DeclareClass(GLFWDisplayDevice)
friend void CloseFunc(const CoreGraphics::WindowId &id)
window close func
Definition glfwwindow.cc:175
__DeclareSingleton(GLFWDisplayDevice)
friend void FocusFunc(const CoreGraphics::WindowId &id, int focus)
window focus
Definition glfwwindow.cc:184
friend class GLFWInputServer
Definition glfwdisplaydevice.h:61
friend const CoreGraphics::WindowId InternalSetupFunction(const CoreGraphics::WindowCreateInfo &info)
internal setup function, either does embedding or ordinary opening
Definition glfwwindow.cc:281
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:163
bool AdapterExists(CoreGraphics::Adapter::Code adapter)
return true if adapter exists
Definition glfwdisplaydevice.cc:221
friend class OGL4RenderDevice
Definition glfwdisplaydevice.h:60
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:377
GLFWDisplayDevice()
constructor
Definition glfwdisplaydevice.cc:29
friend void MoveFunc(const CoreGraphics::WindowId &id, int x, int y)
Window move.
Definition glfwwindow.cc:394
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
Implements a fixed size one-dimensional array.
Definition fixedarray.h:20
void WindowNewFrame(const WindowId id)
Do new frame stuff for window.
Definition glfwwindow.cc:634
void DestroyWindow(const WindowId id)
destroy window
Definition glfwwindow.cc:437
Definition glfwinputserver.cc:12
Definition window.h:36
Definition window.h:25