[channels,disp] Unify definitions and add stringify

* Unify FreeRDP_DesktopRotationFlags definitions (needed in settings
  and display channel)
* Add stringify function for the flags
This commit is contained in:
akallabeth
2026-01-25 07:50:34 +01:00
parent 089758f967
commit a8ca59e290
4 changed files with 35 additions and 8 deletions

View File

@@ -30,10 +30,6 @@
#define DISP_CHANNEL_NAME "disp"
#define DISP_DVC_CHANNEL_NAME "Microsoft::Windows::RDS::DisplayControl"
#define ORIENTATION_LANDSCAPE 0
#define ORIENTATION_PORTRAIT 90
#define ORIENTATION_LANDSCAPE_FLIPPED 180
#define ORIENTATION_PORTRAIT_FLIPPED 270
#define DISPLAY_CONTROL_MONITOR_PRIMARY 0x00000001
#define DISPLAY_CONTROL_HEADER_LENGTH 0x00000008

View File

@@ -326,10 +326,13 @@ extern "C"
#define PACKET_COMPR_TYPE_RDP8 0x04
/* Desktop Rotation Flags */
#define ORIENTATION_LANDSCAPE 0
#define ORIENTATION_PORTRAIT 90
#define ORIENTATION_LANDSCAPE_FLIPPED 180
#define ORIENTATION_PORTRAIT_FLIPPED 270
enum FreeRDP_DesktopRotationFlags
{
ORIENTATION_LANDSCAPE = 0,
ORIENTATION_PORTRAIT = 90,
ORIENTATION_LANDSCAPE_FLIPPED = 180,
ORIENTATION_PORTRAIT_FLIPPED = 270
};
/* Clipboard feature mask */
#define CLIPRDR_FLAG_LOCAL_TO_REMOTE 0x01

View File

@@ -47,6 +47,15 @@ extern "C"
*/
FREERDP_API BOOL freerdp_extract_key_value(const char* str, UINT32* pkey, UINT32* pvalue);
/** @brief Convert \ref FreeRDP_DesktopRotationFlags to string
*
* @param flags The value to convert
* @return A constant string representation of \ref flags or the string \b ORIENTATION_UNKNOWN
* for an invalid value
* @since verstion 3.22.0
*/
FREERDP_API WINPR_ATTR_NODISCARD const char*
freerdp_desktop_rotation_flags_to_string(UINT32 flags);
#ifdef __cplusplus
}
#endif

View File

@@ -126,3 +126,22 @@ BOOL freerdp_extract_key_value(const char* str, UINT32* pkey, UINT32* pvalue)
*pvalue = (UINT32)val;
return TRUE;
}
const char* freerdp_desktop_rotation_flags_to_string(UINT32 flags)
{
#define ENTRY(x) \
case x: \
return #x
switch (flags)
{
ENTRY(ORIENTATION_LANDSCAPE);
ENTRY(ORIENTATION_PORTRAIT);
ENTRY(ORIENTATION_LANDSCAPE_FLIPPED);
ENTRY(ORIENTATION_PORTRAIT_FLIPPED);
default:
return "ORIENTATION_UNKNOWN";
}
#undef ENTRY
}