FreeRDP
Loading...
Searching...
No Matches
libfreerdp/core/input.h
1
20#ifndef FREERDP_LIB_CORE_INPUT_H
21#define FREERDP_LIB_CORE_INPUT_H
22
23#include "rdp.h"
24#include "fastpath.h"
25#include "message.h"
26
27#include <freerdp/input.h>
28#include <freerdp/freerdp.h>
29#include <freerdp/api.h>
30
31#include <winpr/stream.h>
32
33typedef struct
34{
35 rdpInput common;
36 /* Internal */
37
38 rdpInputProxy* proxy;
39 wMessageQueue* queue;
40
41 UINT64 lastInputTimestamp;
42 UINT16 lastX;
43 UINT16 lastY;
44 wLog* log;
46
47static inline rdp_input_internal* input_cast(rdpInput* input)
48{
49 union
50 {
51 rdpInput* pub;
52 rdp_input_internal* internal;
53 } cnv;
54
55 WINPR_ASSERT(input);
56 cnv.pub = input;
57 return cnv.internal;
58}
59
60FREERDP_LOCAL BOOL input_recv(rdpInput* input, wStream* s);
61
62FREERDP_LOCAL int input_process_events(rdpInput* input);
63FREERDP_LOCAL BOOL input_register_client_callbacks(rdpInput* input);
64
65FREERDP_LOCAL void input_free(rdpInput* input);
66
67WINPR_ATTR_MALLOC(input_free, 1)
68FREERDP_LOCAL rdpInput* input_new(rdpRdp* rdp);
69
70#endif /* FREERDP_LIB_CORE_INPUT_H */