|  |  |  | GNOME Print Reference Manual |  | 
|---|---|---|---|---|
            GnomePrintUnit;
enum        GnomePrintUnitBase;
#define     GNOME_PRINT_PS_UNIT
#define     GNOME_PRINT_UNITS_ALL
const GnomePrintUnit* gnome_print_unit_get_identity
                                            (guint base);
const GnomePrintUnit* gnome_print_unit_get_default
                                            (void);
const GnomePrintUnit* gnome_print_unit_get_by_name
                                            (const guchar *name);
const GnomePrintUnit* gnome_print_unit_get_by_abbreviation
                                            (const guchar *abbreviation);
GList*      gnome_print_unit_get_list       (guint bases);
void        gnome_print_unit_free_list      (GList *units);
gboolean    gnome_print_convert_distance    (gdouble *distance,
                                             const GnomePrintUnit *from,
                                             const GnomePrintUnit *to);
gboolean    gnome_print_convert_distance_full
                                            (gdouble *distance,
                                             const GnomePrintUnit *from,
                                             const GnomePrintUnit *to,
                                             gdouble ctmscale,
                                             gdouble devicescale);
typedef struct {
	guint version : 8; /* Has to be 0 at moment */
	guint base : 8; /* Base */
	gdouble unittobase;
	/* I am not absolutely sure, but seems that gettext can do the magic */
	guchar *name;
	guchar *abbr;
	guchar *plural;
	guchar *abbr_plural;
} GnomePrintUnit;
typedef enum {
	GNOME_PRINT_UNIT_DIMENSIONLESS = (1 << 0), /* For percentages and like */
	GNOME_PRINT_UNIT_ABSOLUTE = (1 << 1),      /* Real world distances - i.e. mm, cm... */
	GNOME_PRINT_UNIT_DEVICE = (1 << 2),        /* Semi-real device-dependent distances i.e. pixels */
	GNOME_PRINT_UNIT_USERSPACE = (1 << 3)      /* Mathematical coordinates */
} GnomePrintUnitBase;
#define GNOME_PRINT_PS_UNIT (gnome_print_unit_get_identity (GNOME_PRINT_UNIT_ABSOLUTE))
The GnomePrintUnit structure that represents the absolute units.
#define GNOME_PRINT_UNITS_ALL (GNOME_PRINT_UNIT_DIMENSIONLESS | GNOME_PRINT_UNIT_ABSOLUTE | GNOME_PRINT_UNIT_DEVICE | GNOME_PRINT_UNIT_USERSPACE)
Convenience macro for all of the different GNOME_PRINT_UNIT_* macros.
const GnomePrintUnit* gnome_print_unit_get_identity (guint base);
Retrieves the GnomePrintUnit structure referenced by base base.
| base: | The base of the GnomePrintUnit to retrieve | 
| Returns : | The GnomePrintUnit structure representing base.NULLon error | 
const GnomePrintUnit* gnome_print_unit_get_default (void);
Used to get the default GnomePrintUnit structure.
| Returns : | A pointer to the default GnomePrintUnit structure | 
const GnomePrintUnit* gnome_print_unit_get_by_name (const guchar *name);
Get a unit based on its name, for example "Millimeter" or "Inches".
| name: | Name of the unit, as a string pointer | 
| Returns : | A constant pointer to a GnomePrintUnit, NULLon error | 
const GnomePrintUnit* gnome_print_unit_get_by_abbreviation (const guchar *abbreviation);
Get a unit based on its abbreviation, for example "cm" "pts" or "in".
| abbreviation: | Abbreviation of the unit, as a string pointer | 
| Returns : | A constant pointer to a GnomePrintUnit, NULLon error | 
GList* gnome_print_unit_get_list (guint bases);
Gets a list of the units represented by the bases bases.  To get
a list of all units then use GNOME_PRINT_UNITS_ALL.  The list that
is returned should be freed using gnome_print_unit_free_list.
void gnome_print_unit_free_list (GList *units);
Used to free the list of units created by gnome_print_unit_get_list.
| units: | A pointer to a GList to be freed | 
gboolean gnome_print_convert_distance (gdouble *distance, const GnomePrintUnit *from, const GnomePrintUnit *to);
Check whether a conversion between from and to can be made
gboolean gnome_print_convert_distance_full (gdouble *distance, const GnomePrintUnit *from, const GnomePrintUnit *to, gdouble ctmscale, gdouble devicescale);
Convert a distance from one unit to another. You should supply a scale as necessary.
ctmscale is userspace->absolute, devicescale is device->absolute