Geoffrey McRae
da04a6dd54
[client] all: use the defined keyboard mapping for keybinds
...
Fixes #1007
2022-06-29 18:26:40 +10:00
Geoffrey McRae
0799910e70
[client] app: fix segfault when jitRender + spice display is in use
2022-05-28 00:52:03 +10:00
Geoffrey McRae
a4f5bc7320
[client] render_queue: fix failure to show spice at startup
2022-05-27 14:02:00 +10:00
Geoffrey McRae
9ccd93bfd8
[client] app: add option to disable dimming in overlay mode
2022-05-27 11:36:39 +10:00
Geoffrey McRae
b94869249c
[client] main: don't show the splash when transitioning to spice
2022-05-27 02:24:01 +10:00
Geoffrey McRae
5de175c1f3
[client] all: unify the LG splash screen into an overlay
2022-05-27 02:07:20 +10:00
Geoffrey McRae
8974ae4fb5
[client] add SVG loading support and use icons for status display
...
This brings nanosvg into the project for SVG loading and rendering.
Unfortunatly we can not at this time use a submodule for this project
until https://github.com/memononen/nanosvg/pull/214 is merged.
2022-05-26 04:11:31 +10:00
Geoffrey McRae
8aa36144dc
overlay: move init/free to the context of the render thread
...
This is done to allow overlays to make use of the renderer during
init/free.
2022-05-26 00:46:13 +10:00
Geoffrey McRae
d1e421f8a8
[client] spice: delay showing the spice display until spice is ready
2022-05-24 09:48:54 +10:00
Geoffrey McRae
b2221b114e
[client] spice: more fixes to video source transition
2022-05-24 00:05:22 +10:00
Geoffrey McRae
47b2a26898
[client] app: better handling of transition to/from spice display
2022-05-23 22:35:27 +10:00
Geoffrey McRae
16f39450b5
[client] spice: added initial framework for spice display fallback
2022-05-22 11:45:11 +10:00
Quantum
1685249f3a
[client] overlay: add record indicator
2022-03-19 18:52:07 +11:00
Quantum
75370e464d
[client] overlay/msg: fix type for app_msgBoxClose
...
It should not be taking a pointer to MsgBoxHandle.
Also changed the type of MsgBoxHandle to prevent similar bugs.
2022-03-19 10:04:23 +11:00
Quantum
c55d0a82f2
[client] overlay: add support for confirmation dialogs
2022-03-19 10:04:23 +11:00
Geoffrey McRae
3a8cb6a613
[client/common] fixes for issues detected through static analysis.
2022-03-07 10:14:52 +11:00
Geoffrey McRae
22b968ff53
[client] audio: change the audio latency graph sample point
...
This removes the need for locking while also giving a better result in
the graph output. Also when the graph is disabled via the overlay
options it will no longer cause redraws.
2022-01-28 10:59:12 +11:00
Geoffrey McRae
0ad26b7da7
[client] audio: redraw the graphs if they have been updated
2022-01-17 22:49:19 +11:00
Geoffrey McRae
464fee3e20
[client] overlay/graphs: allow the graph to have a custom title format
2022-01-17 22:08:56 +11:00
Geoffrey McRae
42ed0d7638
[client] app: allow key-repeat to work with keybinds
2022-01-17 20:33:57 +11:00
Geoffrey McRae
5a3fe151e4
[client] main: don't use Linux keybinds if the guest is not Linux
2022-01-17 20:26:45 +11:00
Geoffrey McRae
6bba9bc25d
[client/common] move ll from the client into the common code module
2022-01-12 12:22:18 +11:00
Geoffrey McRae
1851002fc1
[client] all: remove ll_walk
and migrate over to ll_forEachNL
2022-01-12 12:17:29 +11:00
Geoffrey McRae
6fc0c69b2e
[client] overlay/msg: provide a method to close messages from code
2022-01-12 09:35:09 +11:00
Geoffrey McRae
780cf5f362
[client] overlay: add modal message dialog support
2022-01-08 18:58:48 +11:00
Geoffrey McRae
0080e5f1b9
[client] overlay: add app_invalidateOverlay
method
2022-01-08 15:18:40 +11:00
Geoffrey McRae
ad6fa5a504
[client] app: move all alert management into overlay/alert.c
2022-01-08 14:33:12 +11:00
Geoffrey McRae
db2e38ae4d
[client] overlay: add 25Hz tick
function
...
This allows an overlay to manage itself for timed events like
alerts/messages, etc.
2022-01-08 14:33:07 +11:00
Geoffrey McRae
35334333ac
[client] imgui: render twice for alerts
...
When using jitRender, or on the first frame of an alert the window
doesn't get resized immediately causing it to cut off the end of the
text.
ImGui needs two passes to calulate the bounding box for automatically
sized windows, this is per it's design and not a bug, see:
https://github.com/ocornut/imgui/issues/2158#issuecomment-434223618
2022-01-08 00:46:16 +11:00
Geoffrey McRae
ec0bd6adc8
[client] imgui: update to cimgui 1.86
2022-01-08 00:26:12 +11:00
Geoffrey McRae
952ebea2c5
[all] refresh copyright dates
2022-01-05 19:42:46 +11:00
Geoffrey McRae
65ba2e8df9
[client] spice: update submodule and refactor calls & types
2021-12-28 22:04:35 +11:00
Geoffrey McRae
95987a9c91
[client] core: set the correct cursor when exiting overlay
2021-12-27 11:52:06 +11:00
Geoffrey McRae
bbd9c84896
[client] core: invalidate the pointer state when overlay is disabled
2021-12-27 11:22:12 +11:00
Geoffrey McRae
e249106ddf
[client] app: remove dead code
2021-09-11 10:22:44 +10:00
Quantum
79a9127c04
[client] imgui: use consistent modal background colours
...
The translucent white modal background sort of cancels out the dark
background we apply to the overlay, which is undesirable. It should
instead further darken the background.
For consistency, we now use igGetColorU32Col(ImGuiCol_ModalWindowDimBg)
to draw the overlay background, to avoid hardcoding the same colour in
multiple places.
2021-08-31 09:09:26 +10:00
Quantum
31249da533
[client] imgui: run animations at consistent speeds
...
Currently, this is visible through how fast the cursor blinks, with it
blinking faster at higher refresh rates. This commit makes the timing
consistent.
2021-08-31 08:16:07 +10:00
Quantum
9bd205a527
[client] imgui: fix modifier key modification race
...
imgui really hates it when we update the modifier key state after igNewFrame.
The result is:
void ImGui::ErrorCheckEndFrameSanityChecks(): Assertion
`(key_mod_flags == 0 || g.IO.KeyMods == key_mod_flags) &&
"Mismatching io.KeyCtrl/io.KeyShift/io.KeyAlt/io.KeySuper vs io.KeyMods"'
failed.
Therefore, we buffer the modifier state information and update it in the IO
object right before we call igNewFrame.
2021-08-20 13:21:50 +10:00
Geoffrey McRae
c246b4a719
Revert "[client] core: realign in the enter/focus handlers if possible"
...
This reverts commit 17617cc421
.
2021-08-19 23:19:59 +10:00
Geoffrey McRae
17617cc421
[client] core: realign in the enter/focus handlers if possible
2021-08-19 22:57:03 +10:00
Quantum
1c7d14169e
[client] kb: rename key code arrays from xfree86_* to linux_*
...
We are using Linux key codes defined in input-event-codes.h, not XFree86
stuff.
2021-08-17 19:08:07 +10:00
Quantum
81c38e825c
[client] remove all casts around malloc
...
The cast is unnecessary in C and should be removed to avoid clutter.
2021-08-16 16:26:58 +10:00
Quantum
8a5efef622
[client] spice: avoid spice_key_modifiers when input is disabled
2021-08-16 16:25:11 +10:00
Tudor Brindus
14ad83c6b8
[client] use variable-relative sizeof where possible
2021-08-16 16:22:55 +10:00
Quantum
3a00277e93
[client] spice: add ability to set keyboard LED state in guest
...
FIXME: update PureSpice
2021-08-15 09:46:31 +10:00
Quantum
9414449408
[client] app: add ability to receive keyboard typing in overlays
2021-08-14 14:44:26 +10:00
Quantum
579f998519
[client] all: replace assert with DEBUG_ASSERT
2021-08-14 12:19:07 +10:00
Geoffrey McRae
6387bf2d2e
[client] rework the configuration overlay to allow for tabs
2021-08-12 09:04:45 +10:00
Geoffrey McRae
f2b8ff9e8d
[client] app: make overlay mode more transparent
2021-08-10 01:15:31 +10:00
Geoffrey McRae
44f815409d
[client] imgui: ensure the pointer shape is correct
...
Since we only update imgui's cursor location when the overlay is
enabled, if the last cursor position was showing a shape that is
incorrect when we re-enter the overlay the cursor will be wrong. This
corrects this by updating the location as we enter overlay mode.
2021-08-05 06:55:41 +10:00