FreeRDP
client/Mac/mfreerdp.h
1 #ifndef FREERDP_CLIENT_MAC_FREERDP_H
2 #define FREERDP_CLIENT_MAC_FREERDP_H
3 
4 #include <freerdp/freerdp.h>
5 #include <freerdp/client/file.h>
6 #include <freerdp/api.h>
7 #include <freerdp/freerdp.h>
8 
9 #include <freerdp/gdi/gdi.h>
10 #include <freerdp/gdi/dc.h>
11 #include <freerdp/gdi/gfx.h>
12 #include <freerdp/gdi/region.h>
13 #include <freerdp/channels/channels.h>
14 
15 #include <freerdp/client/channels.h>
16 #include <freerdp/client/rdpei.h>
17 #include <freerdp/client/rdpgfx.h>
18 #include <freerdp/client/cliprdr.h>
19 #include <freerdp/client/encomsp.h>
20 
21 #include <winpr/crt.h>
22 #include <winpr/synch.h>
23 #include <winpr/thread.h>
24 #include <winpr/clipboard.h>
25 
26 #include "Keyboard.h"
27 #include <CoreGraphics/CoreGraphics.h>
28 
29 typedef struct
30 {
31  rdpClientContext common;
32 
33  void* view;
34  BOOL view_ownership;
35 
36  int width;
37  int height;
38  int offset_x;
39  int offset_y;
40  int fs_toggle;
41  int fullscreen;
42  int percentscreen;
43  char window_title[64];
44  int client_x;
45  int client_y;
46  int client_width;
47  int client_height;
48 
49  HANDLE stopEvent;
50  HANDLE keyboardThread;
51  enum APPLE_KEYBOARD_TYPE appleKeyboardType;
52 
53  DWORD mainThreadId;
54  DWORD keyboardThreadId;
55 
56  BOOL clipboardSync;
57  wClipboard* clipboard;
58  UINT32 numServerFormats;
59  UINT32 requestedFormatId;
60  HANDLE clipboardRequestEvent;
61  CLIPRDR_FORMAT* serverFormats;
62  CliprdrClientContext* cliprdr;
63  UINT32 clipboardCapabilities;
64 
65  rdpFile* connectionRdpFile;
66 
67  // Keep track of window size and position, disable when in fullscreen mode.
68  BOOL disablewindowtracking;
69 
70  // These variables are required for horizontal scrolling.
71  BOOL updating_scrollbars;
72  BOOL xScrollVisible;
73  int xMinScroll; // minimum horizontal scroll value
74  int xCurrentScroll; // current horizontal scroll value
75  int xMaxScroll; // maximum horizontal scroll value
76 
77  // These variables are required for vertical scrolling.
78  BOOL yScrollVisible;
79  int yMinScroll; // minimum vertical scroll value
80  int yCurrentScroll; // current vertical scroll value
81  int yMaxScroll; // maximum vertical scroll value
82 
83  CGEventFlags kbdFlags;
84 } mfContext;
85 
86 #endif /* FREERDP_CLIENT_MAC_FREERDP_H */