[core,utils] add freerdp_input_touch_state_string

* Add freerdp_input_touch_state_string
* Remove duplicate from xfreerdp
This commit is contained in:
akallabeth
2026-01-25 07:58:16 +01:00
parent d4ae1a546f
commit 6673e8a86f
3 changed files with 36 additions and 20 deletions

View File

@@ -569,26 +569,6 @@ static int xf_input_handle_event_local(xfContext* xfc, const XEvent* event)
return 0;
}
#ifdef WITH_DEBUG_X11
static char* xf_input_touch_state_string(DWORD flags)
{
if (flags & RDPINPUT_CONTACT_FLAG_DOWN)
return "RDPINPUT_CONTACT_FLAG_DOWN";
else if (flags & RDPINPUT_CONTACT_FLAG_UPDATE)
return "RDPINPUT_CONTACT_FLAG_UPDATE";
else if (flags & RDPINPUT_CONTACT_FLAG_UP)
return "RDPINPUT_CONTACT_FLAG_UP";
else if (flags & RDPINPUT_CONTACT_FLAG_INRANGE)
return "RDPINPUT_CONTACT_FLAG_INRANGE";
else if (flags & RDPINPUT_CONTACT_FLAG_INCONTACT)
return "RDPINPUT_CONTACT_FLAG_INCONTACT";
else if (flags & RDPINPUT_CONTACT_FLAG_CANCELED)
return "RDPINPUT_CONTACT_FLAG_CANCELED";
else
return "RDPINPUT_CONTACT_FLAG_UNKNOWN";
}
#endif
static void xf_input_hide_cursor(xfContext* xfc)
{
#ifdef WITH_XCURSOR

View File

@@ -56,6 +56,16 @@ extern "C"
*/
FREERDP_API WINPR_ATTR_NODISCARD const char*
freerdp_desktop_rotation_flags_to_string(UINT32 flags);
/** @brief Convert a single \ref RDPINPUT_CONTACT_FLAGS to string
*
* @param flags The value to convert
* @return A constant string representation of \ref flag or the string \b
* RDPINPUT_CONTACT_FLAG_UNKNOWN for an invalid value
* @since verstion 3.22.0
*/
FREERDP_API WINPR_ATTR_NODISCARD const char* freerdp_input_touch_state_string(DWORD flags);
#ifdef __cplusplus
}
#endif

View File

@@ -24,6 +24,10 @@
#include <freerdp/utils/string.h>
#include <freerdp/settings.h>
#if defined(CHANNEL_RDPEI)
#include <freerdp/channels/rdpei.h>
#endif
const char* rdp_redirection_flags_to_string(UINT32 flags, char* buffer, size_t size)
{
struct map_t
@@ -145,3 +149,25 @@ const char* freerdp_desktop_rotation_flags_to_string(UINT32 flags)
#undef ENTRY
}
const char* freerdp_input_touch_state_string(DWORD flags)
{
#if defined(CHANNEL_RDPEI)
if (flags & RDPINPUT_CONTACT_FLAG_DOWN)
return "RDPINPUT_CONTACT_FLAG_DOWN";
else if (flags & RDPINPUT_CONTACT_FLAG_UPDATE)
return "RDPINPUT_CONTACT_FLAG_UPDATE";
else if (flags & RDPINPUT_CONTACT_FLAG_UP)
return "RDPINPUT_CONTACT_FLAG_UP";
else if (flags & RDPINPUT_CONTACT_FLAG_INRANGE)
return "RDPINPUT_CONTACT_FLAG_INRANGE";
else if (flags & RDPINPUT_CONTACT_FLAG_INCONTACT)
return "RDPINPUT_CONTACT_FLAG_INCONTACT";
else if (flags & RDPINPUT_CONTACT_FLAG_CANCELED)
return "RDPINPUT_CONTACT_FLAG_CANCELED";
else
return "RDPINPUT_CONTACT_FLAG_UNKNOWN";
#else
return "CHANNEL_RDPEI not supported";
#endif
}