| 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. NULL on 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, NULL on 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, NULL on 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