![]() | ![]() | ![]() | Gwyddion Widgets Library Reference Manual | ![]() |
---|
GwyVectorLayerGwyVectorLayer — Base class for GwyDataView vector (interactive) layers |
GwyVectorLayer; GwyVectorLayerClass; void gwy_vector_layer_draw (GwyVectorLayer *layer, GdkDrawable *drawable); gboolean gwy_vector_layer_button_press (GwyVectorLayer *layer, GdkEventButton *event); gboolean gwy_vector_layer_button_release (GwyVectorLayer *layer, GdkEventButton *event); gboolean gwy_vector_layer_motion_notify (GwyVectorLayer *layer, GdkEventMotion *event); gboolean gwy_vector_layer_key_press (GwyVectorLayer *layer, GdkEventKey *event); gboolean gwy_vector_layer_key_release (GwyVectorLayer *layer, GdkEventKey *event); void gwy_vector_layer_selection_finished (GwyVectorLayer *layer); gint gwy_vector_layer_get_selection (GwyVectorLayer *layer, gdouble *selection); void gwy_vector_layer_set_selection (GwyVectorLayer *layer, gint nselected, gdouble *selection); void gwy_vector_layer_unselect (GwyVectorLayer *layer); GtkUpdateType gwy_vector_layer_get_update_policy (GwyVectorLayer *layer); void gwy_vector_layer_set_update_policy (GwyVectorLayer *layer, GtkUpdateType policy); void gwy_vector_layer_updated (GwyVectorLayer *layer); void gwy_vector_layer_setup_gc (GwyVectorLayer *layer);
"selection-finished" void user_function (GwyVectorLayer *gwyvectorlayer, gpointer user_data);
typedef struct { GwyDataViewLayerClass parent_class; /* renderers */ void (*draw)(GwyVectorLayer *layer, GdkDrawable *drawable); /* events */ gboolean (*button_press)(GwyVectorLayer *layer, GdkEventButton *event); gboolean (*button_release)(GwyVectorLayer *layer, GdkEventButton *event); gboolean (*motion_notify)(GwyVectorLayer *layer, GdkEventMotion *event); gboolean (*key_press)(GwyVectorLayer *layer, GdkEventKey *event); gboolean (*key_release)(GwyVectorLayer *layer, GdkEventKey *event); /* signal functions */ void (*selection_finished)(GwyVectorLayer *layer); /* selection */ gint (*get_selection)(GwyVectorLayer *layer, gdouble *selection); void (*set_selection)(GwyVectorLayer *layer, gint nselected, gdouble *selection); void (*unselect)(GwyVectorLayer *layer); gpointer reserved1; gpointer reserved2; } GwyVectorLayerClass;
void gwy_vector_layer_draw (GwyVectorLayer *layer, GdkDrawable *drawable);
Draws layer on given drawable (which should be a GwyDataView window).
layer : | A vector data view layer. |
drawable : | A drawable to draw on. |
gboolean gwy_vector_layer_button_press (GwyVectorLayer *layer, GdkEventButton *event);
Sends a mouse button press event to a layer.
layer : | A vector data view layer. |
event : | A Gdk mouse button event. |
Returns : | TRUE if the event was handled. In practice, it returns FALSE. |
gboolean gwy_vector_layer_button_release (GwyVectorLayer *layer, GdkEventButton *event);
Sends a mouse button release event to a layer.
layer : | A vector data view layer. |
event : | A Gdk mouse button event. |
Returns : | TRUE if the event was handled. In practice, it returns FALSE. |
gboolean gwy_vector_layer_motion_notify (GwyVectorLayer *layer, GdkEventMotion *event);
Sends a mouse pointer motion notification event to a layer.
layer : | A vector data view layer. |
event : | A Gdk mouse pointer motion notification event. |
Returns : | TRUE if the event was handled. In practice, it returns FALSE. |
gboolean gwy_vector_layer_key_press (GwyVectorLayer *layer, GdkEventKey *event);
Sends a key press event to a layer.
layer : | A vector data view layer. |
event : | A Gdk key event. |
Returns : | TRUE if the event was handled. In practice, it returns FALSE. |
gboolean gwy_vector_layer_key_release (GwyVectorLayer *layer, GdkEventKey *event);
Sends a key release event to a layer.
layer : | A vector data view layer. |
event : | A Gdk key event. |
Returns : | TRUE if the event was handled. In practice, it returns FALSE. |
void gwy_vector_layer_selection_finished (GwyVectorLayer *layer);
Emits a "selection_finished" singal on a layer.
layer : | A vector data view layer. |
gint gwy_vector_layer_get_selection (GwyVectorLayer *layer, gdouble *selection);
Obtains the selection.
The selection is a sequence of coordinates whose precise interpretation is layer-dependent.
layer : | A vector data view layer. |
selection : | An array where the coordinates should be stored in, or NULL to get only the number of selected objects. If not NULL it must be long enough to hold all the coordinates. |
Returns : | The number of selected objects. Usually this is NOT the number of coordinates in selection (a point takes two coordinates, a line four) |
void gwy_vector_layer_set_selection (GwyVectorLayer *layer, gint nselected, gdouble *selection);
Sets the selection.
Do not use this function while user is drawing a selection.
See gwy_vector_layer_get_selection() for some selection format discussion.
layer : | A vector data view layer. |
nselected : | The number of objects in selection. |
selection : | An array with the selection coordinates. The number of objects (not coordinates) there is nselected. |
void gwy_vector_layer_unselect (GwyVectorLayer *layer);
Clears the selection.
Do not use this function while user is drawing a selection.
layer : | A vector data view layer. |
GtkUpdateType gwy_vector_layer_get_update_policy (GwyVectorLayer *layer);
Returns the update policy of a vector layer layer.
layer : | A vector data view layer. |
Returns : | The update policy. |
void gwy_vector_layer_set_update_policy (GwyVectorLayer *layer, GtkUpdateType policy);
Sets update policy for a vector layer layer.
layer : | A vector data view layer. |
policy : | the update policy the vector layer should use. |
void gwy_vector_layer_updated (GwyVectorLayer *layer);
Maybe emit the "updated" signal on layer.
Unlike gwy_data_view_layer_updated(), this function honours vector layer update policy, so the "update" signal may not be actually emited right now.
layer : | A vector data view layer. |
void gwy_vector_layer_setup_gc (GwyVectorLayer *layer);
Sets up Gdk graphic context of the vector layer for its parent window.
This function is intended only for layer implementation.
layer : | A vector data view layer. |
"update-policy" GtkUpdateType : Read / Write
When value change causes signal emission.
Default value: GTK_UPDATE_CONTINUOUS
void user_function (GwyVectorLayer *gwyvectorlayer, gpointer user_data);
The ::selection-finished signal is emitted when user finishes a selection (stops dragging, selects enough points, etc., the pecise meaning depends on how particular subclasses define it).
gwyvectorlayer : | The GwyVectorLayer which received the signal. |
user_data : | user data set when the signal handler was connected. |
<< GwyPixmapLayer | GwyLayerBasic >> |