FreeRDP
Loading...
Searching...
No Matches
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
29typedef 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 */