gimpunit

gimpunit — Provides a collection of predefined units and functions for creating user-defined units.

Synopsis

enum                GimpUnit;
gint                gimp_unit_get_number_of_units       (void);
gint                gimp_unit_get_number_of_built_in_units
                                                        (void);
GimpUnit            gimp_unit_new                       (gchar *identifier,
                                                         gdouble factor,
                                                         gint digits,
                                                         gchar *symbol,
                                                         gchar *abbreviation,
                                                         gchar *singular,
                                                         gchar *plural);
gboolean            gimp_unit_get_deletion_flag         (GimpUnit unit);
void                gimp_unit_set_deletion_flag         (GimpUnit unit,
                                                         gboolean deletion_flag);
gdouble             gimp_unit_get_factor                (GimpUnit unit);
gint                gimp_unit_get_digits                (GimpUnit unit);
const gchar *       gimp_unit_get_identifier            (GimpUnit unit);
const gchar *       gimp_unit_get_symbol                (GimpUnit unit);
const gchar *       gimp_unit_get_abbreviation          (GimpUnit unit);
const gchar *       gimp_unit_get_singular              (GimpUnit unit);
const gchar *       gimp_unit_get_plural                (GimpUnit unit);
gchar *             gimp_unit_format_string             (const gchar *format,
                                                         GimpUnit unit);
gdouble             gimp_pixels_to_units                (gdouble pixels,
                                                         GimpUnit unit,
                                                         gdouble resolution);
gdouble             gimp_units_to_pixels                (gdouble value,
                                                         GimpUnit unit,
                                                         gdouble resolution);
gdouble             gimp_units_to_points                (gdouble value,
                                                         GimpUnit unit,
                                                         gdouble resolution);
#define             GIMP_TYPE_UNIT
#define             GIMP_TYPE_PARAM_UNIT
#define             GIMP_IS_PARAM_SPEC_UNIT             (pspec)
GParamSpec *        gimp_param_spec_unit                (const gchar *name,
                                                         const gchar *nick,
                                                         const gchar *blurb,
                                                         gboolean allow_pixels,
                                                         gboolean allow_percent,
                                                         GimpUnit default_value,
                                                         GParamFlags flags);
#define             GIMP_VALUE_HOLDS_UNIT               (value)

Description

Provides a collection of predefined units and functions for creating user-defined units.

Details

enum GimpUnit

typedef enum {
  GIMP_UNIT_PIXEL   = 0,

  GIMP_UNIT_INCH    = 1,
  GIMP_UNIT_MM      = 2,
  GIMP_UNIT_POINT   = 3,
  GIMP_UNIT_PICA    = 4,

  GIMP_UNIT_END     = 5,

  GIMP_UNIT_PERCENT = 65536 /*< pdb-skip >*/
} GimpUnit;


gimp_unit_get_number_of_units ()

gint                gimp_unit_get_number_of_units       (void);

Returns the number of units which are known to the GimpUnit system.

Returns :

The number of defined units.

gimp_unit_get_number_of_built_in_units ()

gint                gimp_unit_get_number_of_built_in_units
                                                        (void);

Returns the number of GimpUnit's which are hardcoded in the unit system (UNIT_INCH, UNIT_MM, UNIT_POINT, UNIT_PICA and the two "pseudo unit" UNIT_PIXEL).

Returns :

The number of built-in units.

gimp_unit_new ()

GimpUnit            gimp_unit_new                       (gchar *identifier,
                                                         gdouble factor,
                                                         gint digits,
                                                         gchar *symbol,
                                                         gchar *abbreviation,
                                                         gchar *singular,
                                                         gchar *plural);

Returns the integer ID of the new GimpUnit.

Note that a new unit is always created with it's deletion flag set to TRUE. You will have to set it to FALSE with gimp_unit_set_deletion_flag() to make the unit definition persistent.

identifier :

The unit's identifier string.

factor :

The unit's factor (how many units are in one inch).

digits :

The unit's suggested number of digits (see gimp_unit_get_digits()).

symbol :

The symbol of the unit (e.g. "''" for inch).

abbreviation :

The abbreviation of the unit.

singular :

The singular form of the unit.

plural :

The plural form of the unit.

Returns :

The ID of the new unit.

gimp_unit_get_deletion_flag ()

gboolean            gimp_unit_get_deletion_flag         (GimpUnit unit);

unit :

The unit you want to know the deletion_flag of.

Returns :

The unit's deletion_flag.

gimp_unit_set_deletion_flag ()

void                gimp_unit_set_deletion_flag         (GimpUnit unit,
                                                         gboolean deletion_flag);

Sets a GimpUnit's deletion_flag. If the deletion_flag of a unit is TRUE when GIMP exits, this unit will not be saved in the users's "unitrc" file.

Trying to change the deletion_flag of a built-in unit will be silently ignored.

unit :

The unit you want to set the deletion_flag for.

deletion_flag :

The new deletion_flag.

gimp_unit_get_factor ()

gdouble             gimp_unit_get_factor                (GimpUnit unit);

A GimpUnit's factor is defined to be:

distance_in_units == (factor * distance_in_inches)

