Armin Novak
c395094f73
[client,sdl] fix connection dialog reset
...
only clean up on sdl thread quit to show error dialogs after the RDP
connection already terminated.
2023-12-21 07:11:12 +01:00
Armin Novak
46179077b9
[client,sdl] reset connection dialog on sdl quit
2023-12-20 23:16:10 +01:00
Armin Novak
c269086765
[client,sdl] show a logo on connection dialog
...
* Show a icon to indicate the type of message
* Show the FreeRDP logo below the icon
2023-12-20 23:16:10 +01:00
Armin Novak
23f8fd2fee
[client,sdl] lock connection dialog access
...
might happen from different threads.
2023-12-20 23:16:10 +01:00
Armin Novak
3bdaca81d0
[client,sdl] fix c++ static initialization order
2023-12-20 23:16:10 +01:00
Armin Novak
3095814184
[client,sdl] add pre std::filesystem compatibility
2023-12-20 23:16:10 +01:00
Armin Novak
187f562098
[client,sdl] generate binary resources during build
2023-12-20 23:16:10 +01:00
Armin Novak
41665700bb
[client,sdl] added resource manager
2023-12-20 23:16:10 +01:00
Armin Novak
c952fae5b1
[client,sdl] add icon to connect dialog
2023-12-20 23:16:10 +01:00
Armin Novak
35d584287d
[client,sdl] improve file to array helper
2023-12-20 23:16:10 +01:00
Armin Novak
dd7115889d
[client,sdl] improve connection dialog
2023-12-20 23:16:10 +01:00
Armin Novak
765129aacf
[client,sdl] improve dialog test drawing
2023-12-20 23:16:10 +01:00
Armin Novak
5e6ca89ded
[client,sdl] add SDL quit event wrapper
2023-12-20 23:16:10 +01:00
Armin Novak
a8eaf2a38d
[client,sdl] improve dialog button highlighting
...
move state to buttons or button list
2023-12-20 23:16:10 +01:00
Armin Novak
e6384c06c2
[client,sdl] fix smartcard chooser dialog
2023-12-20 23:16:10 +01:00
Armin Novak
b89f025c5b
[client,sdl] hide connection dialog
...
if another dialog is shown hide the connection dialog.
2023-12-20 23:16:10 +01:00
Armin Novak
caac867c79
[client,sdl] fix ubuntu 20.04 compatibility
2023-12-20 23:16:10 +01:00
Armin Novak
e1de32f9ab
[client,sdl] add connection dialog
2023-12-20 23:16:10 +01:00
Armin Novak
6e718f7958
[client,sdl] add signal termination handler
2023-12-20 23:16:10 +01:00
Armin Novak
7ba84737ba
[client,sdl] wrap sdl windows in c++ class
...
use RAII for SDL window creation/destruction by wrapping it in
SdlWindow constructor/destructor
2023-12-20 11:24:31 +01:00
Armin Novak
65da185275
[client,sdl] respect -decorations
...
Disable window borders if requested, fixes #9673
2023-12-20 09:27:39 +01:00
Armin Novak
c064d54cb1
[client,sdl] add manpage
2023-12-20 09:21:31 +01:00
Armin Novak
8df97272b7
[client,sdl] correctly handle AuthenticateEx
2023-12-20 09:07:35 +01:00
Nicolas Höft
396e13a928
[client,sdl] Do not disable compositing on Linux
...
This can be overridden by setting the environment variable
SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR=1
2023-12-16 20:57:53 +01:00
Armin Novak
ed4c1e1685
[client,sdl] unify dialog result wait
2023-12-15 09:11:33 +01:00
Armin Novak
f4bc5e69c2
[client,sdl] handle smartcard logon dialog error
2023-12-15 09:11:33 +01:00
Armin Novak
749da7eefc
[client,sdl] add smartcard chooser dialog
2023-12-15 09:11:33 +01:00
st0ne77
8dc01cebb0
[client,sdl] propagate error from auth dialog
2023-12-15 09:11:33 +01:00
Armin Novak
67f4dcabdc
[git] remove build artifact
2023-12-12 19:36:54 +01:00
Armin Novak
d89ef74163
[client,sdl] use SDL timer for display resize
...
* use SDL timer instead of freerdp implementation
* Disable timer after all events have been processed
2023-12-11 11:59:45 +01:00
Armin Novak
f4fcf3f96f
[client,sdl] fix crash #9627
...
lock SDL context while recreating window structures.
2023-12-11 11:59:45 +01:00
Armin Novak
6f6c0248f0
[client,common] check for relative mouse events
...
Added freerdp_client_use_relative_mouse_events to tell the client if the
coordinates should be relative or absolute
2023-12-06 10:45:01 +01:00
akallabeth
615fcc4370
[cmake] prevent in source builds
2023-11-28 12:14:55 +01:00
akallabeth
4e438d1c3e
[client] make settings opaque
2023-11-24 14:54:56 +01:00
Armin Novak
e0e72f9c28
[cmake] use CMAKE_MSVC_RUNTIME_LIBRARY
...
* Increase required CMake version to 3.15 (windows only)
* Use
https://cmake.org/cmake/help/latest/prop_tgt/MSVC_RUNTIME_LIBRARY.html#prop_tgt:MSVC_RUNTIME_LIBRARY
to select windows runtime
2023-11-16 10:40:04 +01:00
Armin Novak
70a360bf38
[client,sdl] clear screen on resize
...
* clear screen on window resize
* redraw window on window resize
2023-11-06 08:48:49 +01:00
Armin Novak
1bb09089a7
[client,sdl] ignore LOGON_MSG_SESSION_CONTINUE
...
do not display a popup for this kind of message.
2023-11-03 08:25:02 +01:00
Max Roncace
eefe052690
[client,sdl] Fix primary monitor logic in multimon
2023-10-13 16:06:18 +02:00
Max Roncace
7e50a92eb9
[client,sdl] Fix stored window offset for multimon
...
SDL_WINDOWPOS_CENTERED_DISPLAY returns a magic value which causes issues
when it's eventually passed to SDL_BlitSurface.
Fixes #9441
2023-10-13 16:05:39 +02:00
akallabeth
927b553ad7
[client,sdl] send relative mouse button events
2023-10-13 16:05:27 +02:00
akallabeth
c7b123076a
[client,sdl] keep SDL_RWops open
...
the application crashes if we close the SDL_RWops after opening the
font. keep it open until the widget is destroyed
2023-10-10 22:59:53 +02:00
akallabeth
33c1183fe1
[client,sdl] fixed tests and detection
...
* add a pkg-config fallback for SDL2_ttf, current ubuntu does not ship
the cmake config
* deactivated SDL dialog test cases, now compiles properly
2023-10-10 22:59:53 +02:00
akallabeth
0529658e75
[cmake] cleaned out unused cmake files
2023-10-10 22:59:53 +02:00
Armin Novak
7a4e989dcb
[client,sdl] fix #9442 : handle alt+tab fullscreen
2023-10-10 12:33:29 +02:00
akallabeth
54a5512939
[client,sdl] fix RWops leak
2023-09-14 15:59:57 +02:00
akallabeth
285add3a85
[client,sdl] use SDL_WaitEventTimeout
...
polling is expensive, so use a waitable function instead
2023-08-31 11:39:22 +02:00
akallabeth
60dd48e698
[api] fix integer overflow warnings
2023-08-25 14:36:05 +02:00
akallabeth
bb5345c60e
[freerdp,api] add FREERDP_ENTRY_POINT
...
C requires prototypes or compilers will complain about them missing. Our
library entry points do not have such, therefore add the macro
FREERDP_ENTRY_POINT which declares the function prototype automatically
before the function.
2023-08-25 14:36:05 +02:00
akallabeth
ad11ef916c
[client,sdl] fix compiler warnings
2023-08-25 12:56:36 +02:00
Kimon Hoffmann
8ec4d20616
[cmake] Locate PkgConfig module with find_package() instead of include(FindPkgConfig)
...
This is the contemporary way of including find modules and including the
find module this way avoids cmake errors in conjunction with
find_package_handle_standard_args().
Signed-off-by: Kimon Hoffmann <Kimon.Hoffmann@lawo.com>
2023-08-21 12:43:56 +02:00
Armin Novak
fafc2e61f9
[client,sdl] redirect sdl log to wlog
2023-08-04 12:59:11 +02:00
akallabeth
8470b6ea26
[cmake] set default build type
...
set with CACHE STRING FORCE to properly be picked up by configuration
tools
2023-08-04 12:59:11 +02:00
akallabeth
0e458c8c2c
[cmake] WITH_WEBVIEW new defaults
...
* Enable by default now
* Use a config file to detect if it is enabled
2023-08-04 12:59:11 +02:00
Armin Novak
7ad32b3e2a
[client,sdl] clean up code
...
use local variable for often used accessor
2023-07-31 13:41:26 +02:00
Armin Novak
ff26ca1e39
[client,sdl] use member instead of static variable
2023-07-31 13:41:26 +02:00
Armin Novak
b3fdebfdf7
[client,sdl] position windows centered on monitor
2023-07-31 13:41:26 +02:00
Armin Novak
eca4017c8b
[client,sdl] enable multimon support for display channel
2023-07-31 13:41:26 +02:00
Armin Novak
aa2c48840a
[client,sdl] fix high dpi detection
...
* convert dpi value to percentage used by RDP
* fix detection of current monitor resolution for SDL windows
2023-07-31 13:41:26 +02:00
Dan Holliday
1d64c8d93c
Started to add support for multi-monitor.
2023-07-31 13:41:26 +02:00
Dan Holliday
75bc1505ab
Added the ability to quite the RDP session by pressing "r-ctrl + shift + D". The reason for this is when in full screen I have no way to exit from xrdp if I don't want to close my session.
2023-07-31 13:41:26 +02:00
Dan Holliday
7234b0a2f1
Added the ability to quite the RDP session by pressing "r-ctrl + shift + D". The reason for this is when in full screen I have no way to exit from xrdp if I don't want to close my session.
2023-07-31 13:41:26 +02:00
Dan Holliday
8c584c29dd
Started to add support for multi-monitor.
2023-07-31 13:41:26 +02:00
Dan Holliday
4eee7a54ad
Added the ability to quite the RDP session by pressing "r-ctrl + shift + D". The reason for this is when in full screen I have no way to exit from xrdp if I don't want to close my session.
2023-07-31 13:41:26 +02:00
Armin Novak
3df928a8d2
[client,sdl] fixed member initialization order and casts
2023-07-28 13:42:12 +02:00
Armin Novak
e61880d077
[standard] replace __FUNCTION__ with __func__
2023-07-27 20:02:43 +02:00
Armin Novak
9ea1ab285b
[client,sdl] set gui consent message
2023-07-26 20:50:21 +02:00
Armin Novak
4f0ca73be6
[cmake] set MSVC runtime for SDL client
2023-07-26 16:19:07 +02:00
Armin Novak
0cd774d2c0
[client,sdl] fix cleanup order
...
destroy SDL_Renderer before SDL_Window
2023-07-25 09:11:11 +02:00
Armin Novak
4816a7d2a5
[cmake] require freetype for sdl2ttf
2023-07-24 10:49:38 +02:00
Armin Novak
315acc6aa9
[client,sdl] fix std::vector initialization
...
MSVC 2013 does not like too large vector initialization, work around
with https://stackoverflow.com/questions/31028941/how-to-avoid-compiler-limit-compiler-stack-overflow-with-large-vector-inits/31029335#31029335
2023-07-24 10:49:38 +02:00
Armin Novak
f00e73cec4
[client,sdl] fix constructor, initialize pointers
...
some initialization might fail, so initialize them beforehand.
2023-07-24 10:49:38 +02:00
akallabeth
80091cba6a
[client,sdl] add MSVC macro for missing noexcept
2023-07-21 14:53:19 +02:00
akallabeth
33d8e8e41b
[client,sdl] replace memset with c++ string iteration
2023-07-21 14:53:19 +02:00
akallabeth
9eb80ffb19
[client,sdl] add dialog paste support
2023-07-21 14:53:19 +02:00
akallabeth
6be08815e5
[client,sdl] add OpenSans license and ttf font
2023-07-21 09:50:02 +02:00
Armin Novak
b28521d2d9
[client,sdl] use TTF_OpenFontRW
...
In combination with SDL_RWFromConstMem the font can be embedded without
using an intermediate file to load it from.
2023-07-21 09:50:02 +02:00
akallabeth
b259545bbb
[client,sdl] update AAD/AVC callback handling
2023-07-21 09:14:54 +02:00
Armin Novak
1b79b60634
added webview scheme handler
2023-07-21 09:14:54 +02:00
akallabeth
8b0f4ca106
[client,sdl] move webview to static lib
...
* move to static lib aad-view
* add support for https://github.com/webview/webview (e.g. use native
webview if available)
2023-07-21 09:14:54 +02:00
Armin Novak
06fd58264e
[client,sdl] add a simple test for dialogs
2023-07-20 14:25:08 +02:00
Armin Novak
1a62103a08
[client,sdl] add support for win32 executables
...
Allow building with support for console or WinMain applications
2023-07-20 14:25:08 +02:00
akallabeth
97415f0d52
[client,sdl] add user dialogs
2023-07-20 14:25:08 +02:00
akallabeth
734117351d
[aad,avc] unify callbacks to GetAccessToken
...
The AAD and AVD authentication mechanisms both need an OAuth2 token.
They only differ in the provided arguments, so unify the callbacks into
a single one with variable argument lists.
2023-07-20 14:20:28 +02:00
fifthdegree
d309fcd6e8
Restructure Azure AD related stuff
...
- Move responsibility for obtaining access tokens to clients
- Add function for getting access tokens for AVD
- Get correct server hostname during AVD setup
- Add utility function for doing http requests
2023-07-20 14:20:28 +02:00
Martin Fleisz
622a2a8df0
misc: More int to BOOL conversion fixes
...
This is a follow up to #9129 .
This PR fixes some problematic `int` to `BOOL` conversions that might
cause overflows when checking for bit flags.
2023-07-04 09:45:20 +02:00
fifthdegree
5dd1363b8e
Fix format issue in building url for sdl webview
2023-06-19 08:42:33 +02:00
Dan Holliday
f2ae9c00be
Added the ability to quite the RDP session by pressing "r-ctrl + shift + D". The reason for this is when in full screen I have no way to exit from xrdp if I don't want to close my session.
2023-06-14 08:49:21 +02:00
Dan Holliday
72b614262f
Fixed some incorrect key mappings with. I found that the "+/=" key on a UK keyboard didn't do anything. I also found that the "+" key on the keypad acted as if it was the "+/=" key. I've corrected some of the keycodes and confirmed that they keyboard functions as expected.
2023-06-14 08:49:21 +02:00
Armin Novak
a0fd9cf957
[client,sdl] encapsulate c++ context
...
to properly initialize c++ us a heap allocated wrapper class
2023-06-05 14:15:03 +02:00
Armin Novak
da7c3b688f
[client,sdl] use unique_ptr for SDL_Surface et al
2023-05-31 11:29:21 +02:00
Armin Novak
68995ddffb
[client,sdl] wrap WinPR event in class
2023-05-31 11:29:21 +02:00
Armin Novak
ccbcc4cb65
[client,sdl] wrap critical section in class
2023-05-31 11:29:21 +02:00
Armin Novak
63ed6dc771
[client,sdl] use std::thread
2023-05-31 11:29:21 +02:00
Armin Novak
16cbe8882d
[client,sdl] unique_ptr for input
2023-05-31 11:29:21 +02:00
Armin Novak
1a74d832de
[client,sdl] unique_ptr for display channel
2023-05-31 11:29:21 +02:00
Armin Novak
324e8c7813
[client,sdl] use SDL_WaitEvent
2023-05-31 11:29:21 +02:00
Armin Novak
481ba1581c
[client,sdl] fixed warning in webview
2023-05-30 15:42:39 +02:00
akallabeth
f941a1ec8e
[cmake] unify RPATH settings and client deps detection
2023-05-26 11:38:32 +02:00
akallabeth
b8f7b59fff
[warnings] fix casts and return
2023-05-24 08:24:32 +02:00
akallabeth
9f2d22c975
[client,sdl] refactor webview
2023-05-24 08:24:32 +02:00
akallabeth
9b112be058
[warnings] fix -Wold-style-cast
2023-05-24 08:24:32 +02:00
akallabeth
b598386928
[warnings] fix -Wnewline-eof
2023-05-24 08:24:32 +02:00
akallabeth
3ff34c03a0
[warnings] fix -Wwritable-strings
2023-05-24 08:24:32 +02:00
akallabeth
df76b59da7
[warnings] fix -Wshadow
2023-05-24 08:24:32 +02:00
akallabeth
9f1b13cf0a
[warnings] fix -Wsuggest-override
2023-05-24 08:24:32 +02:00
akallabeth
18cde293e8
[warnings] fix -Wmissing-field-initializers
2023-05-24 08:24:32 +02:00
akallabeth
c355b2656b
[warnings] fix -Wextra-semi
2023-05-24 08:24:32 +02:00
akallabeth
8e51463a7e
[warnings] fix -Wzero-as-null-pointer-constant
2023-05-24 08:24:32 +02:00
akallabeth
2ec4601669
[cmake,sdl] use option instead of set
2023-05-23 08:51:18 +02:00
Armin Novak
a8476b8688
[cmake] fix qt5 find_package and linking
2023-05-23 06:04:55 +02:00
fifthdegree
449b96adb2
Use popup browser for AAD auth in SDL client
...
Optionally build the SDL client with Qt WebEngine to create a popup
browser for authentication to AAD. Also change the URL output on the
command line to use the "nativeclient" redirect for easier copy/pasting
of the authorization code.
2023-05-23 06:04:55 +02:00
akallabeth
a78182c425
[client,sdl] unify primary surface cleanup
2023-05-12 14:41:28 +02:00
akallabeth
1b28ed7c9c
[client,sdl] fix blend mode
...
override blend mode on initial fill
2023-05-12 14:41:28 +02:00
akallabeth
dd57de8e19
[client,sdl] add function to context
2023-04-19 11:04:13 +02:00
akallabeth
0627baa939
[client,sdl] move functions to proper place
2023-04-19 11:04:13 +02:00
akallabeth
01293f4c3f
[client,sdl] migrate sdl_kbd to class
2023-04-19 11:04:13 +02:00
akallabeth
63606b3c7c
[client,sdl] migrate display channel to class
2023-04-19 11:04:13 +02:00
akallabeth
05a2291861
[client,sdl] split sdl_freerdp.hpp
2023-04-19 11:04:13 +02:00
Armin Novak
26ee0590d6
[client,sdl] use CriticalSectionLock
...
use c++ RAII to lock critical sections
2023-04-19 11:04:13 +02:00
Armin Novak
86470103c4
[client,sdl] rename c++ headers to hpp
2023-04-19 11:04:13 +02:00
akallabeth
c35b41c05d
[client,sdl] rename update trigger helper class
2023-04-19 11:04:13 +02:00
Armin Novak
f5453aa952
[client,sdl] standalone build
...
* move to c++
* build out of tree
2023-04-19 11:04:13 +02:00
Armin Novak
7a283a140a
[client,sdl] improve mouse scroll speed
2023-04-13 13:20:38 +02:00
akallabeth
a360f1ca8c
[build] fix a few compiler warnings
2023-03-13 13:04:45 +01:00
akallabeth
151baa9ae5
[client,sdl] fix va_arg casts to match void* size
2023-03-09 11:17:37 +01:00
akallabeth
387dcd4001
[client,sdl] fix missing type cast
2023-03-09 11:17:37 +01:00
Armin Novak
af23e8f9a0
[client,sdl] lock updates
...
use a critical section to lock SDL related data updates
2023-03-07 07:51:36 +01:00
Armin Novak
ffc4d419db
[client,sdl] fix uninitialized variable cleanup
2023-03-01 13:45:13 +01:00
Armin Novak
8af35bd42a
[client] add deprecation/experimental warnings
2023-03-01 13:45:13 +01:00
akallabeth
a91b2f4999
[client,sdl] fixed error code mapping
2023-02-21 14:38:34 +01:00
akallabeth
f807af6f8e
[client,sdl] do not wait for SDL to complete
...
when updating the window surface in sdl_end_paint do not wait for
completion of the operation. The check is done in sdl_begin_paint, so
the RDP stack can continue processing other data on queue until a
graphic operation needs to be processed.
2023-02-21 14:38:34 +01:00
akallabeth
82a0eab71f
[client,sdl] add debug options
2023-02-21 14:38:34 +01:00
akallabeth
e3a7eaf39a
[client,sdl] run sdl in main thread.
2023-02-21 14:38:34 +01:00
Armin Novak
641022b795
[logging] remove __FUNCTION__ from actual message
...
prefer the log formatter to provide that information.
2023-01-25 16:26:39 +01:00
Armin Novak
05f933398c
[client,sdl] print number of monitors before listing
2023-01-25 14:27:15 +01:00
Armin Novak
aee9f68f7d
fixed SDL utils.
2023-01-25 14:27:15 +01:00
Armin Novak
56df6177e1
[client,sdl] Add WSAStartup
...
Windows requires WSAStartup to be called for the client to work.
2023-01-25 14:27:15 +01:00
Armin Novak
d2b50a06b5
[client,sdl] only call freerdp_disconnect if connected
2023-01-24 10:16:55 +01:00
Armin Novak
4b3133b138
[client,sdl] use dynamic logger instance
2023-01-18 09:32:41 +01:00
Armin Novak
a1b764019d
[client,sdl] add log functions
2023-01-18 09:32:41 +01:00
Armin Novak
defa74b94b
[build] continue if SDL2 is requested but not found
2023-01-18 09:32:41 +01:00
akallabeth
1f7bcd4a1a
[client,sdl] print experimental warning
2023-01-10 17:38:00 +01:00
Armin Novak
070353bf90
added SDL2 client
2023-01-10 17:38:00 +01:00