819ba98477ba68ea02d885ef64f8ba41237d1e6c
[reactos.git] / reactos / subsystems / win32 / win32k / include / clipboard.h
1 #pragma once
2
3 #include "window.h"
4 #include <include/win32.h>
5
6 VOID FASTCALL IntIncrementSequenceNumber(VOID);
7
8 typedef struct _ClipboardChainElement
9 {
10 PWINDOW_OBJECT window;
11 struct _ClipboardChainElement *next;
12 } CLIPBOARDCHAINELEMENT, *PCLIPBOARDCHAINELEMENT;
13
14 typedef struct _ClipboardElement
15 {
16 UINT format;
17 HANDLE hData;
18 DWORD size; // data may be delayed o synth render
19 struct _ClipboardElement *next;
20 } CLIPBOARDELEMENT, *PCLIPBOARDELEMENT;
21
22 typedef struct _CLIPBOARDSYSTEM
23 {
24 PTHREADINFO ClipboardThread;
25 PTHREADINFO ClipboardOwnerThread;
26 PWINDOW_OBJECT ClipboardWindow;
27 PWINDOW_OBJECT ClipboardViewerWindow;
28 PWINDOW_OBJECT ClipboardOwnerWindow;
29 BOOL sendDrawClipboardMsg;
30 BOOL recentlySetClipboard;
31 BOOL delayedRender;
32 UINT lastEnumClipboardFormats;
33 DWORD ClipboardSequenceNumber;
34
35 PCLIPBOARDCHAINELEMENT WindowsChain;
36 PCLIPBOARDELEMENT ClipboardData;
37
38 PCHAR synthesizedData;
39 DWORD synthesizedDataSize;
40
41 } CLIPBOARDSYSTEM, *PCLIPBOARDSYSTEM;
42
43 VOID FASTCALL
44 IntClipboardFreeWindow(PWINDOW_OBJECT window);
45
46 UINT APIENTRY IntEnumClipboardFormats(UINT format);
47
48 /*
49 UINT FASTCALL
50 IntEnumClipboardFormats(UINT format);
51 */