void
gimp_foreground_select_options_get_mask_color (GimpForegroundSelectOptions *options,
                                               GimpRGB                     *color)
{
  g_return_if_fail (GIMP_IS_FOREGROUND_SELECT_OPTIONS (options));
  g_return_if_fail (color != NULL);

  switch (options->mask_color)
  {
    case GIMP_RED_CHANNEL:
      gimp_rgba_set (color, 1, 0, 0, 0.7);
      break;

    case GIMP_GREEN_CHANNEL:
      gimp_rgba_set (color, 0, 1, 0, 0.7);
      break;

    case GIMP_BLUE_CHANNEL:
      gimp_rgba_set (color, 0, 0, 1, 0.7);
      break;
    
    case GIMP_GRAY_CHANNEL:
      gimp_rgba_set (color, 1, 1, 1, 0.7);
      break;

    default:
      g_warn_if_reached ();
      break;
  }
}
gdouble 
gimp_foreground_select_options_get_opacity (GimpForegroundSelectOptions *options)
{
  g_return_if_fail (GIMP_IS_FOREGROUND_SELECT_OPTIONS (options));

  switch (options->draw_mode)
  {
      case GIMP_MATTING_DRAW_MODE_FOREGROUND:
          return 1.0;

      case GIMP_MATTING_DRAW_MODE_BACKGROUND:
          return 0.0;

      case GIMP_MATTING_DRAW_MODE_UNKNOWN:
      default:
          return 0.5;
  }
}
Esempio n. 3
0
void
tools_fg_select_brush_size_cmd_callback (GtkAction *action,
                                         gint       value,
                                         gpointer   data)
{
  GimpContext  *context;
  GimpToolInfo *tool_info;
  return_if_no_context (context, data);

  tool_info = gimp_context_get_tool (context);

  if (tool_info && GIMP_IS_FOREGROUND_SELECT_OPTIONS (tool_info->tool_options))
    {
      action_select_property ((GimpActionSelectType) value,
                              G_OBJECT (tool_info->tool_options),
                              "stroke-width",
                              1.0, 4.0, 16.0, FALSE);
    }
}