00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #ifndef __CR_NUM_H__
00035 #define __CR_NUM_H__
00036
00037 #include <glib.h>
00038 #include "cr-utils.h"
00039
00040 G_BEGIN_DECLS
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056 enum CRNumType
00057 {
00058 NUM_AUTO = 0,
00059 NUM_GENERIC,
00060 NUM_LENGTH_EM,
00061 NUM_LENGTH_EX,
00062 NUM_LENGTH_PX,
00063 NUM_LENGTH_IN,
00064 NUM_LENGTH_CM,
00065 NUM_LENGTH_MM,
00066 NUM_LENGTH_PT,
00067 NUM_LENGTH_PC,
00068 NUM_ANGLE_DEG,
00069 NUM_ANGLE_RAD,
00070 NUM_ANGLE_GRAD,
00071 NUM_TIME_MS,
00072 NUM_TIME_S,
00073 NUM_FREQ_HZ,
00074 NUM_FREQ_KHZ,
00075 NUM_PERCENTAGE,
00076 NUM_UNKNOWN_TYPE
00077 } ;
00078
00079
00080
00081
00082
00083
00084 typedef struct _CRNum CRNum ;
00085
00086
00087
00088
00089
00090 struct _CRNum
00091 {
00092 enum CRNumType type ;
00093 gdouble val ;
00094 } ;
00095
00096 CRNum *
00097 cr_num_new (void) ;
00098
00099 CRNum *
00100 cr_num_new_with_val (gdouble a_val,
00101 enum CRNumType a_type) ;
00102
00103 CRNum *
00104 cr_num_dup (CRNum *a_this) ;
00105
00106 guchar *
00107 cr_num_to_string (CRNum *a_this) ;
00108
00109 void
00110 cr_num_set_type (CRNum *a_this, enum CRNumType a_type) ;
00111
00112 enum CRStatus
00113 cr_num_copy (CRNum *a_dest, CRNum *a_src) ;
00114
00115 enum CRStatus
00116 cr_num_set (CRNum *a_this, gdouble a_val,
00117 enum CRNumType a_type) ;
00118
00119 gboolean
00120 cr_num_is_fixed_length (CRNum *a_this) ;
00121
00122 void
00123 cr_num_destroy (CRNum *a_this) ;
00124
00125
00126 G_END_DECLS
00127
00128
00129 #endif