[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_CHANNEL_NAME "disp"
#define DISP_DVC_CHANNEL_NAME "Microsoft::Windows::RDS::DisplayControl" #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_MONITOR_PRIMARY 0x00000001
#define DISPLAY_CONTROL_HEADER_LENGTH 0x00000008 #define DISPLAY_CONTROL_HEADER_LENGTH 0x00000008

View File

@@ -326,10 +326,13 @@ extern "C"
#define PACKET_COMPR_TYPE_RDP8 0x04 #define PACKET_COMPR_TYPE_RDP8 0x04
/* Desktop Rotation Flags */ /* Desktop Rotation Flags */
#define ORIENTATION_LANDSCAPE 0 enum FreeRDP_DesktopRotationFlags
#define ORIENTATION_PORTRAIT 90 {
#define ORIENTATION_LANDSCAPE_FLIPPED 180 ORIENTATION_LANDSCAPE = 0,
#define ORIENTATION_PORTRAIT_FLIPPED 270 ORIENTATION_PORTRAIT = 90,
ORIENTATION_LANDSCAPE_FLIPPED = 180,
ORIENTATION_PORTRAIT_FLIPPED = 270
};
/* Clipboard feature mask */ /* Clipboard feature mask */
#define CLIPRDR_FLAG_LOCAL_TO_REMOTE 0x01 #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); 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 #ifdef __cplusplus
} }
#endif #endif

View File

@@ -126,3 +126,22 @@ BOOL freerdp_extract_key_value(const char* str, UINT32* pkey, UINT32* pvalue)
*pvalue = (UINT32)val; *pvalue = (UINT32)val;
return TRUE; 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
}