static void gimp_display_shell_sample_point_add_handler (GimpImage *image, GimpSamplePoint *sample_point, GimpDisplayShell *shell) { GimpCanvasProxyGroup *group = GIMP_CANVAS_PROXY_GROUP (shell->sample_points); GimpCanvasItem *item; GList *list; gint x; gint y; gint i; gimp_sample_point_get_position (sample_point, &x, &y); item = gimp_canvas_sample_point_new (shell, x, y, 0, TRUE); gimp_canvas_proxy_group_add_item (group, sample_point, item); g_object_unref (item); for (list = gimp_image_get_sample_points (image), i = 1; list; list = g_list_next (list), i++) { GimpSamplePoint *sample_point = list->data; item = gimp_canvas_proxy_group_get_item (group, sample_point); if (item) g_object_set (item, "index", i, NULL); } }
static void gimp_display_shell_guide_add_handler (GimpImage *image, GimpGuide *guide, GimpDisplayShell *shell) { GimpCanvasProxyGroup *group = GIMP_CANVAS_PROXY_GROUP (shell->guides); GimpCanvasItem *item; item = gimp_canvas_guide_new (shell, gimp_guide_get_orientation (guide), gimp_guide_get_position (guide), TRUE); gimp_canvas_proxy_group_add_item (group, guide, item); g_object_unref (item); }
static void gimp_display_shell_vectors_add_handler (GimpContainer *container, GimpVectors *vectors, GimpDisplayShell *shell) { GimpCanvasProxyGroup *group = GIMP_CANVAS_PROXY_GROUP (shell->vectors); GimpCanvasItem *item; item = gimp_canvas_path_new (shell, gimp_vectors_get_bezier (vectors), 0, 0, FALSE, GIMP_PATH_STYLE_VECTORS); gimp_canvas_item_set_visible (item, gimp_item_get_visible (GIMP_ITEM (vectors))); gimp_canvas_proxy_group_add_item (group, vectors, item); g_object_unref (item); }