diff --git a/client/X11/xf_input.c b/client/X11/xf_input.c index f968bb8df..27245c660 100644 --- a/client/X11/xf_input.c +++ b/client/X11/xf_input.c @@ -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 diff --git a/include/freerdp/utils/string.h b/include/freerdp/utils/string.h index 097e2dc2a..690e51021 100644 --- a/include/freerdp/utils/string.h +++ b/include/freerdp/utils/string.h @@ -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 diff --git a/libfreerdp/utils/string.c b/libfreerdp/utils/string.c index a55a99b0f..49a22d58b 100644 --- a/libfreerdp/utils/string.c +++ b/libfreerdp/utils/string.c @@ -24,6 +24,10 @@ #include #include +#if defined(CHANNEL_RDPEI) +#include +#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 +} +