void gimp_display_shell_items_init (GimpDisplayShell *shell) { g_return_if_fail (GIMP_IS_DISPLAY_SHELL (shell)); shell->canvas_item = gimp_canvas_group_new (shell); shell->passe_partout = gimp_canvas_passe_partout_new (shell, 0, 0, 0, 0); gimp_canvas_item_set_visible (shell->passe_partout, FALSE); gimp_display_shell_add_item (shell, shell->passe_partout); g_object_unref (shell->passe_partout); shell->preview_items = gimp_canvas_group_new (shell); gimp_display_shell_add_item (shell, shell->preview_items); g_object_unref (shell->preview_items); shell->vectors = gimp_canvas_proxy_group_new (shell); gimp_display_shell_add_item (shell, shell->vectors); g_object_unref (shell->vectors); shell->grid = gimp_canvas_grid_new (shell, NULL); gimp_canvas_item_set_visible (shell->grid, FALSE); g_object_set (shell->grid, "grid-style", TRUE, NULL); gimp_display_shell_add_item (shell, shell->grid); g_object_unref (shell->grid); shell->guides = gimp_canvas_proxy_group_new (shell); gimp_display_shell_add_item (shell, shell->guides); g_object_unref (shell->guides); shell->sample_points = gimp_canvas_proxy_group_new (shell); gimp_display_shell_add_item (shell, shell->sample_points); g_object_unref (shell->sample_points); shell->layer_boundary = gimp_canvas_layer_boundary_new (shell); gimp_canvas_item_set_visible (shell->layer_boundary, FALSE); gimp_display_shell_add_item (shell, shell->layer_boundary); g_object_unref (shell->layer_boundary); shell->tool_items = gimp_canvas_group_new (shell); gimp_display_shell_add_item (shell, shell->tool_items); g_object_unref (shell->tool_items); g_signal_connect (shell->canvas_item, "update", G_CALLBACK (gimp_display_shell_item_update), shell); shell->unrotated_item = gimp_canvas_group_new (shell); shell->cursor = gimp_canvas_cursor_new (shell); gimp_canvas_item_set_visible (shell->cursor, FALSE); gimp_display_shell_add_unrotated_item (shell, shell->cursor); g_object_unref (shell->cursor); g_signal_connect (shell->unrotated_item, "update", G_CALLBACK (gimp_display_shell_unrotated_item_update), shell); }
void gimp_draw_tool_add_preview (GimpDrawTool *draw_tool, GimpCanvasItem *item) { g_return_if_fail (GIMP_IS_DRAW_TOOL (draw_tool)); g_return_if_fail (GIMP_IS_CANVAS_ITEM (item)); if (! draw_tool->preview) draw_tool->preview = gimp_canvas_group_new (gimp_display_get_shell (draw_tool->display)); gimp_canvas_group_add_item (GIMP_CANVAS_GROUP (draw_tool->preview), item); }
GimpCanvasGroup * gimp_draw_tool_add_fill_group (GimpDrawTool *draw_tool) { GimpCanvasItem *item; g_return_val_if_fail (GIMP_IS_DRAW_TOOL (draw_tool), NULL); item = gimp_canvas_group_new (gimp_display_get_shell (draw_tool->display)); gimp_canvas_group_set_group_filling (GIMP_CANVAS_GROUP (item), TRUE); gimp_draw_tool_add_item (draw_tool, item); g_object_unref (item); return GIMP_CANVAS_GROUP (item); }
void gimp_draw_tool_add_item (GimpDrawTool *draw_tool, GimpCanvasItem *item) { GimpCanvasGroup *group; g_return_if_fail (GIMP_IS_DRAW_TOOL (draw_tool)); g_return_if_fail (GIMP_IS_CANVAS_ITEM (item)); if (! draw_tool->item) draw_tool->item = gimp_canvas_group_new (gimp_display_get_shell (draw_tool->display)); group = GIMP_CANVAS_GROUP (draw_tool->item); if (draw_tool->group_stack) group = draw_tool->group_stack->data; gimp_canvas_group_add_item (group, item); }