VTK
vtkWindows.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkWindows.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 #ifndef vtkWindows_h
16 #define vtkWindows_h
17 
18 /* This header is useless when not on windows or when the windows
19  header has already been included at the top of VTK. Block the
20  whole thing on this condition. */
21 #if defined(_WIN32) && !defined(VTK_INCLUDE_WINDOWS_H)
22 
23 /*
24 Define some macros to shorten the windows header. Record which ones
25 we defined here so that we can undefine them later.
26 
27 See this page for details:
28 http://msdn.microsoft.com/library/en-us/vccore/html/_core_faster_builds_and_smaller_header_files.asp
29 */
30 #if !defined(VTK_WINDOWS_FULL)
31 # if !defined(VC_EXTRALEAN)
32 # define VC_EXTRALEAN
33 # define VTK_WINDOWS_VC_EXTRALEAN
34 # endif
35 # if !defined(WIN32_LEAN_AND_MEAN)
36 # define WIN32_LEAN_AND_MEAN
37 # define VTK_WINDOWS_WIN32_LEAN_AND_MEAN
38 # endif
39 # if !defined(NOSERVICE)
40 # define NOSERVICE
41 # define VTK_WINDOWS_NOSERVICE
42 # endif
43 # if !defined(NOMCX)
44 # define NOMCX
45 # define VTK_WINDOWS_NOMCX
46 # endif
47 # if !defined(NOIME)
48 # define NOIME
49 # define VTK_WINDOWS_NOIME
50 # endif
51 # if !defined(NONLS)
52 # define NONLS
53 # define VTK_WINDOWS_NONLS
54 # endif
55 #endif
56 
57 /* Include the real windows header. */
58 #include <windows.h>
59 
60 /* Undefine any macros we defined to shorten the windows header.
61  Leave the VTK_WINDOWS_* versions defined so that user code can tell
62  what parts of the windows header were included. */
63 #if !defined(VTK_WINDOWS_FULL)
64 # if defined(VTK_WINDOWS_VC_EXTRALEAN)
65 # undef VC_EXTRALEAN
66 # endif
67 # if defined(VTK_WINDOWS_WIN32_LEAN_AND_MEAN)
68 # undef WIN32_LEAN_AND_MEAN
69 # endif
70 # if defined(VTK_WINDOWS_NOSERVICE)
71 # undef NOSERVICE
72 # endif
73 # if defined(VTK_WINDOWS_NOMCX)
74 # undef NOMCX
75 # endif
76 # if defined(VTK_WINDOWS_NOIME)
77 # undef NOIME
78 # endif
79 # if defined(VTK_WINDOWS_NONLS)
80 # undef NONLS
81 # endif
82 #endif
83 
84 #endif /* defined(_WIN32) && !defined(VTK_INCLUDE_WINDOWS_H) */
85 
86 #endif
87 // VTK-HeaderTest-Exclude: vtkWindows.h