static GtkWidget * gimp_levels_tool_color_picker_new (GimpLevelsTool *tool, guint value) { const gchar *stock_id; const gchar *help; switch (value & 0xF) { case PICK_LOW_INPUT: stock_id = GIMP_STOCK_COLOR_PICKER_BLACK; help = _("Pick black point"); break; case PICK_GAMMA: stock_id = GIMP_STOCK_COLOR_PICKER_GRAY; help = _("Pick gray point"); break; case PICK_HIGH_INPUT: stock_id = GIMP_STOCK_COLOR_PICKER_WHITE; help = _("Pick white point"); break; default: return NULL; } return gimp_image_map_tool_add_color_picker (GIMP_IMAGE_MAP_TOOL (tool), GUINT_TO_POINTER (value), stock_id, help); }
static GtkWidget * gimp_levels_tool_color_picker_new (GimpLevelsTool *tool, guint value) { const gchar *icon_name; const gchar *help; gboolean all_channels = (value & PICK_ALL_CHANNELS) != 0; switch (value & 0xF) { case PICK_LOW_INPUT: icon_name = GIMP_STOCK_COLOR_PICKER_BLACK; if (all_channels) help = _("Pick black point for all channels"); else help = _("Pick black point for the selected channel"); break; case PICK_GAMMA: icon_name = GIMP_STOCK_COLOR_PICKER_GRAY; if (all_channels) help = _("Pick gray point for all channels"); else help = _("Pick gray point for the selected channel"); break; case PICK_HIGH_INPUT: icon_name = GIMP_STOCK_COLOR_PICKER_WHITE; if (all_channels) help = _("Pick white point for all channels"); else help = _("Pick white point for the selected channel"); break; default: return NULL; } return gimp_image_map_tool_add_color_picker (GIMP_IMAGE_MAP_TOOL (tool), GUINT_TO_POINTER (value), icon_name, help); }
static void gimp_colorize_tool_dialog (GimpImageMapTool *image_map_tool) { GimpColorizeTool *col_tool = GIMP_COLORIZE_TOOL (image_map_tool); GtkWidget *main_vbox; GtkWidget *table; GtkWidget *frame; GtkWidget *vbox; GtkWidget *hbox; GtkWidget *button; GtkObject *data; GimpRGB color; main_vbox = gimp_image_map_tool_dialog_get_vbox (image_map_tool); frame = gimp_frame_new (_("Select Color")); gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0); gtk_widget_show (frame); /* The table containing sliders */ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); gtk_container_add (GTK_CONTAINER (frame), vbox); gtk_widget_show (vbox); table = gtk_table_new (3, 3, FALSE); gtk_table_set_col_spacings (GTK_TABLE (table), 4); gtk_table_set_row_spacings (GTK_TABLE (table), 2); gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0); gtk_widget_show (table); /* Create the hue scale widget */ data = gimp_scale_entry_new (GTK_TABLE (table), 0, 0, _("_Hue:"), SLIDER_WIDTH, SPINNER_WIDTH, col_tool->config->hue * 360.0, 0.0, 359.99, 1.0, 15.0, 0, TRUE, 0.0, 0.0, NULL, NULL); col_tool->hue_data = GTK_ADJUSTMENT (data); g_signal_connect (data, "value-changed", G_CALLBACK (colorize_hue_changed), col_tool); /* Create the saturation scale widget */ data = gimp_scale_entry_new (GTK_TABLE (table), 0, 1, _("_Saturation:"), SLIDER_WIDTH, SPINNER_WIDTH, col_tool->config->saturation * 100.0, 0.0, 100.0, 1.0, 10.0, 0, TRUE, 0.0, 0.0, NULL, NULL); col_tool->saturation_data = GTK_ADJUSTMENT (data); g_signal_connect (data, "value-changed", G_CALLBACK (colorize_saturation_changed), col_tool); /* Create the lightness scale widget */ data = gimp_scale_entry_new (GTK_TABLE (table), 0, 2, _("_Lightness:"), SLIDER_WIDTH, SPINNER_WIDTH, col_tool->config->lightness * 100.0, -100.0, 100.0, 1.0, 10.0, 0, TRUE, 0.0, 0.0, NULL, NULL); col_tool->lightness_data = GTK_ADJUSTMENT (data); g_signal_connect (data, "value-changed", G_CALLBACK (colorize_lightness_changed), col_tool); /* Create the color button */ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); gimp_colorize_config_get_color (col_tool->config, &color); col_tool->color_button = gimp_color_panel_new (_("Colorize Color"), &color, GIMP_COLOR_AREA_FLAT, 128, 24); gimp_color_button_set_update (GIMP_COLOR_BUTTON (col_tool->color_button), TRUE); gimp_color_panel_set_context (GIMP_COLOR_PANEL (col_tool->color_button), GIMP_CONTEXT (GIMP_TOOL_GET_OPTIONS (col_tool))); gtk_box_pack_start (GTK_BOX (hbox), col_tool->color_button, TRUE, TRUE, 0); gtk_widget_show (col_tool->color_button); g_signal_connect (col_tool->color_button, "color-changed", G_CALLBACK (colorize_color_changed), col_tool); button = gimp_image_map_tool_add_color_picker (image_map_tool, "colorize", GIMP_STOCK_COLOR_PICKER_GRAY, _("Pick color from image")); gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0); gtk_widget_show (button); }
static void gimp_colorize_tool_dialog (GimpImageMapTool *image_map_tool) { GimpColorizeTool *col_tool = GIMP_COLORIZE_TOOL (image_map_tool); GtkWidget *main_vbox; GtkWidget *frame; GtkWidget *vbox; GtkWidget *scale; GtkWidget *hbox; GtkWidget *button; main_vbox = gimp_image_map_tool_dialog_get_vbox (image_map_tool); frame = gimp_frame_new (_("Select Color")); gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0); gtk_widget_show (frame); vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 4); gtk_container_add (GTK_CONTAINER (frame), vbox); gtk_widget_show (vbox); /* Create the hue scale widget */ scale = gimp_prop_spin_scale_new (image_map_tool->config, "hue", _("_Hue"), 1.0 / 230.0, 15.0 / 360.0, 0); gimp_prop_widget_set_factor (scale, 360.0, 1); gtk_box_pack_start (GTK_BOX (vbox), scale, FALSE, FALSE, 0); gtk_widget_show (scale); /* Create the saturation scale widget */ scale = gimp_prop_spin_scale_new (image_map_tool->config, "saturation", _("_Saturation"), 0.01, 0.1, 0); gimp_prop_widget_set_factor (scale, 100.0, 1); gtk_box_pack_start (GTK_BOX (vbox), scale, FALSE, FALSE, 0); gtk_widget_show (scale); /* Create the lightness scale widget */ scale = gimp_prop_spin_scale_new (image_map_tool->config, "lightness", _("_Lightness"), 0.01, 0.1, 0); gimp_prop_widget_set_factor (scale, 100.0, 1); gtk_box_pack_start (GTK_BOX (vbox), scale, FALSE, FALSE, 0); gtk_widget_show (scale); /* Create the color button */ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); button = gimp_prop_color_button_new (image_map_tool->config, "color", _("Colorize Color"), 128, 24, GIMP_COLOR_AREA_FLAT); gimp_color_button_set_update (GIMP_COLOR_BUTTON (button), TRUE); gimp_color_panel_set_context (GIMP_COLOR_PANEL (button), GIMP_CONTEXT (GIMP_TOOL_GET_OPTIONS (col_tool))); gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 0); gtk_widget_show (button); button = gimp_image_map_tool_add_color_picker (image_map_tool, "colorize", GIMP_STOCK_COLOR_PICKER_GRAY, _("Pick color from image")); gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0); gtk_widget_show (button); }