Computer Assited Medical Intervention Tool Kit  version 5.0
BitmapViewerAPI.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * $CAMITK_LICENCE_BEGIN$
3  *
4  * CamiTK - Computer Assisted Medical Intervention ToolKit
5  * (c) 2001-2021 Univ. Grenoble Alpes, CNRS, Grenoble INP, TIMC, 38000 Grenoble, France
6  *
7  * Visit http://camitk.imag.fr for more information
8  *
9  *
10  * CamiTK is free software: you can redistribute it and/or modify
11  * it under the terms of the GNU Lesser General Public License version 3
12  * only, as published by the Free Software Foundation.
13  *
14  * CamiTK is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU Lesser General Public License version 3 for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public License
20  * version 3 along with CamiTK. If not, see <http://www.gnu.org/licenses/>.
21  *
22  * $CAMITK_LICENCE_END$
23  ****************************************************************************/
24 
25 #ifndef BITMAP_VIEWER_API_H
26 #define BITMAP_VIEWER_API_H
27 
28 // -----------------------------------------------------------------------
29 //
30 // BITMAP_VIEWER_API
31 //
32 // -----------------------------------------------------------------------
33 // The following ifdef block is the standfard way of creating macros which make exporting
34 // from a DLL simpler. All files within this DLL are compiled with the COMPILE_BITMAP_VIEWER_API
35 // flag defined on the command line. this symbol should not be defined on any project
36 // that uses this DLL. This way any other project whose source files include this file see
37 // BITMAP_VIEWER_API functions as being imported from a DLL, whereas this DLL sees symbols
38 // defined with this macro as being exported.
39 #if defined(_WIN32) // MSVC and mingw
40 #ifdef COMPILE_BITMAP_VIEWER_API
41 #define BITMAP_VIEWER_API __declspec(dllexport)
42 #else
43 #define BITMAP_VIEWER_API __declspec(dllimport)
44 #endif
45 #else
46 // for all other platforms BITMAP_VIEWER_API is defined to be "nothing"
47 #ifndef BITMAP_VIEWER_API
48 #define BITMAP_VIEWER_API
49 #endif
50 #endif // MSVC and mingw
51 
52 // -----------------------------------------------------------------------
53 // It seems that MSVC does not understand exception specification
54 // If I understand it well, when _declspec() is used, there is a default
55 // nothrow attribute.
56 // I did not find the throw attribute. It seems that msvc is therefore ignoring the
57 // specification of the type of the exception.
58 // The compiler therefore issues a warning.
59 // The following line is to avoid this particular warning.
60 // The best would be to ask msvc not only to take the exception into account, but also
61 // its type. Anyway, I did not find how to do that anywhere, and I am not sure this is
62 // possible...
63 #if defined(_WIN32) && !defined(__MINGW32__) // MSVC only
64 #pragma warning( disable : 4290 )
65 #endif // MSVC only
66 
67 #endif // BITMAP_VIEWER_API_H