[settings] add supported color depths setting

This commit is contained in:
Armin Novak 2023-04-13 12:21:07 +02:00 committed by akallabeth
parent 7a283a140a
commit 39767c5423
5 changed files with 17 additions and 2 deletions

View File

@ -513,6 +513,7 @@ typedef struct
#define FreeRDP_SupportEdgeActionV1 (150)
#define FreeRDP_SupportEdgeActionV2 (151)
#define FreeRDP_SupportSkipChannelJoin (152)
#define FreeRDP_SupportedColorDepths (153)
#define FreeRDP_UseRdpSecurityLayer (192)
#define FreeRDP_EncryptionMethods (193)
#define FreeRDP_ExtEncryptionMethods (194)
@ -974,8 +975,8 @@ struct rdp_settings
ALIGN64 BOOL SupportEdgeActionV1; /* 150 */
ALIGN64 BOOL SupportEdgeActionV2; /* 151 */
ALIGN64 BOOL SupportSkipChannelJoin; /* 152 */
UINT64 padding0192[192 - 153]; /* 153 */
ALIGN64 UINT16 SupportedColorDepths; /* 153 */
UINT64 padding0192[192 - 154]; /* 154 */
/* Client/Server Security Data */
ALIGN64 BOOL UseRdpSecurityLayer; /* 192 */

View File

@ -1375,6 +1375,9 @@ UINT16 freerdp_settings_get_uint16(const rdpSettings* settings, size_t id)
case FreeRDP_ProxyPort:
return settings->ProxyPort;
case FreeRDP_SupportedColorDepths:
return settings->SupportedColorDepths;
case FreeRDP_TLSMaxVersion:
return settings->TLSMaxVersion;
@ -1443,6 +1446,10 @@ BOOL freerdp_settings_set_uint16(rdpSettings* settings, size_t id, UINT16 val)
settings->ProxyPort = cnv.c;
break;
case FreeRDP_SupportedColorDepths:
settings->SupportedColorDepths = cnv.c;
break;
case FreeRDP_TLSMaxVersion:
settings->TLSMaxVersion = cnv.c;
break;

View File

@ -259,6 +259,7 @@ static const struct settings_str_entry settings_map[] = {
{ FreeRDP_OrderSupportFlags, FREERDP_SETTINGS_TYPE_UINT16, "FreeRDP_OrderSupportFlags" },
{ FreeRDP_OrderSupportFlagsEx, FREERDP_SETTINGS_TYPE_UINT16, "FreeRDP_OrderSupportFlagsEx" },
{ FreeRDP_ProxyPort, FREERDP_SETTINGS_TYPE_UINT16, "FreeRDP_ProxyPort" },
{ FreeRDP_SupportedColorDepths, FREERDP_SETTINGS_TYPE_UINT16, "FreeRDP_SupportedColorDepths" },
{ FreeRDP_TLSMaxVersion, FREERDP_SETTINGS_TYPE_UINT16, "FreeRDP_TLSMaxVersion" },
{ FreeRDP_TLSMinVersion, FREERDP_SETTINGS_TYPE_UINT16, "FreeRDP_TLSMinVersion" },
{ FreeRDP_TextANSICodePage, FREERDP_SETTINGS_TYPE_UINT16, "FreeRDP_TextANSICodePage" },

View File

@ -356,6 +356,11 @@ rdpSettings* freerdp_settings_new(DWORD flags)
if (!freerdp_server_license_issuers_copy(settings, issuers, ARRAYSIZE(issuers)))
goto out_fail;
if (!freerdp_settings_set_uint16(settings, FreeRDP_SupportedColorDepths,
RNS_UD_32BPP_SUPPORT | RNS_UD_24BPP_SUPPORT |
RNS_UD_16BPP_SUPPORT | RNS_UD_15BPP_SUPPORT))
goto out_fail;
if (!freerdp_settings_set_bool(settings, FreeRDP_UnicodeInput, TRUE) ||
!freerdp_settings_set_bool(settings, FreeRDP_HasHorizontalWheel, TRUE) ||
!freerdp_settings_set_bool(settings, FreeRDP_HasExtendedMouseEvent, TRUE) ||

View File

@ -195,6 +195,7 @@ static const size_t uint16_list_indices[] = {
FreeRDP_OrderSupportFlags,
FreeRDP_OrderSupportFlagsEx,
FreeRDP_ProxyPort,
FreeRDP_SupportedColorDepths,
FreeRDP_TLSMaxVersion,
FreeRDP_TLSMinVersion,
FreeRDP_TextANSICodePage,