Remove graphics.h file.
[scilab.git] / scilab / modules / graphics / includes / Format.h
1 /*------------------------------------------------------------------------
2 *    Graphic library
3 *    Copyright (C) 1998-2001 Enpc/Jean-Philippe Chancelier
4 *    Copyright INRIA 2006
5 *    Jean-Baptiste Silvy
6 *    Axis drawing for 2d plots (format selection) 
7 --------------------------------------------------------------------------*/
8
9 #ifndef _FORMAT_H_
10 #define _FORMAT_H_
11
12 #include "ObjectStructure.h"
13 #include "StringMatrix.h"
14
15 int C2F(graduate)(double *xmi, double *xma, double *xi, double *xa, integer *np1, integer *np2, integer *kminr, integer *kmaxr, integer *ar) ;
16
17 int ComputeC_format( sciPointObj * pobj, char * c_format ) ;
18
19 int ComputeXIntervals( sciPointObj * pobj, char xy_type, double ** vector, int * N, int checkdim ) ;
20
21 StringMatrix * computeDefaultTicsLabels( sciPointObj * pobj ) ;
22
23 int ChooseGoodFormat( char * c_format,char logflag, double *_grads,int n_grads ) ;
24
25 /**
26  * same as ChoixFormatE when numbers are given through an 
27  * array xx[0:nx-1];
28  */
29 void ChoixFormatE1(char *fmt, double *xx, integer nx) ;
30
31 /**
32  * ChoixFormatE returns a format ("%.*f" or "%.*e")
33  * in fmt given xmin,xmax,pas. 
34  *   fmt : character string 
35  * fmt gives a format which can be used to display
36  * number in range xmin:step:xmax  
37  * Exemple : ChoixFormatE(format,min,max,step);
38  *           fprintf(format,min+k*step);
39  * The format is searched so as to give distinct values 
40  * for the numeric values xmin + k*xpas in [xmin,xmax] 
41  * and give enough precision. 
42  */
43 void ChoixFormatE(char *fmt, double xmin, double xmax, double xpas) ;
44
45 double * ReBuildTicksLog2Lin(char logflag, int nbtics, double *grads) ;
46
47 int ComputeXIntervals( sciPointObj * pobj, char xy_type, double ** vector, int * N, int checkdim ) ;
48
49 void correctBounds( double min, double max, double * lBound, double * uBound );
50 /**
51  * Create a new string which is the result the conversion of a double value
52  * using a certain format
53  * @param bufferSize size of the buffer used to store the store before the copying
54  *                   it to the result. It must greater than the length of the returning string.
55  *                   and ideally the same length.
56  * @return the newly created strings, or NULL if an error occurred.
57  */
58 char * copyFormatedValue( double value, const char format[5], int bufferSize ) ;
59
60 /**
61 * Create a new string array which is the conversion of the doubles values. 
62 * @param bufferSize size of the buffer used to store the store before the copying
63 *                   it to the result. It must greater than the length of any of the strings.
64 *                   and ideally the maximum length.
65 */
66 char ** copyFormatedArray( const double values[], int nbStrings, const char format[5], int bufferSize ) ;
67
68 int TheTicks( double * xminv ,
69               double * xmaxv , 
70               double * grads , 
71               int    * ngrads,
72               int      compNgrads ) ;
73
74 int GradEqual( const double grads[], const int * ngrads) ;
75
76 #endif /* _FORMAT_H_ */