## Gwy3DLabel

Gwy3DLabel — Label on Gwy3DView

## Synopsis

    #include <libgwydgets/gwydgets.h>

                        Gwy3DLabel;
                        Gwy3DLabelClass;
    Gwy3DLabel*         gwy_3d_label_new                    (const gchar *default_text);
    void                gwy_3d_label_set_text               (Gwy3DLabel *label,
                                                             const gchar *text);
    const gchar*        gwy_3d_label_get_text               (Gwy3DLabel *label);
    gchar*              gwy_3d_label_expand_text            (Gwy3DLabel *label,
                                                             GHashTable *variables);
    void                gwy_3d_label_reset                  (Gwy3DLabel *label);
    void                gwy_3d_label_reset_text             (Gwy3DLabel *label);
    gdouble             gwy_3d_label_user_size              (Gwy3DLabel *label,
                                                             gdouble user_size);

## Object Hierarchy

      GObject
       +----Gwy3DLabel

## Implemented Interfaces

Gwy3DLabel implements GwySerializable.

## Properties

      "default-text"             gchar*                : Read / Write / Construct Only
      "delta-x"                  gdouble               : Read / Write
      "delta-y"                  gdouble               : Read / Write
      "fixed-size"               gboolean              : Read / Write
      "rotation"                 gdouble               : Read / Write
      "size"                     gdouble               : Read / Write
      "text"                     gchar*                : Read / Write

## Description

## Details

### Gwy3DLabel

    typedef struct _Gwy3DLabel Gwy3DLabel;

### Gwy3DLabelClass

    typedef struct {
        GObjectClass parent_class;

        void (*reserved1)(void);
        void (*reserved2)(void);
    } Gwy3DLabelClass;

### gwy_3d_label_new ()

    Gwy3DLabel*         gwy_3d_label_new                    (const gchar *default_text);

Creates a new 3D view label.

`default_text` : | Label default text.
Returns : | A newly created 3D label.

### gwy_3d_label_set_text ()

    void                gwy_3d_label_set_text               (Gwy3DLabel *label,
                                                             const gchar *text);

Sets the text of a 3D label.

`label` : | A 3D label.
`text` : | New label text.

### gwy_3d_label_get_text ()

    const gchar*        gwy_3d_label_get_text               (Gwy3DLabel *label);

Gets the text of a 3D label.

`label` : | A 3D label.
Returns : | The label text. The returned string is owned by label and must no be modified or freed.

### gwy_3d_label_expand_text ()

    gchar*              gwy_3d_label_expand_text            (Gwy3DLabel *label,
                                                             GHashTable *variables);

Substitutes variables in label text.

`label` : | A 3D label.
`variables` : | Hash table with variable values.
Returns : | A newly allocated string with variables from `variables` substituted with values.

### gwy_3d_label_reset ()

    void                gwy_3d_label_reset                  (Gwy3DLabel *label);

Resets all 3D label properties and text to default values.

`label` : | A 3D label.

### gwy_3d_label_reset_text ()

    void                gwy_3d_label_reset_text             (Gwy3DLabel *label);

Resets 3D label text to default values.

`label` : | A 3D label.

### gwy_3d_label_user_size ()

    gdouble             gwy_3d_label_user_size              (Gwy3DLabel *label,
                                                             gdouble user_size);

Eventually sets size of a 3D label.

If label size si fixed, it does not change and it is simply returned. Otherwise label size is changed and `user_size` itself is returned.

`label` : | A 3D label.
`user_size` : | Size of the text to be set.
Returns : | Size of label.

## Property Details

### The `"default-text"` property

      "default-text"             gchar*                : Read / Write / Construct Only

Default label text.

Default value: ""

### The `"delta-x"` property

      "delta-x"                  gdouble               : Read / Write

The :delta-x property represents horizontal label offset in pixels (in screen coordinates after mapping from 3D to 2D).

Allowed values: [-1000,1000]

Default value: 0

### The `"delta-y"` property

      "delta-y"                  gdouble               : Read / Write

The :delta-y property represents vertical label offset in pixels (in screen coordinates after mapping from 3D to 2D).

Allowed values: [-1000,1000]

Default value: 0

### The `"fixed-size"` property

      "fixed-size"               gboolean              : Read / Write

The :fixed-size property controls whether the :size property is kept and honoured, or conversely ignored and overwritten with automatic size.

Default value: FALSE

### The `"rotation"` property

      "rotation"                 gdouble               : Read / Write

The :rotation property represents label rotation in radians, counterclokwise (on screen, after mapping from 3D to 2D).

Allowed values: [-3.14159,3.14159]

Default value: 0

### The `"size"` property

      "size"                     gdouble               : Read / Write

The :size property represents label size in pixels. When :fixed_size is `FALSE`, its value is overwritten with automatic size.

Allowed values: [1,100]

Default value: 14

### The `"text"` property

      "text"                     gchar*                : Read / Write

The label text template.

Default value: ""