mirror of
https://gitlab.gnome.org/GNOME/gimp.git
synced 2025-07-03 17:33:25 +00:00
plug-ins: Port gimpressionist to gimp_image_procedure_new2 ().
A few minor code style issues were also fixed. Note that there's only one procedure parameter (Preset name), but it's not retained between runs. I want to ask about this before making a full conversion to GimpProcedureDialog widgets.
This commit is contained in:
parent
7e25a6a1e4
commit
8be4592e38
5 changed files with 43 additions and 67 deletions
|
@ -186,8 +186,8 @@ brushdmenuselect (GtkWidget *widget,
|
||||||
|
|
||||||
for (row = 0, y = y1; y < y2; row++, y++)
|
for (row = 0, y = y1; y < y2; row++, y++)
|
||||||
{
|
{
|
||||||
guchar *tmprow = p->col + row * rowstride;
|
|
||||||
guchar *tmprow_ptr;
|
guchar *tmprow_ptr;
|
||||||
|
guchar *tmprow = p->col + row * rowstride;
|
||||||
gint x2 = x1 + w;
|
gint x2 = x1 + w;
|
||||||
|
|
||||||
gegl_buffer_get (src_buffer, GEGL_RECTANGLE (x1, y, w, 1), 1.0,
|
gegl_buffer_get (src_buffer, GEGL_RECTANGLE (x1, y, w, 1), 1.0,
|
||||||
|
|
|
@ -64,7 +64,7 @@ static GimpValueArray * gimpressionist_run (GimpProcedure *p
|
||||||
GimpImage *image,
|
GimpImage *image,
|
||||||
gint n_drawables,
|
gint n_drawables,
|
||||||
GimpDrawable **drawables,
|
GimpDrawable **drawables,
|
||||||
const GimpValueArray *args,
|
GimpProcedureConfig *config,
|
||||||
gpointer run_data);
|
gpointer run_data);
|
||||||
|
|
||||||
static void gimpressionist_main (void);
|
static void gimpressionist_main (void);
|
||||||
|
@ -110,7 +110,7 @@ gimpressionist_create_procedure (GimpPlugIn *plug_in,
|
||||||
|
|
||||||
if (! strcmp (name, PLUG_IN_PROC))
|
if (! strcmp (name, PLUG_IN_PROC))
|
||||||
{
|
{
|
||||||
procedure = gimp_image_procedure_new (plug_in, name,
|
procedure = gimp_image_procedure_new2 (plug_in, name,
|
||||||
GIMP_PDB_PROC_TYPE_PLUGIN,
|
GIMP_PDB_PROC_TYPE_PLUGIN,
|
||||||
gimpressionist_run, NULL, NULL);
|
gimpressionist_run, NULL, NULL);
|
||||||
|
|
||||||
|
@ -124,8 +124,8 @@ gimpressionist_create_procedure (GimpPlugIn *plug_in,
|
||||||
gimp_procedure_set_documentation (procedure,
|
gimp_procedure_set_documentation (procedure,
|
||||||
_("Performs various artistic "
|
_("Performs various artistic "
|
||||||
"operations"),
|
"operations"),
|
||||||
"Performs various artistic operations "
|
_("Performs various artistic operations "
|
||||||
"on an image",
|
"on an image"),
|
||||||
name);
|
name);
|
||||||
gimp_procedure_set_attribution (procedure,
|
gimp_procedure_set_attribution (procedure,
|
||||||
"Vidar Madsen <vidar@prosalg.no>",
|
"Vidar Madsen <vidar@prosalg.no>",
|
||||||
|
@ -133,8 +133,8 @@ gimpressionist_create_procedure (GimpPlugIn *plug_in,
|
||||||
PLUG_IN_VERSION);
|
PLUG_IN_VERSION);
|
||||||
|
|
||||||
GIMP_PROC_ARG_STRING (procedure, "preset",
|
GIMP_PROC_ARG_STRING (procedure, "preset",
|
||||||
"Preset",
|
_("Preset"),
|
||||||
"Preset Name",
|
_("Preset Name"),
|
||||||
NULL,
|
NULL,
|
||||||
G_PARAM_READWRITE);
|
G_PARAM_READWRITE);
|
||||||
}
|
}
|
||||||
|
@ -163,10 +163,10 @@ gimpressionist_run (GimpProcedure *procedure,
|
||||||
GimpImage *image,
|
GimpImage *image,
|
||||||
gint n_drawables,
|
gint n_drawables,
|
||||||
GimpDrawable **drawables,
|
GimpDrawable **drawables,
|
||||||
const GimpValueArray *args,
|
GimpProcedureConfig *config,
|
||||||
gpointer run_data)
|
gpointer run_data)
|
||||||
{
|
{
|
||||||
const gchar *preset_name;
|
gchar *preset_name;
|
||||||
|
|
||||||
gegl_init (NULL, NULL);
|
gegl_init (NULL, NULL);
|
||||||
|
|
||||||
|
@ -210,7 +210,7 @@ gimpressionist_run (GimpProcedure *procedure,
|
||||||
case GIMP_RUN_INTERACTIVE:
|
case GIMP_RUN_INTERACTIVE:
|
||||||
gimp_get_data (PLUG_IN_PROC, &pcvals);
|
gimp_get_data (PLUG_IN_PROC, &pcvals);
|
||||||
|
|
||||||
if (! create_gimpressionist ())
|
if (! create_gimpressionist (procedure, config))
|
||||||
{
|
{
|
||||||
return gimp_procedure_new_return_values (procedure,
|
return gimp_procedure_new_return_values (procedure,
|
||||||
GIMP_PDB_CANCEL,
|
GIMP_PDB_CANCEL,
|
||||||
|
@ -219,7 +219,9 @@ gimpressionist_run (GimpProcedure *procedure,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GIMP_RUN_NONINTERACTIVE:
|
case GIMP_RUN_NONINTERACTIVE:
|
||||||
preset_name = GIMP_VALUES_GET_STRING (args, 0);
|
g_object_get (config,
|
||||||
|
"preset", &preset_name,
|
||||||
|
NULL);
|
||||||
|
|
||||||
if (select_preset (preset_name))
|
if (select_preset (preset_name))
|
||||||
{
|
{
|
||||||
|
|
|
@ -107,42 +107,20 @@ create_one_column_list (GtkWidget *parent,
|
||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static gboolean
|
||||||
dialog_response (GtkWidget *widget,
|
create_dialog (GimpProcedure *procedure,
|
||||||
gint response_id,
|
GimpProcedureConfig *config)
|
||||||
gpointer data)
|
|
||||||
{
|
|
||||||
switch (response_id)
|
|
||||||
{
|
|
||||||
case GTK_RESPONSE_OK:
|
|
||||||
store_values ();
|
|
||||||
pcvals.run = TRUE;
|
|
||||||
gtk_widget_destroy (widget);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
gtk_widget_destroy (widget);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static GtkWidget *
|
|
||||||
create_dialog (void)
|
|
||||||
{
|
{
|
||||||
GtkWidget *notebook;
|
GtkWidget *notebook;
|
||||||
GtkWidget *hbox;
|
GtkWidget *hbox;
|
||||||
GtkWidget *preview_box;
|
GtkWidget *preview_box;
|
||||||
|
gboolean run;
|
||||||
|
|
||||||
gimp_ui_init (PLUG_IN_BINARY);
|
gimp_ui_init (PLUG_IN_BINARY);
|
||||||
|
|
||||||
dialog = gimp_dialog_new (_("GIMPressionist"), PLUG_IN_ROLE,
|
dialog = gimp_procedure_dialog_new (procedure,
|
||||||
NULL, 0,
|
GIMP_PROCEDURE_CONFIG (config),
|
||||||
gimp_standard_help_func, PLUG_IN_PROC,
|
_("GIMPressionist"));
|
||||||
|
|
||||||
_("_Cancel"), GTK_RESPONSE_CANCEL,
|
|
||||||
_("_OK"), GTK_RESPONSE_OK,
|
|
||||||
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
gimp_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
|
gimp_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
|
||||||
GTK_RESPONSE_OK,
|
GTK_RESPONSE_OK,
|
||||||
|
@ -151,13 +129,6 @@ create_dialog (void)
|
||||||
|
|
||||||
gimp_window_set_transient (GTK_WINDOW (dialog));
|
gimp_window_set_transient (GTK_WINDOW (dialog));
|
||||||
|
|
||||||
g_signal_connect (dialog, "response",
|
|
||||||
G_CALLBACK (dialog_response),
|
|
||||||
NULL);
|
|
||||||
g_signal_connect (dialog, "destroy",
|
|
||||||
G_CALLBACK (gtk_main_quit),
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
|
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
|
||||||
gtk_container_set_border_width (GTK_CONTAINER (hbox), 12);
|
gtk_container_set_border_width (GTK_CONTAINER (hbox), 12);
|
||||||
gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))),
|
gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))),
|
||||||
|
@ -189,19 +160,22 @@ create_dialog (void)
|
||||||
* */
|
* */
|
||||||
restore_values ();
|
restore_values ();
|
||||||
|
|
||||||
gtk_widget_show (dialog);
|
run = gimp_procedure_dialog_run (GIMP_PROCEDURE_DIALOG (dialog));
|
||||||
|
if (run)
|
||||||
|
store_values ();
|
||||||
|
|
||||||
return dialog;
|
gtk_widget_destroy (dialog);
|
||||||
|
|
||||||
|
return run;
|
||||||
}
|
}
|
||||||
|
|
||||||
gint
|
gint
|
||||||
create_gimpressionist (void)
|
create_gimpressionist (GimpProcedure *procedure,
|
||||||
|
GimpProcedureConfig *config)
|
||||||
{
|
{
|
||||||
pcvals.run = FALSE;
|
pcvals.run = FALSE;
|
||||||
|
|
||||||
create_dialog ();
|
pcvals.run = create_dialog (procedure, config);
|
||||||
|
|
||||||
gtk_main ();
|
|
||||||
|
|
||||||
return pcvals.run;
|
return pcvals.run;
|
||||||
}
|
}
|
||||||
|
|
|
@ -160,7 +160,8 @@ double getsiz_proto (double x, double y, int n, smvector_t *vec,
|
||||||
|
|
||||||
|
|
||||||
void set_colorbrushes (const gchar *fn);
|
void set_colorbrushes (const gchar *fn);
|
||||||
int create_gimpressionist (void);
|
int create_gimpressionist (GimpProcedure *procedure,
|
||||||
|
GimpProcedureConfig *config);
|
||||||
|
|
||||||
double dist (double x, double y, double dx, double dy);
|
double dist (double x, double y, double dx, double dy);
|
||||||
|
|
||||||
|
|
|
@ -25,10 +25,9 @@ enum SELECT_PRESET_RETURN_VALUES
|
||||||
SELECT_PRESET_LOAD_FAILED = -2,
|
SELECT_PRESET_LOAD_FAILED = -2,
|
||||||
};
|
};
|
||||||
|
|
||||||
void create_presetpage (GtkNotebook *);
|
void create_presetpage (GtkNotebook *notebook);
|
||||||
int select_preset (const gchar *preset);
|
int select_preset (const gchar *preset);
|
||||||
void preset_free (void);
|
void preset_free (void);
|
||||||
void preset_save_button_set_sensitive (gboolean s);
|
void preset_save_button_set_sensitive (gboolean s);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue