0776bc5680f98e66bc0ea00589e6c42288e14390
[scilab.git] / scilab / modules / graphics / sci_gateway / c / sci_zoom_rect.c
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2006 - ENPC - Jean-Philipe Chancelier
4  * Copyright (C) 2006 - INRIA - Fabrice Leray
5  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
6  * 
7  * This file must be used under the terms of the CeCILL.
8  * This source file is licensed as described in the file COPYING, which
9  * you should have received as part of this distribution.  The terms
10  * are also available at    
11  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
12  *
13  */
14
15 /*------------------------------------------------------------------------*/
16 /* file: sci_zoom_rect.c                                                  */
17 /* desc : interface for zoom_rect routine                                 */
18 /*------------------------------------------------------------------------*/
19
20 #include "sci_zoom_rect.h"
21 #include "stack-c.h"
22 #include "getPropertyAssignedValue.h"
23 #include "PloEch.h"
24 #include "BuildObjects.h"
25 #include "gw_graphics.h"
26 #include "axesScale.h"
27 #include "DrawingBridge.h"
28 #include "CurrentObjectsManagement.h"
29 #include "GraphicSynchronizerInterface.h"
30
31 /*--------------------------------------------------------------------------*/
32 int sci_zoom_rect(char *fname,unsigned long fname_len)
33 {
34   int m,n;
35   int stackPointer;
36   CheckRhs(0,1) ;
37   CheckLhs(0,1) ;
38   if (Rhs <= 0) 
39   {
40     zoom();
41   }
42   else
43   {
44     double * rectData = NULL;
45     sciPointObj * curFigure = NULL;
46     sciPointObj * curSubWin = NULL;
47
48
49     GetRhsVar(1,MATRIX_OF_DOUBLE_DATATYPE,&m,&n,&stackPointer); 
50     CheckLength(1,4,m*n);
51     /*sciZoom2D(sciGetCurrentSubWin(), getDoubleMatrixFromStack(stackPointer));*/
52     rectData = getDoubleMatrixFromStack(stackPointer);
53     
54     curFigure = sciGetCurrentFigure();
55     curSubWin = sciGetCurrentSubWin();
56
57     startFigureDataWriting(curFigure);
58     sciZoomRect(curSubWin, (int) rectData[0], (int) rectData[1],
59                 (int) rectData[2], (int) rectData[3]);
60     endFigureDataWriting(curFigure);
61
62     sciDrawObj(curSubWin);
63   }
64
65   LhsVar(1)=0; 
66   return 0;
67
68 /*--------------------------------------------------------------------------*/