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

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 #endif
00047 
00048 // Never include the windows header here when building VTK itself.
00049 #if defined(VTK_IN_VTK)
00050 # undef VTK_INCLUDE_WINDOWS_H
00051 #endif
00052 
00053 #if defined(_WIN32)
00054   // Include the windows header here only if requested by user code.
00055 # if defined(VTK_INCLUDE_WINDOWS_H)
00056 #  include <windows.h>
00057    // Define types from the windows header file.
00058    typedef DWORD vtkWindowsDWORD;
00059    typedef PVOID vtkWindowsPVOID;
00060    typedef LPVOID vtkWindowsLPVOID;
00061    typedef HANDLE vtkWindowsHANDLE;
00062    typedef LPTHREAD_START_ROUTINE vtkWindowsLPTHREAD_START_ROUTINE;
00063 # else
00064    // Define types from the windows header file.
00065    typedef unsigned long vtkWindowsDWORD;
00066    typedef void* vtkWindowsPVOID;
00067    typedef vtkWindowsPVOID vtkWindowsLPVOID;
00068    typedef vtkWindowsPVOID vtkWindowsHANDLE;
00069    typedef vtkWindowsDWORD (__stdcall *vtkWindowsLPTHREAD_START_ROUTINE)(vtkWindowsLPVOID);
00070 # endif
00071   // Enable workaround for windows header name mangling.
00072   // See VTK/Utilities/Upgrading/README.WindowsMangling.txt for details.
00073 # define VTK_WORKAROUND_WINDOWS_MANGLE
00074 #endif
00075 
00076 #if defined(_MSC_VER)
00077   // Enable MSVC compiler warning messages that are useful but off by default.
00078 # pragma warning ( default : 4263 ) /* no override, call convention differs */
00079   // Disable MSVC compiler warning messages that often occur in valid code.
00080 # if !defined(VTK_DISPLAY_WIN32_WARNINGS)
00081 #  pragma warning ( disable : 4097 ) /* typedef is synonym for class */
00082 #  pragma warning ( disable : 4127 ) /* conditional expression is constant */
00083 #  pragma warning ( disable : 4244 ) /* possible loss in conversion */
00084 #  pragma warning ( disable : 4251 ) /* missing DLL-interface */
00085 #  pragma warning ( disable : 4305 ) /* truncation from type1 to type2 */
00086 #  pragma warning ( disable : 4309 ) /* truncation of constant value */
00087 #  pragma warning ( disable : 4514 ) /* unreferenced inline function */
00088 #  pragma warning ( disable : 4706 ) /* assignment in conditional expression */
00089 #  pragma warning ( disable : 4710 ) /* function not inlined */
00090 #  pragma warning ( disable : 4786 ) /* identifier truncated in debug info */
00091 # endif
00092 #endif
00093 
00094 // MSVC 6.0 in release mode will warn about code it produces with its
00095 // optimizer.  Disable the warnings specifically for this
00096 // configuration.  Real warnings will be revealed by a debug build or
00097 // by other compilers.
00098 #if defined(_MSC_VER) && (_MSC_VER < 1300) && defined(NDEBUG)
00099 # pragma warning ( disable : 4701 ) /* Variable may be used uninitialized.  */
00100 # pragma warning ( disable : 4702 ) /* Unreachable code.  */
00101 #endif
00102 
00103 #if defined(WIN32) && defined(VTK_BUILD_SHARED_LIBS)
00104  #define VTK_EXPORT __declspec( dllexport )
00105 
00106  #if defined(vtkCommon_EXPORTS)
00107   #define VTK_COMMON_EXPORT __declspec( dllexport ) 
00108  #else
00109   #define VTK_COMMON_EXPORT __declspec( dllimport ) 
00110  #endif
00111 
00112  #if defined(vtkFiltering_EXPORTS)
00113   #define VTK_FILTERING_EXPORT __declspec( dllexport ) 
00114  #else
00115   #define VTK_FILTERING_EXPORT __declspec( dllimport ) 
00116  #endif
00117 
00118  #if defined(vtkImaging_EXPORTS)
00119   #define VTK_IMAGING_EXPORT __declspec( dllexport ) 
00120  #else
00121   #define VTK_IMAGING_EXPORT __declspec( dllimport ) 
00122  #endif
00123 
00124  #if defined(vtkGenericFiltering_EXPORTS)
00125   #define VTK_GENERIC_FILTERING_EXPORT __declspec( dllexport ) 
00126  #else
00127   #define VTK_GENERIC_FILTERING_EXPORT __declspec( dllimport ) 
00128  #endif
00129 
00130  #if defined(vtkGraphics_EXPORTS)
00131   #define VTK_GRAPHICS_EXPORT __declspec( dllexport ) 
00132  #else
00133   #define VTK_GRAPHICS_EXPORT __declspec( dllimport ) 
00134  #endif
00135 
00136  #if defined(vtkIO_EXPORTS)
00137   #define VTK_IO_EXPORT __declspec( dllexport ) 
00138  #else
00139   #define VTK_IO_EXPORT __declspec( dllimport ) 
00140  #endif
00141 
00142  #if defined(vtkRendering_EXPORTS)
00143   #define VTK_RENDERING_EXPORT __declspec( dllexport ) 
00144  #else
00145   #define VTK_RENDERING_EXPORT __declspec( dllimport ) 
00146  #endif
00147 
00148  #if defined(vtkVolumeRendering_EXPORTS)
00149   #define VTK_VOLUMERENDERING_EXPORT __declspec( dllexport ) 
00150  #else
00151   #define VTK_VOLUMERENDERING_EXPORT __declspec( dllimport ) 
00152  #endif
00153 
00154  #if defined(vtkHybrid_EXPORTS)
00155   #define VTK_HYBRID_EXPORT __declspec( dllexport ) 
00156  #else
00157   #define VTK_HYBRID_EXPORT __declspec( dllimport ) 
00158  #endif
00159 
00160  #if defined(vtkWidgets_EXPORTS)
00161   #define VTK_WIDGETS_EXPORT __declspec( dllexport ) 
00162  #else
00163   #define VTK_WIDGETS_EXPORT __declspec( dllimport ) 
00164  #endif
00165 
00166  #if defined(vtkParallel_EXPORTS)
00167   #define VTK_PARALLEL_EXPORT __declspec( dllexport ) 
00168  #else
00169   #define VTK_PARALLEL_EXPORT __declspec( dllimport ) 
00170  #endif
00171 
00172 #else
00173  #define VTK_COMMON_EXPORT
00174  #define VTK_FILTERING_EXPORT
00175  #define VTK_GENERIC_FILTERING_EXPORT
00176  #define VTK_GRAPHICS_EXPORT
00177  #define VTK_IMAGING_EXPORT
00178  #define VTK_IO_EXPORT
00179  #define VTK_RENDERING_EXPORT
00180  #define VTK_VOLUMERENDERING_EXPORT
00181  #define VTK_HYBRID_EXPORT
00182  #define VTK_WIDGETS_EXPORT
00183  #define VTK_PARALLEL_EXPORT
00184  #define VTK_EXPORT
00185 #endif
00186 
00187 // this is exclusively for the tcl Init functions
00188 #if defined(WIN32)
00189  #define VTK_TK_EXPORT __declspec( dllexport )
00190 #else
00191  #define VTK_TK_EXPORT
00192 #endif
00193 
00194 #endif

Generated on Mon Jan 21 23:07:18 2008 for VTK by  doxygen 1.4.3-20050530