Cacodemon345
e5ab6a8564
qt: Avoid reading absolute mouse input from cross-platform Qt code on Windows
...
This ensures only RAWINPUT sends mouse input to the emulated machine on Windows.
2022-04-08 01:51:32 +06:00
Cacodemon345
c1f9d35de8
qt: Add support for Haiku
...
* OpenAL backend is enabled by default on Haiku
* bswap include now makes use of builtins if they exist
* Use a local fgetws method for Haiku to avoid crashes
* OpenGL renderers are completely disabled on Haiku (they do not work)
* Software renderer is a widget, not a window on Haiku (fixes blank screen)
* Add option to disable System MIDI at compile time
2022-03-11 12:13:08 +06:00
ts-korhonen
828accc91d
qt: More error handling and tweaking to opengl 3 renderer
2022-03-05 02:57:57 +02:00
ts-korhonen
9af1d0cc5f
Revert "qt: Disable OpenGL 3.0 renderer for macOS."
...
This reverts commit d3b00ff27b .
2022-02-28 08:43:14 +02:00
ts-korhonen
d3b00ff27b
qt: Disable OpenGL 3.0 renderer for macOS.
...
Until it's figured out, macOS has dummy implementation to keep it
building.
2022-02-27 21:57:14 +02:00
ts-korhonen
d2a9389ce7
qt: Initial OpenGL 3.0 renderer implementation
2022-02-27 14:56:51 +02:00
Jasmine Iwanek
4674756664
More newline and whitespace cleanups
2022-02-20 16:26:40 -05:00
Cacodemon345
0d31bb0cc6
qt: X11 Xinput2 mouse motion backend
2022-02-15 02:34:13 +06:00
Cacodemon345
bfebbd05d3
qt: Compatibility improvements
...
* Patch to build with Qt 5.11 and later by jriwanek
* Attempt to fix viewport on hardware renderers
2022-02-11 13:49:45 +06:00
Cacodemon345
775dad5fa3
qt: Use QDesktopWidget for screen retrival
2022-02-10 15:30:39 +06:00
Cacodemon345
a637f61d4f
Add missing copyright notices
2022-02-07 15:00:02 +06:00
Cacodemon345
03a6b2b50a
Fix bottom line being glitched
2022-02-05 16:45:17 +06:00
Alexander Babikov
45520768ba
Fix unsolicited mouse captures after a double-click in an file selection dialog
2022-02-05 01:01:06 +05:00
ts-korhonen
8c8e2219d8
qt: Refactor renderers buffer ownership
...
Invert the way buffers are created; make renderer create buffers for
renderer stack.
Use QImage bits as the buffer for software renderer.
2022-01-15 21:45:34 +02:00
Cacodemon345
31d3d6309b
Copy lines from buffer32 one by one
...
(cherry picked from commit 00a75d4e602ec3ba6d214eeae4500c90dc77fc5f)
2022-01-14 16:44:54 +02:00
Cacodemon345
9b8650cae5
Fix crash when switching fullscreen stretching modes when fullscreen
2021-12-31 13:02:27 +06:00
Cacodemon345
1bdff37e38
* Turned the software renderer into a window as well
...
* Fix inability to move window on GNOME
* Fix status bar icons being frozen after icon set switch
2021-12-29 23:49:09 +06:00
Cacodemon345
814aaf08a7
Add OpenGL 3.0 Core renderer
2021-12-27 16:32:03 +06:00
Cacodemon345
33d2844de6
Fix OpenGL ES renderer not actually creating OpenGL ES contexts
2021-12-26 11:52:50 +06:00
Cacodemon345
fa70dda2c0
Fix screenshots being cut off
2021-12-26 00:49:21 +06:00
Cacodemon345
07af487acb
* Fix rare crash when switching renderers
...
* Abandon QPainter in hardware renderers in favour of OpenGL
* Disable VSync in the application globally
2021-12-25 15:34:00 +06:00
Cacodemon345
67a0f7a85f
Blitting improvements
...
* Use a single QImage copy for actual drawing
* Use std::array and std::unique_ptr for image buffers
* Signal immediately after copying the buffer to internal image
2021-12-21 16:38:13 +06:00
Cacodemon345
0313d02073
Delegate input events of HardwareRenderer to RendererStack
2021-12-18 00:37:30 +06:00
ts-korhonen
0c7450a08a
Merge branch 'winqt5' of https://github.com/Cacodemon345/86Box into qt
2021-12-17 16:48:31 +02:00
ts-korhonen
265abedb3b
Merge branch 'qt' of https://github.com/jgilje/86Box into qt
2021-12-17 16:23:59 +02:00
Cacodemon345
2aa93d2e17
Merge remote-tracking branch 'winqt/qt' into winqt5
2021-12-17 16:36:47 +06:00
Joakim L. Gilje
c3c5a87a70
fixups after latest merge: plat_midi_ => rtmidi_, framebuffer is now 2048x2048
2021-12-17 11:10:32 +01:00
Cacodemon345
30376341d1
Start of windowed OpenGL rendering
2021-12-17 12:17:54 +06:00
ts-korhonen
e686a0ad87
qt: Buffer/texture size to 2048x2048
2021-12-17 07:52:30 +02:00
ts-korhonen
9d313fde17
qt: clear buffers_in_use flags when changing renderer
2021-12-15 21:19:46 +02:00
ts-korhonen
75c045c103
Merge branch 'qt' of https://github.com/jgilje/86Box into qt
2021-12-15 21:09:59 +02:00
Joakim L. Gilje
1cc09b9033
make sure render-widget gets deleted when switching
2021-12-15 20:02:35 +01:00
Joakim L. Gilje
d2115bc5e4
init the renderer on demand, instead of always ready
2021-12-15 19:58:09 +01:00
ts-korhonen
7c2cd35965
qt: Add overload protection to renderers
...
Added atomic_flags for renderer buffers to prevent concurrent usage and
overloading the renderer with draw requests when it's busy.
2021-12-15 00:37:48 +02:00
Cacodemon345
7934d90039
libevdev mouse support
2021-12-10 01:22:13 +06:00
Cacodemon345
03096ca9f4
Fix mouse support on EGLFS
2021-12-09 00:03:09 +06:00
Cacodemon345
fe67c40e33
Take into account max cursor position
2021-12-08 17:09:55 +06:00
Cacodemon345
a6bddd0327
Use globalPos for fullscreen
2021-12-08 17:04:30 +06:00
Cacodemon345
a078900546
Fix for fullscreen
2021-12-08 17:02:28 +06:00
Cacodemon345
b7fee7745b
Mouse event improvements
...
* Only center the cursor when it leaves the emulator screen
* Ignore the very first mouse event that appears after it is captured for the first time after starting
2021-12-08 16:27:58 +06:00
Cacodemon345
c376cca71e
Fix mouse wheel scrolling
2021-12-06 16:33:25 +06:00
Cacodemon345
f2e6d79de4
Fix building with Wayland
2021-12-05 12:02:57 +06:00
Joakim L. Gilje
a74afc3f1e
added software renderer. split common functions prev.
...
in gleswidget to renderstack (a QStackWidget), which in
turn calls an actual renderer. added ability to target GLES
directly, but this is maybe uneeded.
2021-12-04 21:33:04 +01:00