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;
45
46static INLINE rdp_input_internal* input_cast(rdpInput* input)
47{
48 union
49 {
50 rdpInput* pub;
51 rdp_input_internal* internal;
52 } cnv;
53
54 WINPR_ASSERT(input);
55 cnv.pub = input;
56 return cnv.internal;
57}
58FREERDP_LOCAL BOOL input_recv(rdpInput* input, wStream* s);
59
60FREERDP_LOCAL int input_process_events(rdpInput* input);
61FREERDP_LOCAL BOOL input_register_client_callbacks(rdpInput* input);
62
63FREERDP_LOCAL void input_free(rdpInput* input);
64
65WINPR_ATTR_MALLOC(input_free, 1)
66FREERDP_LOCAL rdpInput* input_new(rdpRdp* rdp);
67
68#endif /* FREERDP_LIB_CORE_INPUT_H */