GtkRuler

GtkRuler — Base class for horizontal or vertical rulers

Synopsis


#include <gtk/gtk.h>

                    GtkRuler;
                    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
   +----GInitiallyUnowned
         +----GtkObject
               +----GtkWidget
                     +----GtkRuler
                           +----GtkHRuler
                           +----GtkVRuler

Implemented Interfaces

GtkRuler implements AtkImplementorIface and GtkBuildable.

Properties

  "lower"                    gdouble               : Read / Write
  "max-size"                 gdouble               : Read / Write
  "metric"                   GtkMetricType         : Read / Write
  "position"                 gdouble               : Read / Write
  "upper"                    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 horizontal 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

GtkRuler

typedef struct _GtkRuler 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.)


GtkRulerMetric

typedef struct {
  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 */
} GtkRulerMetric;

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.

ruler : the gtkruler
lower : the lower limit of the ruler
upper : the upper limit of the ruler
position : the mark on the ruler
max_size : the maximum size of the ruler used when calculating the space to leave for the text

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.

Property Details

The "lower" property

  "lower"                    gdouble               : Read / Write

Lower limit of ruler.

Default value: 0


The "max-size" property

  "max-size"                 gdouble               : Read / Write

Maximum size of the ruler.

Default value: 0


The "metric" property

  "metric"                   GtkMetricType         : Read / Write

The metric used for the ruler.

Default value: GTK_PIXELS

Since 2.8


The "position" property

  "position"                 gdouble               : Read / Write

Position of mark on the ruler.

Default value: 0


The "upper" property

  "upper"                    gdouble               : Read / Write

Upper limit of ruler.

Default value: 0

See Also

GtkHRuler, GtkVRuler