Avoid overloading of a Windows API function making compilation fail under Windows
[scilab.git] / scilab / modules / scicos_blocks / includes / scoMemoryScope.h
1 /*  Scicos
2 *
3 *  Copyright (C) INRIA - METALAU Project <scicos@inria.fr>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 *
19 * See the file ./license.txt
20 */
21 /**
22 \file scoMemoryScope.h
23 \author Benoit Bayol
24 \version 1.0
25 \date September 2006 - January 2007
26 \brief Header file of the scoMemoryScope.c file
27 */
28
29 #ifndef __SCO_MEMORYSCOPE_H__
30 #define __SCO_MEMORYSCOPE_H__
31
32 #include "dynlib_scicos_blocks.h"
33 #include"scoBase.h"
34
35 /**
36 \brief Initialization with scicos_malloc on the ScopeMemory and put in ScopeMemory the number_of_subwin and the number_of_curves_by_subwin
37 \param block a pointer on a scicos_block, typically the bloc in agument of the computational function
38 \param pScopeMemory a pointer on a pointer of a ScopeMemory, typically &pScopeMemory where pScopeMemory is a ScopeMemory *
39 \param number_of_subwin Number of Subwin in the whole Scope
40 \param number_of_curves_by_subwin Number of Curves for the subwin[i]
41 */
42 SCICOS_BLOCKS_IMPEXP void scoInitScopeMemory(void ** block_work, ScopeMemory ** pScopeMemory, int number_of_subwin, int * number_of_curves_by_subwin);
43
44 /**
45 \brief Retrieve the whole ScopeMemory and put in the pScopeMemory
46 \param block a pointer on a scicos_block, typically the bloc in agument of the computational function
47 \param pScopeMemory a pointer on a pointer of a ScopeMemory, typically &pScopeMemory where pScopeMemory is a ScopeMemory *
48 */
49 SCICOS_BLOCKS_IMPEXP void scoRetrieveScopeMemory(void ** block_work, ScopeMemory ** pScopeMemory);
50
51 /**
52 \brief Free the ScopeMemory which has been allocated by scicos_malloc in the scoInitScopeMemory
53 \param block a pointer on a scicos_block, typically the bloc in agument of the computational function
54 \param pScopeMemory a pointer on a pointer of a ScopeMemory, typically &pScopeMemory where pScopeMemory is a ScopeMemory *
55 */
56 SCICOS_BLOCKS_IMPEXP void scoFreeScopeMemory(void ** block_work, ScopeMemory ** pScopeMemory);
57
58 /**
59 \brief Realloc to extend the size of the longdraw in the memory
60 \param pLongDraw A pointer on the longdraw which needs to be reallocated
61 \param NbrPtsLong Current size of the longdraw
62 \param buffer_size Buffer size which would be added to the longdraw
63 \param plus An other buffer size which is a security
64 */
65 SCICOS_BLOCKS_IMPEXP void scoReallocLongDraw(scoGraphicalObject pLongDraw, int NbrPtsLong, int buffer_size, int plus);
66
67 #endif