cb5da64d10
Platform/Unix/UnixMisc.cpp: implement display mode lookups using xrandr extension.
2020-10-17 14:10:11 +02:00
b8ff8a1e46
Platform/Unix/X11EventQueue.cpp: pass ButtonPress/ButtonRelease/MotionNotify events to X11Mouse
2020-10-16 19:39:27 +02:00
dd8a4a0583
Platform/Unix/X11Mouse: adding a basic implementation to get things going.
2020-10-16 19:39:27 +02:00
6426679845
Platform/Unix/X11Keyboard: implement isKeyDown()
2020-10-16 19:39:27 +02:00
cdea7e238c
Platform/Unix/X11EventQueue: Fix bug where messeges where not flushed to the event queue.
...
XEventsQueued(disp, QueuedAlready) only returns the number of events currently in the queue and
does not flush new events. So this must happen elsewhere and if it does not we
will never see any events. i noticed this bug when removing the call to glXSwapBuffers().
Fix this by using XPending() instead as this flushes new events
if the queue is empty before returning the length.
see https://tronche.com/gui/x/xlib/event-handling/XEventsQueued.html
and https://tronche.com/gui/x/xlib/event-handling/XPending.html
2020-10-16 19:39:27 +02:00
573d546961
Platform/Unix/X11EventQueue: send KeyPress and KeyRelease events to X11Keyboard::handleMessage()
2020-10-16 19:39:27 +02:00
eb0889470e
Platform/Unix/X11Keyboard: Implement handleMessage()
2020-10-16 19:39:27 +02:00
12c0a962fc
Platform/Unix/X11Display.h: Some documentation.
2020-10-16 19:39:27 +02:00
c020b5dcf6
Platform/Unix/X11EventQueue.cpp: Only process one event per call to poll(). Confirming to Platform API.
2020-10-16 19:39:27 +02:00
b21c62d98c
Platform/Unix/X11EventQueue: get and release display handle in constructor/destructor instead of every call to poll()
...
Should be fine as the display should never change during runtime.
2020-10-16 19:39:27 +02:00
053511453f
Platform/Unix/X11EventQueue: redirect unkown events to X11WindowEventHandler.
2020-10-16 19:39:27 +02:00
6dffb1619a
source/Platform/Unix/X11Display.cpp: register with X11WindowEventHandler
2020-10-16 19:39:27 +02:00
2788424516
Adding Platform/Unix/X11WindowEventHandler
2020-10-16 19:39:27 +02:00
2ab5c7fc41
Platform/Unix/X11Display: Adding processEvent() to handle resize.
2020-10-16 19:39:27 +02:00
31970826a4
source/Platform/Unix/X11Display.cpp: Replace ResizeRedirectMask with StructureNotifyMask
...
ResizeRedirectMask is broken (will not update the window size). We use StrucutreNotifyMask instead and capture the window size from CaptureNotify event instead.
2020-10-16 19:39:27 +02:00
478cdaa8a1
source/Platform/Unix/X11Display.cpp: in create() call setSize()
2020-10-16 19:39:27 +02:00
b58a5fe9dd
source/Platform/Unix/X11EventQueue.cpp: post quit event on "WM_DELETE_WINDOW".
2020-10-16 19:39:27 +02:00
34b78a7a4d
source/Platform/Unix/X11EventQueue.cpp: log "WM_DESTROY_WINDOW" message.
2020-10-16 19:39:27 +02:00
62156a8685
source/Platform/Unix/X11Display.cpp: call XSetWMProtocols with "WM_DELETE_WINDOW" flag.
2020-10-16 19:39:27 +02:00
776904ee9a
Platform/Unix/X11SharedDisplay: adding getAtom()
2020-10-16 19:39:27 +02:00
fa97552e23
source/Platform/Unix/UnixEventQueue.cpp: implement a poll method (only log events for now)
2020-10-16 19:39:27 +02:00
dd17868b89
source/Platform/Unix/X11Display.cpp: in create() set the attr.event_mask to include some interesting events.
2020-10-16 19:39:27 +02:00
9131aa2d2d
source/Platform/Unix/GLXContext: Initial implementation
2020-10-16 19:39:27 +02:00
06f5ef5f86
source/Platform/Unix/X11Display.cpp: Initial implementation
2020-10-16 19:39:27 +02:00
389d75f3d8
Adding source/Platform/Unix/X11SharedDisplay.cpp
2020-10-16 19:39:27 +02:00
c35fd2e287
Adding glad GLX
2020-10-16 19:39:27 +02:00
1a2caae3b6
assets: bam does not like whitespace in file names.
2020-10-16 19:39:27 +02:00
203b69073f
bam: adding unix support.
2020-10-16 19:39:26 +02:00
38d333862a
source/Platform/Unix: stub implementation
2020-10-16 19:39:26 +02:00
b0d14b91e0
Adding Input Example.
2020-10-16 19:38:05 +02:00
1332921174
examples/events/EventsExample.cpp: handle mouse button events also.
2020-10-16 19:37:56 +02:00
c09febc4d8
examples/events/EventsExample.cpp: store std::string instead of char pointer.
...
Some compilers (ehm, microsoft) returns a temporary variable for event.key.getKeyName() that is only valid during the statement and not scope.
Fix this by storing std::string instead. So the object's lifetime is the entire if statement.
2020-10-14 13:50:52 +02:00
49f42e98f4
Adding Event example
2020-10-14 13:21:16 +02:00
ec8eb971a5
engine.build.lua: define "SPECTRE_DEBUG" when building in debug mode.
2020-10-13 18:07:29 +02:00
1a6cee0b25
Spectre/System/Log: adding debug method.
2020-10-13 18:07:29 +02:00
eb1f6303f1
include/Spectre/Input/InputDevice.h: typo fix.
2020-09-24 18:30:53 +02:00
32fddcd99d
include/Spectre/Input/Mouse.h: don't use relative path in include.
2020-09-24 17:39:48 +02:00
f86a1ae90c
Merge branch 'maint-platform' into dev
2020-09-24 17:17:12 +02:00
18880ef17e
source/Game.cpp: minor fixes.
2020-09-24 16:33:30 +02:00
976ddecd10
source/Game.cpp: in run() exit if graphics could not be initialized.
2020-09-23 16:56:28 +02:00
2a1851efb5
Game: remove setup() method. do setup in run() instead.
2020-09-23 16:55:42 +02:00
d58c49421e
source/Graphics/OpenGL.cpp: in init() return false if display fails to be created.
2020-09-23 12:41:22 +02:00
0f08f10a0d
source/Game.cpp: don't need to call setClearColor() here. it is done as part of the graphics module setup.
2020-09-23 00:00:31 +02:00
2c76d3bc87
source/Platform/Win32/Win32GLContext.cpp: no need to have our own wgl extension loader (fixed in latest glad2)
2020-09-21 18:00:08 +02:00
d8af100691
GLAD WGL: Update to new version.
2020-09-21 17:59:14 +02:00
a96e78bca5
source/Platform/Win32/Win32GLContext.cpp: in createGLContext() check return value from ensureExtensionsLoaded()
2020-09-20 16:46:51 +02:00
e3c01d4897
source/Platform/Win32/Win32GLContext.cpp: make ensureExtensionsLoaded() return bool.
2020-09-20 16:45:58 +02:00
6805e392a7
source/Platform/Win32/Win32GLContext.cpp: in createGLContext() delete temporary context as the last step.
2020-09-20 16:42:44 +02:00
afc1491718
Merge branch '6-abstract-filesystem' into dev
2020-09-17 09:50:06 +02:00
92a561648e
Platform/Win32/Win32Input.cpp: remove Win32InputMsgBuffer
2020-02-15 15:41:53 +01:00