Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

Common/vtkWin32Header.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkWin32Header.h,v $
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
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 
00031 //
00032 // Windows specific stuff------------------------------------------
00033 #if defined(_WIN32) || defined(WIN32) || defined(__CYGWIN__)
00034 
00035 // define strict header for windows
00036 #ifndef STRICT
00037 #define STRICT
00038 #endif
00039 
00040 #ifdef VTK_USE_ANSI_STDLIB
00041 #ifndef NOMINMAX
00042 #define NOMINMAX
00043 #endif
00044 #endif
00045 
00046 #include <windows.h>
00047 
00048 #ifdef _MSC_VER
00049 // Handle MSVC compiler warning messages, etc.
00050 #ifndef VTK_DISPLAY_WIN32_WARNINGS
00051 #pragma warning ( disable : 4127 )
00052 #pragma warning ( disable : 4244 )
00053 #pragma warning ( disable : 4251 )
00054 #pragma warning ( disable : 4305 )
00055 #pragma warning ( disable : 4309 )
00056 #pragma warning ( disable : 4710 )
00057 #pragma warning ( disable : 4706 )
00058 #pragma warning ( disable : 4786 )
00059 #pragma warning ( disable : 4097 )
00060 #endif //VTK_DISPLAY_WIN32_WARNINGS
00061 #endif
00062 
00063 #endif
00064 
00065 #if defined(WIN32) && defined(VTK_BUILD_SHARED_LIBS)
00066  #define VTK_EXPORT __declspec( dllexport )
00067 
00068  #if defined(vtkCommon_EXPORTS)
00069   #define VTK_COMMON_EXPORT __declspec( dllexport ) 
00070  #else
00071   #define VTK_COMMON_EXPORT __declspec( dllimport ) 
00072  #endif
00073 
00074  #if defined(vtkFiltering_EXPORTS)
00075   #define VTK_FILTERING_EXPORT __declspec( dllexport ) 
00076  #else
00077   #define VTK_FILTERING_EXPORT __declspec( dllimport ) 
00078  #endif
00079 
00080  #if defined(vtkImaging_EXPORTS)
00081   #define VTK_IMAGING_EXPORT __declspec( dllexport ) 
00082  #else
00083   #define VTK_IMAGING_EXPORT __declspec( dllimport ) 
00084  #endif
00085 
00086  #if defined(vtkGraphics_EXPORTS)
00087   #define VTK_GRAPHICS_EXPORT __declspec( dllexport ) 
00088  #else
00089   #define VTK_GRAPHICS_EXPORT __declspec( dllimport ) 
00090  #endif
00091 
00092  #if defined(vtkIO_EXPORTS)
00093   #define VTK_IO_EXPORT __declspec( dllexport ) 
00094  #else
00095   #define VTK_IO_EXPORT __declspec( dllimport ) 
00096  #endif
00097 
00098  #if defined(vtkRendering_EXPORTS)
00099   #define VTK_RENDERING_EXPORT __declspec( dllexport ) 
00100  #else
00101   #define VTK_RENDERING_EXPORT __declspec( dllimport ) 
00102  #endif
00103 
00104  #if defined(vtkHybrid_EXPORTS)
00105   #define VTK_HYBRID_EXPORT __declspec( dllexport ) 
00106  #else
00107   #define VTK_HYBRID_EXPORT __declspec( dllimport ) 
00108  #endif
00109 
00110  #if defined(vtkParallel_EXPORTS)
00111   #define VTK_PARALLEL_EXPORT __declspec( dllexport ) 
00112  #else
00113   #define VTK_PARALLEL_EXPORT __declspec( dllimport ) 
00114  #endif
00115 
00116  #if defined(vtkPatented_EXPORTS)
00117   #define VTK_PATENTED_EXPORT __declspec( dllexport ) 
00118  #else
00119   #define VTK_PATENTED_EXPORT __declspec( dllimport ) 
00120  #endif
00121 #else
00122  #define VTK_COMMON_EXPORT
00123  #define VTK_FILTERING_EXPORT
00124  #define VTK_GRAPHICS_EXPORT
00125  #define VTK_IMAGING_EXPORT
00126  #define VTK_IO_EXPORT
00127  #define VTK_RENDERING_EXPORT
00128  #define VTK_HYBRID_EXPORT
00129  #define VTK_PARALLEL_EXPORT
00130  #define VTK_PATENTED_EXPORT
00131  #define VTK_EXPORT
00132 #endif
00133 
00134 // this is exclusively for the tcl Init functions
00135 #if defined(WIN32)
00136  #define VTK_TK_EXPORT __declspec( dllexport )
00137 #else
00138  #define VTK_TK_EXPORT
00139 #endif
00140 
00141 #endif