Add interactive zoom_rect.
[scilab.git] / scilab / modules / graphics / includes / axesScale.h
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
4  * 
5  * This file must be used under the terms of the CeCILL.
6  * This source file is licensed as described in the file COPYING, which
7  * you should have received as part of this distribution.  The terms
8  * are also available at    
9  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10  *
11  */
12
13 /*------------------------------------------------------------------------*/
14 /* file: axesScale.h                                                      */
15 /* desc : Contains functions to compute scale changes in a specific       */
16 /*        subwindow.                                                      */
17 /*------------------------------------------------------------------------*/
18
19 #ifndef _AXES_SCALE_H_
20 #define _AXES_SCALE_H_
21
22 #include "ObjectStructure.h"
23
24 /*------------------------------------------------------------------------------*/
25 double InvAxis( double min, double max, double u ) ;
26 int ReverseDataFor3DXonly( sciPointObj * psubwin, double xvect[], int n1 ) ;
27 int ReverseDataFor3DYonly( sciPointObj * psubwin, double yvect[], int n1 ) ;
28 int ReverseDataFor3DZonly( sciPointObj * psubwin, double zvect[], int n1 ) ;
29 int ReverseDataFor3D(      sciPointObj * psubwin, double xvect[], double yvect[], double zvect[], int n1 ) ;
30 /*------------------------------------------------------------------------------*/
31 int trans3d( sciPointObj * pobj,
32              integer       n   ,
33              integer       xm[],
34              integer       ym[],
35              double        x[] ,
36              double        y[] ,
37              double        z[]  ) ;
38 /*------------------------------------------------------------------------------*/
39 int sciZoom2D(sciPointObj * pObj, const double zoomRect[4]);
40 int sciZoom3D(sciPointObj * pObj, const double zoomBox[6]);
41 void sciGetZoom3D(sciPointObj * pObj, double zoomBox[6]);
42 void sciZoomRect(void);
43 void sciUnzoom(sciPointObj * subwin);
44 void sciUnzoomAll(void);
45 void sciUnzoomArray(unsigned long * subwinHandles, int nbSubwin);
46 /*------------------------------------------------------------------------------*/
47 BOOL checkDataBounds(sciPointObj * pObj, double xMin, double xMax,
48                      double yMin, double yMax, double zMin, double zMax);
49 /*------------------------------------------------------------------------------*/
50
51
52 #endif /* _AXES_SCALE_H_ */