GTK+ Reference Manual
<<< Previous Page | Home | Up | Next Page >>>

# GtkRuler

## Name

GtkRuler -- Base class for horizontal or vertical rulers

## Synopsis

    #include <gtk/gtk.h>

    struct      GtkRuler;
    struct      GtkRulerMetric;
    void        gtk_ruler_set_metric            (GtkRuler *ruler,
                                                 GtkMetricType metric);
    void        gtk_ruler_set_range             (GtkRuler *ruler,
                                                 gdouble lower,
                                                 gdouble upper,
                                                 gdouble position,
                                                 gdouble max_size);
    GtkMetricType gtk_ruler_get_metric          (GtkRuler *ruler);
    void        gtk_ruler_get_range             (GtkRuler *ruler,
                                                 gdouble *lower,
                                                 gdouble *upper,
                                                 gdouble *position,
                                                 gdouble *max_size);

## Object Hierarchy

      GObject
       +----GtkObject
             +----GtkWidget
                   +----GtkRuler

## Properties

      "lower"                gdouble              : Read / Write
      "upper"                gdouble              : Read / Write
      "position"             gdouble              : Read / Write
      "max-size"             gdouble              : Read / Write

## Description

NOTE this widget is considered too specialized/little-used for GTK+, and will in the future be moved to some other package. If your application needs this widget, feel free to use it, as the widget does work and is useful in some applications; it's just not of general interest. However, we are not accepting new features for the widget, and it will eventually move out of the GTK+ distribution.

The GTKRuler widget is a base class for horizontal and vertical rulers. Rulers are used to show the mouse pointer's location in a window. The ruler can either be horizontal or vertical on the window. Within the ruler a small triangle indicates the location of the mouse relative to the horixontal or vertical ruler. See GtkHRuler to learn how to create a new horizontal ruler. See GtkVRuler to learn how to create a new vertical ruler.

## Details

### struct GtkRuler

    struct GtkRuler;

All distances are in 1/72nd's of an inch. (According to Adobe thats a point, but points are really 1/72.27 in.)

### struct GtkRulerMetric

    struct GtkRulerMetric
    {
      gchar *metric_name;
      gchar *abbrev;
      /* This should be points_per_unit. This is the size of the unit
       * in 1/72nd's of an inch and has nothing to do with screen pixels */
      gdouble pixels_per_unit;
      gdouble ruler_scale[10];
      gint subdivide[5];        /* five possible modes of subdivision */
    };

This should be points_per_unit. This is the size of the unit in 1/72nd's of an inch and has nothing to do with screen pixels.

### gtk_ruler_set_metric ()

    void        gtk_ruler_set_metric            (GtkRuler *ruler,
                                                 GtkMetricType metric);

This calls the GTKMetricType to set the ruler to units defined. Available units are GTK_PIXELS, GTK_INCHES, or GTK_CENTIMETERS. The default unit of measurement is GTK_PIXELS.

`ruler` : | the gtkruler
`metric` : | the unit of measurement

### gtk_ruler_set_range ()

    void        gtk_ruler_set_range             (GtkRuler *ruler,
                                                 gdouble lower,
                                                 gdouble upper,
                                                 gdouble position,
                                                 gdouble max_size);

This sets the range of the ruler using gfloat lower, gfloat upper, gfloat position, and gfloat max_size.

`ruler` : | the gtkruler
`lower` : | the upper limit of the ruler
`upper` : | the lower limit of the ruler
`position` : | the mark on the ruler
`max_size` : | the maximum size of the ruler

### gtk_ruler_get_metric ()

    GtkMetricType gtk_ruler_get_metric          (GtkRuler *ruler);

Gets the units used for a GtkRuler. See gtk_ruler_set_metric().

`ruler` : | a GtkRuler
Returns : | the units currently used for `ruler`

### gtk_ruler_get_range ()

    void        gtk_ruler_get_range             (GtkRuler *ruler,
                                                 gdouble *lower,
                                                 gdouble *upper,
                                                 gdouble *position,
                                                 gdouble *max_size);

Retrieves values indicating the range and current position of a GtkRuler. See gtk_ruler_set_range().

`ruler` : | a GtkRuler
`lower` : | location to store lower limit of the ruler, or `NULL`
`upper` : | location to store upper limit of the ruler, or `NULL`
`position` : | location to store the current position of the mark on the ruler, or `NULL`
`max_size` : | location to store the maximum size of the ruler used when calculating the space to leave for the text, or `NULL`.

## Properties

"`lower`" (gdouble : Read / Write)

  Lower limit of ruler

"`upper`" (gdouble : Read / Write)

  Upper limit of ruler

"`position`" (gdouble : Read / Write)

  Position of mark on the ruler

"`max-size`" (gdouble : Read / Write)

  Maximum size of the ruler

## See Also

GtkHRuler, GtkVRuler

<<< Previous Page | Home | Up | Next Page >>>
GtkGammaCurve | GtkHRuler