Added settings set/get functions to client API
- setting setter function has internal handling. TODO: callback to client. - added missing SmartSizing param
This commit is contained in:
parent
8a637e0c0d
commit
315f3705b2
@ -872,3 +872,85 @@ int freerdp_client_free(wfInfo* wfi)
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
BOOL freerdp_client_get_param_bool(wfInfo* cfi, int id)
|
||||
{
|
||||
return freerdp_get_param_bool(cfi->instance->settings, id);
|
||||
}
|
||||
|
||||
int freerdp_client_set_param_bool(wfInfo* cfi, int id, BOOL param)
|
||||
{
|
||||
int rc;
|
||||
|
||||
rc = freerdp_set_param_bool(cfi->instance->settings, id, param);
|
||||
|
||||
// Process callbacks here
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
UINT32 freerdp_client_get_param_uint32(wfInfo* cfi, int id)
|
||||
{
|
||||
return freerdp_get_param_uint32(cfi->instance->settings, id);
|
||||
}
|
||||
|
||||
int freerdp_client_set_param_uint32(wfInfo* cfi, int id, UINT32 param)
|
||||
{
|
||||
int rc;
|
||||
|
||||
rc = freerdp_set_param_uint32(cfi->instance->settings, id, param);
|
||||
|
||||
// Process callbacks here
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
UINT64 freerdp_client_get_param_uint64(wfInfo* cfi, int id)
|
||||
{
|
||||
return freerdp_get_param_uint64(cfi->instance->settings, id);
|
||||
}
|
||||
|
||||
int freerdp_client_set_param_uint64(wfInfo* cfi, int id, UINT64 param)
|
||||
{
|
||||
int rc;
|
||||
|
||||
rc = freerdp_set_param_uint64(cfi->instance->settings, id, param);
|
||||
|
||||
// Process callbacks here
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
char* freerdp_client_get_param_string(wfInfo* cfi, int id)
|
||||
{
|
||||
return freerdp_get_param_string(cfi->instance->settings, id);
|
||||
}
|
||||
|
||||
void wf_on_param_change(wfInfo* cfi, int id)
|
||||
{
|
||||
RECT rect;
|
||||
|
||||
// specific processing here
|
||||
switch(id)
|
||||
{
|
||||
case FreeRDP_SmartSizing:
|
||||
fprintf(stderr, "SmartSizing changed.\n");
|
||||
|
||||
GetWindowRect(cfi->hwnd, &rect);
|
||||
InvalidateRect(cfi->hwnd, &rect, TRUE);
|
||||
break;
|
||||
}
|
||||
|
||||
// trigger callback to client
|
||||
|
||||
}
|
||||
|
||||
int freerdp_client_set_param_string(wfInfo* cfi, int id, char* param)
|
||||
{
|
||||
int rc;
|
||||
rc = freerdp_set_param_string(cfi->instance->settings, id, param);
|
||||
|
||||
wf_on_param_change(cfi, id);
|
||||
|
||||
return rc;
|
||||
}
|
@ -140,6 +140,19 @@ FREERDP_API int freerdp_client_set_window_size(wfInfo* cfi, int width, int heigh
|
||||
FREERDP_API cfInfo* freerdp_client_new(int argc, char** argv);
|
||||
FREERDP_API int freerdp_client_free(wfInfo* cfi);
|
||||
|
||||
FREERDP_API BOOL freerdp_client_get_param_bool(wfInfo* cfi, int id);
|
||||
FREERDP_API int freerdp_client_set_param_bool(wfInfo* cfi, int id, BOOL param);
|
||||
|
||||
FREERDP_API UINT32 freerdp_client_get_param_uint32(wfInfo* cfi, int id);
|
||||
FREERDP_API int freerdp_client_set_param_uint32(wfInfo* cfi, int id, UINT32 param);
|
||||
|
||||
FREERDP_API UINT64 freerdp_client_get_param_uint64(wfInfo* cfi, int id);
|
||||
FREERDP_API int freerdp_client_set_param_uint64(wfInfo* cfi, int id, UINT64 param);
|
||||
|
||||
FREERDP_API char* freerdp_client_get_param_string(wfInfo* cfi, int id);
|
||||
FREERDP_API int freerdp_client_set_param_string(wfInfo* cfi, int id, char* param);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
@ -513,6 +513,10 @@ BOOL freerdp_get_param_bool(rdpSettings* settings, int id)
|
||||
return settings->Decorations;
|
||||
break;
|
||||
|
||||
case FreeRDP_SmartSizing:
|
||||
return settings->SmartSizing;
|
||||
break;
|
||||
|
||||
case FreeRDP_MouseMotion:
|
||||
return settings->MouseMotion;
|
||||
break;
|
||||
@ -949,6 +953,10 @@ int freerdp_set_param_bool(rdpSettings* settings, int id, BOOL param)
|
||||
settings->Decorations = param;
|
||||
break;
|
||||
|
||||
case FreeRDP_SmartSizing:
|
||||
settings->SmartSizing = param;
|
||||
break;
|
||||
|
||||
case FreeRDP_MouseMotion:
|
||||
settings->MouseMotion = param;
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user