1 /**
2  * FreeRDP: A Remote Desktop Protocol Implementation
3  *
4  * Copyright 2014 Marc-Andre Moreau <marcandre.moreau@gmail.com>
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *     http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18 
19 #ifndef FREERDP_SERVER_SHADOW_WIN_DXGI_H
20 #define FREERDP_SERVER_SHADOW_WIN_DXGI_H
21 
22 #if _WIN32_WINNT >= 0x0602
23 //#define WITH_DXGI_1_2	1
24 #endif
25 
26 #ifdef WITH_DXGI_1_2
27 
28 #ifndef CINTERFACE
29 #define CINTERFACE
30 #endif
31 
32 #include <D3D11.h>
33 #include <dxgi1_2.h>
34 
35 #endif
36 
37 #include "win_shadow.h"
38 
39 #ifdef __cplusplus
40 extern "C"
41 {
42 #endif
43 
44 #ifdef WITH_DXGI_1_2
45 
46 	int win_shadow_dxgi_init(winShadowSubsystem* subsystem);
47 	int win_shadow_dxgi_uninit(winShadowSubsystem* subsystem);
48 
49 	int win_shadow_dxgi_fetch_frame_data(winShadowSubsystem* subsystem, BYTE** ppDstData,
50 	                                     int* pnDstStep, int x, int y, int width, int height);
51 
52 	int win_shadow_dxgi_get_next_frame(winShadowSubsystem* subsystem);
53 	int win_shadow_dxgi_get_invalid_region(winShadowSubsystem* subsystem);
54 
55 #endif
56 
57 #ifdef __cplusplus
58 }
59 #endif
60 
61 #endif /* FREERDP_SERVER_SHADOW_WIN_DXGI_H */
62