00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00022 #ifndef __vtkWIN32Header_h
00023 #define __vtkWIN32Header_h
00024 
00025 #ifndef __VTK_SYSTEM_INCLUDES__INSIDE
00026 Do_not_include_vtkWin32Header_directly__vtkSystemIncludes_includes_it;
00027 #endif
00028 
00029 #include "vtkConfigure.h"
00030 #include "vtkABI.h"
00031 
00032 
00033 
00034 
00035 
00036 #ifdef VTK_REQUIRE_LARGE_FILE_SUPPORT
00037 #  ifndef _LARGEFILE_SOURCE
00038 #    define _LARGEFILE_SOURCE
00039 #  endif
00040 #  ifndef _LARGE_FILES
00041 #    define _LARGE_FILES
00042 #  endif
00043 #  ifndef _FILE_OFFSET_BITS
00044 #    define _FILE_OFFSET_BITS 64
00045 #  endif
00046 #endif
00047 
00048 
00049 
00050 #if defined(_WIN32) || defined(WIN32) || defined(__CYGWIN__)
00051 
00052 
00053 #ifndef STRICT
00054 #define STRICT
00055 #endif
00056 
00057 #ifdef VTK_USE_ANSI_STDLIB
00058 #ifndef NOMINMAX
00059 #define NOMINMAX
00060 #endif
00061 #endif
00062 
00063 #endif
00064 
00065 
00066 #if defined(VTK_IN_VTK)
00067 # undef VTK_INCLUDE_WINDOWS_H
00068 #endif
00069 
00070 #if defined(_WIN32)
00071   
00072 # if defined(VTK_INCLUDE_WINDOWS_H)
00073 #  include <windows.h>
00074    
00075    typedef DWORD vtkWindowsDWORD;
00076    typedef PVOID vtkWindowsPVOID;
00077    typedef LPVOID vtkWindowsLPVOID;
00078    typedef HANDLE vtkWindowsHANDLE;
00079    typedef LPTHREAD_START_ROUTINE vtkWindowsLPTHREAD_START_ROUTINE;
00080 # else
00081    
00082    typedef unsigned long vtkWindowsDWORD;
00083    typedef void* vtkWindowsPVOID;
00084    typedef vtkWindowsPVOID vtkWindowsLPVOID;
00085    typedef vtkWindowsPVOID vtkWindowsHANDLE;
00086    typedef vtkWindowsDWORD (__stdcall *vtkWindowsLPTHREAD_START_ROUTINE)(vtkWindowsLPVOID);
00087 # endif
00088   
00089   
00090 # define VTK_WORKAROUND_WINDOWS_MANGLE
00091 
00092 #if ( _MSC_VER >= 1300 ) // Visual studio .NET
00093 #pragma warning ( disable : 4311 )
00094 #pragma warning ( disable : 4312 )
00095 #  define vtkGetWindowLong GetWindowLongPtr
00096 #  define vtkSetWindowLong SetWindowLongPtr
00097 #  define vtkLONG LONG_PTR
00098 #  define vtkGWL_WNDPROC GWLP_WNDPROC
00099 #  define vtkGWL_HINSTANCE GWLP_HINSTANCE
00100 #  define vtkGWL_USERDATA GWLP_USERDATA
00101 #else // older or non-Visual studio
00102 #  define vtkGetWindowLong GetWindowLong
00103 #  define vtkSetWindowLong SetWindowLong
00104 #  define vtkLONG LONG
00105 #  define vtkGWL_WNDPROC GWL_WNDPROC
00106 #  define vtkGWL_HINSTANCE GWL_HINSTANCE
00107 #  define vtkGWL_USERDATA GWL_USERDATA
00108 #endif //
00109 
00110 #endif
00111 
00112 #if defined(_MSC_VER)
00113   
00114 # pragma warning ( default : 4263 ) 
00115   
00116 # if !defined(VTK_DISPLAY_WIN32_WARNINGS)
00117 #  pragma warning ( disable : 4003 ) 
00118 #  pragma warning ( disable : 4097 ) 
00119 #  pragma warning ( disable : 4127 ) 
00120 #  pragma warning ( disable : 4244 ) 
00121 #  pragma warning ( disable : 4251 ) 
00122 #  pragma warning ( disable : 4305 ) 
00123 #  pragma warning ( disable : 4309 ) 
00124 #  pragma warning ( disable : 4514 ) 
00125 #  pragma warning ( disable : 4706 ) 
00126 #  pragma warning ( disable : 4710 ) 
00127 #  pragma warning ( disable : 4786 ) 
00128 # endif
00129 #endif
00130 
00131 
00132 
00133 
00134 
00135 #if defined(_MSC_VER) && (_MSC_VER < 1300) && defined(NDEBUG)
00136 # pragma warning ( disable : 4701 ) 
00137 # pragma warning ( disable : 4702 ) 
00138 #endif
00139 
00140 #if defined(__BORLANDC__)
00141   
00142 # if !defined(VTK_DISPLAY_WIN32_WARNINGS)
00143 #  pragma warn -8004 
00144 #  pragma warn -8008 
00145 #  pragma warn -8026 
00146 #  pragma warn -8027 
00147 #  pragma warn -8060 
00148 #  pragma warn -8066 
00149 #  pragma warn -8072 
00150 # endif
00151 #endif
00152 
00153 
00154 #if defined(VTK_BUILD_SHARED_LIBS)
00155 
00156  #define VTK_EXPORT VTK_ABI_EXPORT
00157 
00158  #if defined(vtkCommon_EXPORTS)
00159   #define VTK_COMMON_EXPORT VTK_ABI_EXPORT
00160  #else
00161   #define VTK_COMMON_EXPORT VTK_ABI_IMPORT
00162  #endif
00163 
00164  #if defined(vtkFiltering_EXPORTS)
00165   #define VTK_FILTERING_EXPORT VTK_ABI_EXPORT
00166  #else
00167   #define VTK_FILTERING_EXPORT VTK_ABI_IMPORT
00168  #endif
00169 
00170  #if defined(vtkImaging_EXPORTS)
00171   #define VTK_IMAGING_EXPORT VTK_ABI_EXPORT
00172  #else
00173   #define VTK_IMAGING_EXPORT VTK_ABI_IMPORT
00174  #endif
00175 
00176  #if defined(vtkGenericFiltering_EXPORTS)
00177   #define VTK_GENERIC_FILTERING_EXPORT VTK_ABI_EXPORT
00178  #else
00179   #define VTK_GENERIC_FILTERING_EXPORT VTK_ABI_IMPORT
00180  #endif
00181 
00182  #if defined(vtkGeovis_EXPORTS)
00183   #define VTK_GEOVIS_EXPORT VTK_ABI_EXPORT
00184  #else
00185   #define VTK_GEOVIS_EXPORT VTK_ABI_IMPORT
00186  #endif
00187 
00188  #if defined(vtkGraphics_EXPORTS)
00189   #define VTK_GRAPHICS_EXPORT VTK_ABI_EXPORT
00190  #else
00191   #define VTK_GRAPHICS_EXPORT VTK_ABI_IMPORT
00192  #endif
00193 
00194  #if defined(vtkGraphicsJava_EXPORTS)
00195   #define VTK_GRAPHICS_JAVA_EXPORT VTK_ABI_EXPORT
00196  #else
00197   #define VTK_GRAPHICS_JAVA_EXPORT VTK_ABI_IMPORT
00198  #endif
00199 
00200  #if defined(vtkInfovis_EXPORTS)
00201   #define VTK_INFOVIS_EXPORT VTK_ABI_EXPORT
00202  #else
00203   #define VTK_INFOVIS_EXPORT VTK_ABI_IMPORT
00204  #endif
00205 
00206  #if defined(vtkIO_EXPORTS)
00207   #define VTK_IO_EXPORT VTK_ABI_EXPORT
00208  #else
00209   #define VTK_IO_EXPORT VTK_ABI_IMPORT
00210  #endif
00211 
00212  #if defined(vtkRendering_EXPORTS)
00213   #define VTK_RENDERING_EXPORT VTK_ABI_EXPORT
00214  #else
00215   #define VTK_RENDERING_EXPORT VTK_ABI_IMPORT
00216  #endif
00217 
00218  #if defined(vtkTextAnalysis_EXPORTS)
00219   #define VTK_TEXT_ANALYSIS_EXPORT VTK_ABI_EXPORT
00220  #else
00221   #define VTK_TEXT_ANALYSIS_EXPORT VTK_ABI_IMPORT
00222  #endif
00223 
00224  #if defined(vtkVolumeRendering_EXPORTS)
00225   #define VTK_VOLUMERENDERING_EXPORT VTK_ABI_EXPORT
00226  #else
00227   #define VTK_VOLUMERENDERING_EXPORT VTK_ABI_IMPORT
00228  #endif
00229 
00230  #if defined(vtkHybrid_EXPORTS)
00231   #define VTK_HYBRID_EXPORT VTK_ABI_EXPORT
00232  #else
00233   #define VTK_HYBRID_EXPORT VTK_ABI_IMPORT
00234  #endif
00235 
00236  #if defined(vtkWidgets_EXPORTS)
00237   #define VTK_WIDGETS_EXPORT VTK_ABI_EXPORT
00238  #else
00239   #define VTK_WIDGETS_EXPORT VTK_ABI_IMPORT
00240  #endif
00241 
00242  #if defined(vtkParallel_EXPORTS)
00243   #define VTK_PARALLEL_EXPORT VTK_ABI_EXPORT
00244  #else
00245   #define VTK_PARALLEL_EXPORT VTK_ABI_IMPORT
00246  #endif
00247 
00248  #if defined(vtkViews_EXPORTS)
00249   #define VTK_VIEWS_EXPORT VTK_ABI_EXPORT
00250  #else
00251   #define VTK_VIEWS_EXPORT VTK_ABI_IMPORT
00252  #endif
00253 
00254  #if defined(vtkCharts_EXPORTS)
00255   #define VTK_CHARTS_EXPORT VTK_ABI_EXPORT
00256  #else
00257   #define VTK_CHARTS_EXPORT VTK_ABI_IMPORT
00258  #endif
00259 
00260 #else
00261  #define VTK_COMMON_EXPORT
00262  #define VTK_FILTERING_EXPORT
00263  #define VTK_GENERIC_FILTERING_EXPORT
00264  #define VTK_GEOVIS_EXPORT
00265  #define VTK_GRAPHICS_EXPORT
00266  #define VTK_GRAPHICS_JAVA_EXPORT
00267  #define VTK_IMAGING_EXPORT
00268  #define VTK_INFOVIS_EXPORT
00269  #define VTK_IO_EXPORT
00270  #define VTK_RENDERING_EXPORT
00271  #define VTK_TEXT_ANALYSIS_EXPORT
00272  #define VTK_VOLUMERENDERING_EXPORT
00273  #define VTK_HYBRID_EXPORT
00274  #define VTK_WIDGETS_EXPORT
00275  #define VTK_PARALLEL_EXPORT
00276  #define VTK_VIEWS_EXPORT
00277  #define VTK_CHARTS_EXPORT
00278  #define VTK_EXPORT
00279 #endif
00280 
00281 
00282 #define VTK_TK_EXPORT VTK_ABI_EXPORT
00283 
00284 #endif