## GwyDataViewLayer

GwyDataViewLayer — Layer GwyDataView is composed of

## Synopsis

    #include <libgwydgets/gwydgets.h>

                        GwyDataViewLayer;
                        GwyDataViewLayerClass;
    void                gwy_data_view_layer_plugged         (GwyDataViewLayer *layer);
    void                gwy_data_view_layer_unplugged       (GwyDataViewLayer *layer);
    void                gwy_data_view_layer_updated         (GwyDataViewLayer *layer);
    void                gwy_data_view_layer_realize         (GwyDataViewLayer *layer);
    void                gwy_data_view_layer_unrealize       (GwyDataViewLayer *layer);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkObject
                   +----GwyDataViewLayer
                         +----GwyPixmapLayer
                         +----GwyVectorLayer

## Signals

      "plugged"                                        : Run First
      "unplugged"                                      : Run First
      "updated"                                        : Run First

## Description

GwyDataViewLayer's are parts of GwyDataView. They are not widgets and they are not normally usable outside of a data view. The perform a specific visualization task: drawing the data, drawing mask, or drawing selection.

## Details

### GwyDataViewLayer

    typedef struct _GwyDataViewLayer GwyDataViewLayer;

### GwyDataViewLayerClass

    typedef struct {
        GtkObjectClass parent_class;

        /* Virtual table */
        void (*realize)(GwyDataViewLayer *layer);
        void (*unrealize)(GwyDataViewLayer *layer);

        /* Signals */
        void (*plugged)(GwyDataViewLayer *layer);
        void (*unplugged)(GwyDataViewLayer *layer);
        void (*updated)(GwyDataViewLayer *layer);

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

### gwy_data_view_layer_plugged ()

    void                gwy_data_view_layer_plugged         (GwyDataViewLayer *layer);

Emits a "plugged" singal on a layer.

Primarily intended for GwyDataView implementation.

`layer` : | A data view layer.

### gwy_data_view_layer_unplugged ()

    void                gwy_data_view_layer_unplugged       (GwyDataViewLayer *layer);

Emits a "unplugged" singal on a layer.

Primarily intended for GwyDataView implementation.

`layer` : | A data view layer.

### gwy_data_view_layer_updated ()

    void                gwy_data_view_layer_updated         (GwyDataViewLayer *layer);

Emits a "updated" singal on a layer.

`layer` : | A data view layer.

### gwy_data_view_layer_realize ()

    void                gwy_data_view_layer_realize         (GwyDataViewLayer *layer);

Tells a data view layer its parent was realized and it can create display-specific resources.

`layer` : | A data view layer.

### gwy_data_view_layer_unrealize ()

    void                gwy_data_view_layer_unrealize       (GwyDataViewLayer *layer);

Tells a data view layer its parent was unrealized and it should destroy display-specific resources.

`layer` : | A data view layer.

## Signal Details

### The `"plugged"` signal

    void                user_function                      (GwyDataViewLayer *gwydataviewlayer,
                                                            gpointer          user_data)             : Run First

The ::plugged signal is emitted when a GwyDataViewLayer is plugged into a GwyDataView.

`gwydataviewlayer` : | The GwyDataViewLayer which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The `"unplugged"` signal

    void                user_function                      (GwyDataViewLayer *gwydataviewlayer,
                                                            gpointer          user_data)             : Run First

The ::unplugged signal is emitted when a GwyDataViewLayer is removed from its GwyDataView.

`gwydataviewlayer` : | The GwyDataViewLayer which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The `"updated"` signal

    void                user_function                      (GwyDataViewLayer *gwydataviewlayer,
                                                            gpointer          user_data)             : Run First

The ::updated signal is emitted when a GwyDataViewLayer is updated; the exact means how a layer can be updated depends its type.

`gwydataviewlayer` : | The GwyDataViewLayer which received the signal.
`user_data` : | user data set when the signal handler was connected.

## See Also

GwyDataView -- data display widget, gwypixfield -- low level functions for painting data fields,