Returns 0 for unit == GIMP_UNIT_PIXEL.

unit :

The unit you want to know the factor of.

Returns :

The unit's factor.

gimp_unit_get_digits ()

gint                gimp_unit_get_digits                (GimpUnit unit);

Returns the number of digits an entry field should provide to get approximately the same accuracy as an inch input field with two digits.

Returns 0 for unit == GIMP_UNIT_PIXEL.

unit :

The unit you want to know the digits.

Returns :

The suggested number of digits.

gimp_unit_get_identifier ()

const gchar *       gimp_unit_get_identifier            (GimpUnit unit);

This is an unstranslated string and must not be changed or freed.

unit :

The unit you want to know the identifier of.

Returns :

The unit's identifier.

gimp_unit_get_symbol ()

const gchar *       gimp_unit_get_symbol                (GimpUnit unit);

This is e.g. "''" for UNIT_INCH.

NOTE: This string must not be changed or freed.

unit :

The unit you want to know the symbol of.

Returns :

The unit's symbol.

gimp_unit_get_abbreviation ()

const gchar *       gimp_unit_get_abbreviation          (GimpUnit unit);

For built-in units, this function returns the translated abbreviation of the unit.

NOTE: This string must not be changed or freed.

unit :

The unit you want to know the abbreviation of.

Returns :

The unit's abbreviation.

gimp_unit_get_singular ()

const gchar *       gimp_unit_get_singular              (GimpUnit unit);

For built-in units, this function returns the translated singular form of the unit's name.

NOTE: This string must not be changed or freed.

unit :

The unit you want to know the singular form of.

Returns :

The unit's singular form.

gimp_unit_get_plural ()

const gchar *       gimp_unit_get_plural                (GimpUnit unit);

For built-in units, this function returns the translated plural form of the unit's name.

NOTE: This string must not be changed or freed.

unit :

The unit you want to know the plural form of.

Returns :

The unit's plural form.

gimp_unit_format_string ()

gchar *             gimp_unit_format_string             (const gchar *format,
                                                         GimpUnit unit);

The format string supports the following percent expansions:

% f Factor (how many units make up an inch)
% y Symbol (e.g. "''" for GIMP_UNIT_INCH)
% a Abbreviation
% s Singular
% p Plural
%% Literal percent

format :

A printf-like format string which is used to create the unit string.

unit :

A unit.

Returns :

A newly allocated string with above percent expressions replaced with the resp. strings for unit.

Since GIMP 2.8


gimp_pixels_to_units ()

gdouble             gimp_pixels_to_units                (gdouble pixels,
                                                         GimpUnit unit,
                                                         gdouble resolution);

Converts a value specified in pixels to unit.

pixels :

value in pixels

unit :

unit to convert to

resolution :

resloution in DPI

Returns :

pixels converted to units.

Since GIMP 2.8


gimp_units_to_pixels ()

gdouble             gimp_units_to_pixels                (gdouble value,
                                                         GimpUnit unit,
                                                         gdouble resolution);

Converts a value specified in unit to pixels.

value :

value in units

unit :

unit of value

resolution :

resloution in DPI

Returns :

value converted to pixels.

Since GIMP 2.8


gimp_units_to_points ()

gdouble             gimp_units_to_points                (gdouble value,
                                                         GimpUnit unit,
                                                         gdouble resolution);

Converts a value specified in unit to points.

value :

value in units

unit :

unit of value

resolution :

resloution in DPI

Returns :

value converted to points.

Since GIMP 2.8


GIMP_TYPE_UNIT

#define GIMP_TYPE_UNIT               (gimp_unit_get_type ())

GIMP_TYPE_UNIT is a GType derived from G_TYPE_INT.


GIMP_TYPE_PARAM_UNIT

#define GIMP_TYPE_PARAM_UNIT              (gimp_param_unit_get_type ())


GIMP_IS_PARAM_SPEC_UNIT()

#define GIMP_IS_PARAM_SPEC_UNIT(pspec)    (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), GIMP_TYPE_PARAM_UNIT))


gimp_param_spec_unit ()

GParamSpec *        gimp_param_spec_unit                (const gchar *name,
                                                         const gchar *nick,
                                                         const gchar *blurb,
                                                         gboolean allow_pixels,
                                                         gboolean allow_percent,
                                                         GimpUnit default_value,
                                                         GParamFlags flags);

Creates a param spec to hold a units param. See g_param_spec_internal() for more information.

name :

Canonical name of the param

nick :

Nickname of the param

blurb :

Brief desciption of param.

allow_pixels :

Whether "pixels" is an allowed unit.

allow_percent :

Whether "perecent" is an allowed unit.

default_value :

Unit to use if none is assigned.

flags :

a combination of GParamFlags

Returns :

a newly allocated GParamSpec instance

Since GIMP 2.4


GIMP_VALUE_HOLDS_UNIT()

#define GIMP_VALUE_HOLDS_UNIT(value) (G_TYPE_CHECK_VALUE_TYPE ((value), GIMP_TYPE_UNIT))

See Also

GimpUnitMenu, GimpSizeEntry.