1
0
Fork 0
Commit graph

63 commits

Author SHA1 Message Date
624871486f source/Platform/Unix/X11Display.cpp: Improve logging. 2023-08-02 20:30:37 +02:00
57d4e44bbe source/Platform/Unix/X11Display.cpp: make getSize() query X11 and dont just return cached value. 2023-08-02 20:30:37 +02:00
ea0edcf07f source/Platform/Unix/GLXContext.h: Whitespace fix. 2023-08-02 20:30:37 +02:00
1854c4cb51 source/Platform/Unix/GLXContext.cpp: Whitespace fix. 2023-08-02 20:30:37 +02:00
35a6b38d16 source/Platform/Unix/X11Mouse.cpp: minor whitespace fix. 2023-08-02 20:30:37 +02:00
53d8248b8c source/Platform/Unix/X11Display.cpp: typofix. 2023-08-02 20:30:37 +02:00
ff5d719fcf source/Platform/Unix/X11Display.cpp: Do not capture Pointer motions. 2023-08-02 20:30:37 +02:00
75a53f635d source/Platform/Unix/X11EventQueue.cpp: Remove ResizeRequest. 2023-08-02 20:30:37 +02:00
869b41c38a source/Platform/Unix/UnixMisc.cpp: tab indentation fix. 2023-02-18 13:08:03 +01:00
0a5eb397c7 Platform/Unix/X11Display: Adding stub for enterFullscreen and exitFullscreen 2022-10-02 23:31:46 +02:00
84f0a83bee source/Platform/Unix/X11Display.cpp: Whitespace fix. 2022-10-02 17:11:27 +02:00
605e0df902 source/Platform/Unix/X11Display.cpp: call setDecoration() in create() 2022-10-02 17:07:14 +02:00
36c6024649 Platform/Unix/X11Display: remove setIcon(const std::string&) as this exists in Generic Display class. 2022-10-02 17:06:02 +02:00
a8fa3981f4 source/Platform/Unix/Xlib.cpp: assert _priv::display in shutdown() 2022-10-02 17:02:10 +02:00
b78ddba11e Platform/Unix/X11Display: implement setDecoration() 2022-10-02 17:01:40 +02:00
c20c79cfd3 Adding source/Platform/Unix/wm_hints.h 2022-10-02 17:00:45 +02:00
1c7cc31b52 source/Platform/Unix/X11Display.cpp: Fix getPosition() as it did not take border width into account. 2022-10-01 16:09:43 +02:00
46bc8eb5d8 Platform/Unix/Xlib: Adding getParentWindow() 2022-10-01 16:09:43 +02:00
f6aa0246d3 source/Platform/Unix/X11Mouse.cpp: implement hack for XButton1 and 2. 2020-12-28 18:20:55 +01:00
090646b61a Platform/Unix: Rename X11SharedDisplay to Xlib, and remove Display member variable from all classes.
We now initialize/destroy the display in Xlib::init/shutdown that is called in UnixApplication::init/shutdown and
therefore is valid through the whole lifetime. So no need for classes to keep references.
2020-12-26 15:37:56 +01:00
197b4df87f Unix: Remove unnecessary includes of Spectre/Display/DisplayDescription.h 2020-12-23 14:36:52 +01:00
080c4f77c3 Platform/Unix/X11Keyboard: only update state and signal key down if we have a focused window. 2020-12-20 16:29:12 +01:00
6c96a3d9a1 Platform/Unix/X11Mouse.cpp: in isButtonDown() check if we have a focused window. 2020-12-20 16:28:25 +01:00
f71cfa86f2 Platform/Unix/X11Mouse: use X11Display::getFocused() to get the coordinates relative to the focused window. 2020-12-20 16:09:16 +01:00
227d58725d Platform/Unix/X11Display.cpp: Set and unset focused_display variable when the display receives FocusIn/Out events. 2020-12-20 16:03:05 +01:00
d9f54b08ca Platform/Unix/X11Display: Adding getFocused() 2020-12-20 16:01:37 +01:00
d971cd6cb2 Platform/Unix/X11Display.cpp: Capture input focus events (just log for now). 2020-12-20 13:55:56 +01:00
56c24f7118 Platform/Unix/X11Display: Implement missing interface functions.
* getPosition
* setVisible
* minimize
* maximize
* grabCursor (only stub. to get the code to compile)
2020-12-20 13:43:35 +01:00
40e4f95452 Platform/Unix/X11Display.cpp: minor stuff. 2020-12-19 18:55:12 +01:00
0c76864b40 Platform/Unix/X11Display: in setSize() check if width or height is zero before calling XResizeWindow() 2020-12-19 18:55:12 +01:00
50439a58bd source/Platform/Unix/X11Display.cpp: in destroy() make sure m_disp is valid before calling functions that needs it. 2020-12-19 18:55:12 +01:00
0d029817fe source/Platform/Unix/X11Display.cpp: in destroy() call XDestroyWindow() 2020-12-19 18:55:12 +01:00
61b233f708 Platform/Unix/X11Display.cpp: Minor cleanup. 2020-12-19 18:55:12 +01:00
f5d80aa46f Platform/Unix/X11Display: Implement setIcon() 2020-12-19 18:55:12 +01:00
3d9dda64ca Platform/Unix/X11Display: Implement showCursor() 2020-12-19 18:55:12 +01:00
d73c787f40 Platform/Unix/X11SharedDisplay: pass a pointer to the display to XReleaseDisplay() just to be sure client code has a valid pointer 2020-12-19 18:55:11 +01:00
dfe29acc1e Platform/Unix/UnixMisc.cpp: implement display mode lookups using xrandr extension. 2020-12-19 18:55:11 +01:00
03186ebea0 Platform/Unix/X11EventQueue.cpp: pass ButtonPress/ButtonRelease/MotionNotify events to X11Mouse 2020-12-19 18:55:11 +01:00
816cf3a072 Platform/Unix/X11Mouse: adding a basic implementation to get things going. 2020-12-19 18:55:11 +01:00
cfe064f02c Platform/Unix/X11Keyboard: implement isKeyDown() 2020-12-19 18:55:11 +01:00
7356bdebdd 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-12-19 18:55:11 +01:00
4193b3b719 Platform/Unix/X11EventQueue: send KeyPress and KeyRelease events to X11Keyboard::handleMessage() 2020-12-19 18:55:11 +01:00
9954c45fe9 Platform/Unix/X11Keyboard: Implement handleMessage() 2020-12-19 18:55:11 +01:00
30dc11f0d5 Platform/Unix/X11Display.h: Some documentation. 2020-12-19 18:55:11 +01:00
23cf17f9af Platform/Unix/X11EventQueue.cpp: Only process one event per call to poll(). Confirming to Platform API. 2020-12-19 18:55:11 +01:00
7648c23e43 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-12-19 18:55:11 +01:00
c5648a5105 Platform/Unix/X11EventQueue: redirect unkown events to X11WindowEventHandler. 2020-12-19 18:55:11 +01:00
2b14977eed source/Platform/Unix/X11Display.cpp: register with X11WindowEventHandler 2020-12-19 18:55:11 +01:00
7402896ce6 Adding Platform/Unix/X11WindowEventHandler 2020-12-19 18:55:11 +01:00
7a694e8fd0 Platform/Unix/X11Display: Adding processEvent() to handle resize. 2020-12-19 18:55:11 +01:00