static void gimp_foreground_select_tool_set_mask (GimpForegroundSelectTool *fg_select, GimpDisplay *display, GimpChannel *mask) { GimpTool *tool = GIMP_TOOL (fg_select); GimpForegroundSelectOptions *options; options = GIMP_FOREGROUND_SELECT_TOOL_GET_OPTIONS (tool); if (fg_select->mask == mask) return; if (fg_select->mask) { g_object_unref (fg_select->mask); fg_select->mask = NULL; } if (mask) { GimpRGB color; fg_select->mask = g_object_ref (mask); gimp_foreground_select_options_get_mask_color (options, &color); gimp_display_shell_set_mask (gimp_display_get_shell (display), GIMP_DRAWABLE (mask), &color); } else { gimp_display_shell_set_mask (gimp_display_get_shell (display), NULL, NULL); } if (mask) { gimp_tool_control_set_tool_cursor (tool->control, GIMP_TOOL_CURSOR_PAINTBRUSH); gimp_tool_control_set_toggle_tool_cursor (tool->control, GIMP_TOOL_CURSOR_ERASER); gimp_tool_control_set_toggled (tool->control, options->background); } else { gimp_tool_control_set_tool_cursor (tool->control, GIMP_TOOL_CURSOR_FREE_SELECT); gimp_tool_control_set_toggle_tool_cursor (tool->control, GIMP_TOOL_CURSOR_FREE_SELECT); gimp_tool_control_set_toggled (tool->control, FALSE); } }
static void gimp_foreground_select_tool_drop_masks (GimpForegroundSelectTool *fg_select, GimpDisplay *display) { GimpTool *tool = GIMP_TOOL (fg_select); if (fg_select->trimap) { g_object_unref (fg_select->trimap); fg_select->trimap = NULL; } if (fg_select->mask) { g_object_unref (fg_select->mask); fg_select->mask = NULL; } if (GIMP_IS_DISPLAY (display)) { gimp_display_shell_set_mask (gimp_display_get_shell (display), NULL, NULL); } gimp_tool_control_set_tool_cursor (tool->control, GIMP_TOOL_CURSOR_FREE_SELECT); gimp_tool_control_set_toggle_tool_cursor (tool->control, GIMP_TOOL_CURSOR_FREE_SELECT); gimp_tool_control_set_toggled (tool->control, FALSE); fg_select->state = MATTING_STATE_FREE_SELECT; }
static void gimp_foreground_select_tool_set_preview (GimpForegroundSelectTool *fg_select, GimpDisplay *display) { GimpTool *tool = GIMP_TOOL (fg_select); GimpForegroundSelectOptions *options; GimpRGB color; g_return_if_fail (fg_select->mask != NULL); options = GIMP_FOREGROUND_SELECT_TOOL_GET_OPTIONS (tool); gimp_foreground_select_options_get_mask_color (options, &color); gimp_display_shell_set_mask (gimp_display_get_shell (display), fg_select->mask, &color); gimp_tool_control_set_tool_cursor (tool->control, GIMP_TOOL_CURSOR_PAINTBRUSH); gimp_tool_control_set_toggle_tool_cursor (tool->control, GIMP_TOOL_CURSOR_PAINTBRUSH); gimp_tool_control_set_toggled (tool->control, FALSE); fg_select->state = MATTING_STATE_PREVIEW_MASK; }
static void gimp_dodge_burn_tool_init (GimpDodgeBurnTool *dodgeburn) { GimpTool *tool = GIMP_TOOL (dodgeburn); gimp_tool_control_set_tool_cursor (tool->control, GIMP_TOOL_CURSOR_DODGE); gimp_tool_control_set_toggle_tool_cursor (tool->control, GIMP_TOOL_CURSOR_BURN); gimp_dodge_burn_tool_status_update (tool, GIMP_BURN); }
static void gimp_flip_tool_init (GimpFlipTool *flip_tool) { GimpTool *tool = GIMP_TOOL (flip_tool); gimp_tool_control_set_snap_to (tool->control, FALSE); gimp_tool_control_set_precision (tool->control, GIMP_CURSOR_PRECISION_PIXEL_CENTER); gimp_tool_control_set_cursor (tool->control, GIMP_CURSOR_MOUSE); gimp_tool_control_set_toggle_cursor (tool->control, GIMP_CURSOR_MOUSE); gimp_tool_control_set_tool_cursor (tool->control, GIMP_TOOL_CURSOR_FLIP_HORIZONTAL); gimp_tool_control_set_toggle_tool_cursor (tool->control, GIMP_TOOL_CURSOR_FLIP_VERTICAL); flip_tool->guide = NULL; }
static void gimp_flip_tool_init (GimpFlipTool *flip_tool) { GimpTool *tool = GIMP_TOOL (flip_tool); GimpTransformTool *tr_tool = GIMP_TRANSFORM_TOOL (flip_tool); gimp_tool_control_set_snap_to (tool->control, FALSE); gimp_tool_control_set_precision (tool->control, GIMP_CURSOR_PRECISION_PIXEL_CENTER); gimp_tool_control_set_cursor (tool->control, GIMP_CURSOR_MOUSE); gimp_tool_control_set_toggle_cursor (tool->control, GIMP_CURSOR_MOUSE); gimp_tool_control_set_tool_cursor (tool->control, GIMP_TOOL_CURSOR_FLIP_HORIZONTAL); gimp_tool_control_set_toggle_tool_cursor (tool->control, GIMP_TOOL_CURSOR_FLIP_VERTICAL); tr_tool->undo_desc = C_("command", "Flip"); }