]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/include/MaracasDll.h
Support #1768 CREATIS Licence insertion
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / include / MaracasDll.h
1 /*# ---------------------------------------------------------------------
2 #
3 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
4 #                        pour la Sant�)
5 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
6 # Previous Authors : Laurent Guigues, Jean-Pierre Roux
7 # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
8 #
9 #  This software is governed by the CeCILL-B license under French law and
10 #  abiding by the rules of distribution of free software. You can  use,
11 #  modify and/ or redistribute the software under the terms of the CeCILL-B
12 #  license as circulated by CEA, CNRS and INRIA at the following URL
13 #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
14 #  or in the file LICENSE.txt.
15 #
16 #  As a counterpart to the access to the source code and  rights to copy,
17 #  modify and redistribute granted by the license, users are provided only
18 #  with a limited warranty  and the software's author,  the holder of the
19 #  economic rights,  and the successive licensors  have only  limited
20 #  liability.
21 #
22 #  The fact that you are presently reading this means that you have had
23 #  knowledge of the CeCILL-B license and that you accept its terms.
24 # ------------------------------------------------------------------------ */
25
26 #ifndef __CMARACASCONTROLLER_H_
27 #define __CMARACASCONTROLLER_H_
28
29 // The following ifdef block is the standard way of creating macros which make exporting 
30 // from a DLL simpler. All files within this DLL are compiled with the MaracasWin32Lib_EXPORTS
31 // symbol defined on the command line. this symbol should not be defined on any project
32 // that uses this DLL. This way any other project whose source files include this file see 
33 // MARACASDLL_API functions as being imported from a DLL, wheras this DLL sees symbols
34 // defined with this macro as being exported.
35 #ifdef MaracasWin32Lib_EXPORTS
36 #define MARACASDLL_API __declspec(dllexport)
37 #else
38 #define MARACASDLL_API __declspec(dllimport)
39 #endif
40 class wxMaracasApp;
41 // This class is exported from the MaracasWin32Lib.dll
42 class MARACASDLL_API CMaracasController {
43 public:
44         CMaracasController(void);
45         
46         ~CMaracasController();
47         
48         int RunMaracas(void);
49         
50         int ShowApp(int nCmdShow);
51         
52         int Reset();
53         
54         void GetSnapshot( unsigned int& rWidth,
55                      unsigned int& rHeight,
56                      unsigned char*& rpPixels ) /*const*/ ;
57
58         /*! \brief Notify the snapshot bitmap has been retrieved
59         */
60         int ReleaseSnapshot();
61         
62         /*! \brief Notify the resampled image has been retrieved
63         */
64         int OutputVolumeRetrieved();
65
66         void SetVolumeParams(int nX, int nY, int nSlices);
67
68         void SetSliceParams(float pixelSpacingColumn,
69                                                 float pixelSpacingRow,
70                                                 float pixelSpacingSlice,
71                                                 float RescaleSlope, 
72                                                 float RescaleIntercept);
73
74         void SetSlicePixels(int numSlice,unsigned short * pixels);
75
76 private :
77         wxMaracasApp    *m_pMarApp;
78         unsigned char   *_rpPixels; //Snapshot
79
80         unsigned short  *m_pSlicesPixels;
81         int                             m_nX;
82         int                             m_nY;
83         int                             m_nSlices;
84         float                   m_PixelSpacingColumn;
85         float                   m_PixelSpacingRow;
86         float                   m_PixelSpacingSlice;
87         float                   m_RescaleSlope;
88         float                   m_RescaleIntercept;
89 };
90
91
92 #endif // __CMARACASCONTROLLER_H_
93