1 /* Fo 2 * fo-length-range.h: length-range datatype 3 * 4 * Copyright (C) 2001 Sun Microsystems 5 * Copyright (C) 2007 Menteith Consulting Ltd 6 * 7 * See COPYING for the status of this software. 8 */ 9 10 #ifndef __FO_LENGTH_RANGE_H__ 11 #define __FO_LENGTH_RANGE_H__ 12 13 #include <libfo/fo-utils.h> 14 #include <libfo/datatype/fo-datatype.h> 15 16 G_BEGIN_DECLS 17 18 #define FO_TYPE_LENGTH_RANGE (fo_length_range_get_type ()) 19 #define FO_LENGTH_RANGE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), FO_TYPE_LENGTH_RANGE, FoLengthRange)) 20 #define FO_LENGTH_RANGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FO_TYPE_LENGTH_RANGE, FoLengthRangeClass)) 21 #define FO_IS_LENGTH_RANGE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), FO_TYPE_LENGTH_RANGE)) 22 #define FO_IS_LENGTH_RANGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FO_TYPE_LENGTH_RANGE)) 23 #define FO_LENGTH_RANGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FO_TYPE_LENGTH_RANGE, FoLengthRangeClass)) 24 25 26 typedef struct _FoLengthRange FoLengthRange; 27 typedef struct _FoLengthRangeClass FoLengthRangeClass; 28 29 GType fo_length_range_get_type (void) G_GNUC_CONST; 30 FoDatatype * fo_length_range_new_auto (void); 31 FoDatatype * fo_length_range_new_with_value (FoDatatype *datatype); 32 33 FoDatatype * fo_length_range_get_minimum (FoDatatype *datatype); 34 FoDatatype * fo_length_range_get_optimum (FoDatatype *datatype); 35 FoDatatype * fo_length_range_get_maximum (FoDatatype *datatype); 36 37 FoDatatype * fo_length_range_resolve (FoDatatype *shortform, 38 FoDatatype *minimum, 39 FoDatatype *optimum, 40 FoDatatype *maximum, 41 gfloat hundred_percent, 42 GError **error); 43 FoDatatype * fo_length_range_resolve_allow_auto (FoDatatype *shortform, 44 FoDatatype *minimum, 45 FoDatatype *optimum, 46 FoDatatype *maximum, 47 gfloat hundred_percent, 48 GError **error); 49 50 FoDatatype * fo_length_range_get_length_range_hundred_percent (void); 51 52 G_END_DECLS 53 54 #endif /* !__FO_LENGTH_RANGE_H__ */ 55