Computer Assisted Medical Intervention Tool Kit  version 5.1
 
Loading...
Searching...
No Matches
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-2023 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