1 /*=========================================================================
2 
3   Program:   Visualization Toolkit
4   Module:    vtkSystemIncludes.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 // .NAME vtkSystemIncludes - transition VTK to ANSI C++, centralize
16 // inclusion of system files
17 // .SECTION Description
18 // The vtkSystemIncludes centralizes the inclusion of system include
19 // files.
20 
21 #ifndef vtkSystemIncludes_h
22 #define vtkSystemIncludes_h
23 
24 /* first include the local configuration for this machine */
25 #define __VTK_SYSTEM_INCLUDES__INSIDE
26 #include "vtkWin32Header.h"
27 #undef __VTK_SYSTEM_INCLUDES__INSIDE
28 
29 // The language wrapper files do not need the real streams.  They
30 // define VTK_STREAMS_FWD_ONLY so that the streams are only
31 // forward-declared.  This significantly improves compile time on some
32 // platforms.
33 #if defined(VTK_STREAMS_FWD_ONLY)
34 # include "vtkIOStreamFwd.h" // Forward-declare the C++ streams.
35 #else
36 # include "vtkIOStream.h"    // Include the real C++ streams.
37 #endif
38 
39 // Setup the basic types to be used by VTK.
40 #include "vtkType.h"
41 
42 // this should be removed at some point
43 #define VTK_USE_EXECUTIVES
44 
45 #define __VTK_SYSTEM_INCLUDES__INSIDE
46 #include "vtkOStreamWrapper.h"    // Include the ostream wrapper.
47 #include "vtkOStrStreamWrapper.h" // Include the ostrstream wrapper.
48 #undef __VTK_SYSTEM_INCLUDES__INSIDE
49 
50 // Include generic stuff.
51 #include <stdio.h>
52 #include <stdlib.h>
53 #include <string.h>
54 
55 // Borland C++ defines several of the stdlib.h and string.h symbols in
56 // sub-headers search.h and mem.h.  These sub-headers have using
57 // declarations to pull functions from the std namespace to the global
58 // namespace, but they are defined only if the header was not included
59 // through the C++-style cstdlib or cstring header.  These outer
60 // headers are included by the streams library in C++-style and
61 // include blockers are put in place that prevent including the
62 // C-style versions from ever including the sub-headers.  Therefore we
63 // have to include the sub-headers here to get the using declarations.
64 #if defined(__BORLANDC__)
65 # include <mem.h>    /* mem... functions from string.h */
66 # include <search.h> /* search functions from stdlib.h */
67 #endif
68 
69 // These types define error codes for vtk functions
70 #define VTK_OK                 1
71 #define VTK_ERROR              2
72 
73 // These types define different text properties
74 #define VTK_ARIAL          0
75 #define VTK_COURIER        1
76 #define VTK_TIMES          2
77 #define VTK_UNKNOWN_FONT   3
78 #define VTK_FONT_FILE      4
79 
80 #define VTK_TEXT_LEFT     0
81 #define VTK_TEXT_CENTERED 1
82 #define VTK_TEXT_RIGHT    2
83 
84 #define VTK_TEXT_BOTTOM 0
85 #define VTK_TEXT_TOP    2
86 
87 #define VTK_TEXT_GLOBAL_ANTIALIASING_SOME 0
88 #define VTK_TEXT_GLOBAL_ANTIALIASING_NONE 1
89 #define VTK_TEXT_GLOBAL_ANTIALIASING_ALL 2
90 
91 #define VTK_LUMINANCE       1
92 #define VTK_LUMINANCE_ALPHA 2
93 #define VTK_RGB             3
94 #define VTK_RGBA            4
95 
96 #define VTK_COLOR_MODE_DEFAULT 0
97 #define VTK_COLOR_MODE_MAP_SCALARS 1
98 #define VTK_COLOR_MODE_DIRECT_SCALARS 2
99 
100 // Constants for InterpolationType
101 #define VTK_NEAREST_INTERPOLATION       0
102 #define VTK_LINEAR_INTERPOLATION        1
103 #define VTK_CUBIC_INTERPOLATION         2
104 
105 // Constants for SlabType
106 #define VTK_IMAGE_SLAB_MIN  0
107 #define VTK_IMAGE_SLAB_MAX  1
108 #define VTK_IMAGE_SLAB_MEAN 2
109 #define VTK_IMAGE_SLAB_SUM  3
110 
111 // For volume rendering
112 #define VTK_MAX_VRCOMP                  4
113 
114 // If VTK_USE_PTHREADS is defined, then the multithreaded
115 // function is of type void *, and returns NULL
116 // Otherwise the type is void which is correct for WIN32
117 // and SPROC
118 #ifdef VTK_USE_PTHREADS
119 #define VTK_THREAD_RETURN_VALUE  NULL
120 #define VTK_THREAD_RETURN_TYPE   void *
121 #endif
122 
123 #ifdef VTK_USE_WIN32_THREADS
124 #define VTK_THREAD_RETURN_VALUE 0
125 #define VTK_THREAD_RETURN_TYPE vtkWindowsDWORD __stdcall
126 #endif
127 
128 #if !defined(VTK_USE_PTHREADS) && !defined(VTK_USE_WIN32_THREADS)
129 #define VTK_THREAD_RETURN_VALUE
130 #define VTK_THREAD_RETURN_TYPE void
131 #endif
132 
133 // For encoding
134 
135 #define VTK_ENCODING_NONE         0 // to specify that no encoding should occur
136 #define VTK_ENCODING_US_ASCII     1
137 #define VTK_ENCODING_UNICODE      2
138 #define VTK_ENCODING_UTF_8        3
139 #define VTK_ENCODING_ISO_8859_1   4
140 #define VTK_ENCODING_ISO_8859_2   5
141 #define VTK_ENCODING_ISO_8859_3   6
142 #define VTK_ENCODING_ISO_8859_4   7
143 #define VTK_ENCODING_ISO_8859_5   8
144 #define VTK_ENCODING_ISO_8859_6   9
145 #define VTK_ENCODING_ISO_8859_7   10
146 #define VTK_ENCODING_ISO_8859_8   11
147 #define VTK_ENCODING_ISO_8859_9   12
148 #define VTK_ENCODING_ISO_8859_10  13
149 #define VTK_ENCODING_ISO_8859_11  14
150 #define VTK_ENCODING_ISO_8859_12  15
151 #define VTK_ENCODING_ISO_8859_13  16
152 #define VTK_ENCODING_ISO_8859_14  17
153 #define VTK_ENCODING_ISO_8859_15  18
154 #define VTK_ENCODING_ISO_8859_16  19
155 #define VTK_ENCODING_UNKNOWN      20  // leave this one at the end
156 
157 #endif
158 // VTK-HeaderTest-Exclude: vtkSystemIncludes.h
159