mirror of https://github.com/GNOME/gimp.git
added "GimpPaintInfo *paint_info" member and construct property. Changed
2004-08-31 Michael Natterer <mitch@gimp.org> * app/paint/gimppaintoptions.[ch]: added "GimpPaintInfo *paint_info" member and construct property. Changed gimp_paint_options_new() to take only a GimpPaintInfo parameter. * app/core/gimpitem.c (gimp_item_stroke) * app/core/gimppaintinfo.c (gimp_paint_info_new): changed accordingly. * app/core/gimpchannel.c (gimp_channel_stroke) * app/vectors/gimpvectors.c (gimp_vectors_stroke): use paint_options->paint_info->paint_type directly instead of casting to GimpToolOptions and using tool_options->tool_info->paint_info->paint_type (eek). Fixes crash when stroking via the PDB because newly created GimpToolOptions instances have no "tool_info" pointer yet. * tools/pdbgen/pdb/paint_tools.pdb: changed all paint PDB wrappers accordingly. * app/pdb/paint_tools_cmds.c: regenerated.
This commit is contained in:
parent
6965b0b881
commit
9e76c5a4bc
22
ChangeLog
22
ChangeLog
|
@ -1,3 +1,25 @@
|
|||
2004-08-31 Michael Natterer <mitch@gimp.org>
|
||||
|
||||
* app/paint/gimppaintoptions.[ch]: added "GimpPaintInfo *paint_info"
|
||||
member and construct property. Changed gimp_paint_options_new()
|
||||
to take only a GimpPaintInfo parameter.
|
||||
|
||||
* app/core/gimpitem.c (gimp_item_stroke)
|
||||
* app/core/gimppaintinfo.c (gimp_paint_info_new): changed accordingly.
|
||||
|
||||
* app/core/gimpchannel.c (gimp_channel_stroke)
|
||||
* app/vectors/gimpvectors.c (gimp_vectors_stroke): use
|
||||
paint_options->paint_info->paint_type directly instead of casting
|
||||
to GimpToolOptions and using
|
||||
tool_options->tool_info->paint_info->paint_type (eek). Fixes crash
|
||||
when stroking via the PDB because newly created GimpToolOptions
|
||||
instances have no "tool_info" pointer yet.
|
||||
|
||||
* tools/pdbgen/pdb/paint_tools.pdb: changed all paint PDB wrappers
|
||||
accordingly.
|
||||
|
||||
* app/pdb/paint_tools_cmds.c: regenerated.
|
||||
|
||||
2004-08-31 Michael Natterer <mitch@gimp.org>
|
||||
|
||||
* app/config/gimpconfig.c (gimp_config_iface_duplicate): set
|
||||
|
|
|
@ -52,8 +52,6 @@
|
|||
#include "gimppaintinfo.h"
|
||||
#include "gimpprojection.h"
|
||||
#include "gimpstrokeoptions.h"
|
||||
#include "gimptoolinfo.h"
|
||||
#include "gimptooloptions.h"
|
||||
|
||||
#include "gimp-intl.h"
|
||||
|
||||
|
@ -627,7 +625,7 @@ gimp_channel_stroke (GimpItem *item,
|
|||
GimpPaintOptions *paint_options = GIMP_PAINT_OPTIONS (stroke_desc);
|
||||
GimpPaintCore *core;
|
||||
|
||||
core = g_object_new (GIMP_TOOL_OPTIONS (paint_options)->tool_info->paint_info->paint_type, NULL);
|
||||
core = g_object_new (paint_options->paint_info->paint_type, NULL);
|
||||
|
||||
retval = gimp_paint_core_stroke_boundary (core, drawable,
|
||||
paint_options,
|
||||
|
|
|
@ -1003,15 +1003,12 @@ gimp_item_stroke (GimpItem *item,
|
|||
}
|
||||
else if (GIMP_IS_PAINT_INFO (stroke_desc))
|
||||
{
|
||||
GimpImage *gimage = gimp_item_get_image (item);
|
||||
GimpPaintInfo *paint_info = GIMP_PAINT_INFO (stroke_desc);
|
||||
GimpPaintOptions *paint_options;
|
||||
|
||||
if (use_default_values)
|
||||
{
|
||||
paint_options =
|
||||
gimp_paint_options_new (gimage->gimp,
|
||||
paint_info->paint_options_type);
|
||||
paint_options = gimp_paint_options_new (paint_info);
|
||||
|
||||
/* undefine the paint-relevant context properties and get them
|
||||
* from the passed context
|
||||
|
|
|
@ -22,6 +22,8 @@
|
|||
|
||||
#include "core-types.h"
|
||||
|
||||
#include "paint/gimppaintoptions.h"
|
||||
|
||||
#include "gimp.h"
|
||||
#include "gimppaintinfo.h"
|
||||
|
||||
|
@ -144,9 +146,7 @@ gimp_paint_info_new (Gimp *gimp,
|
|||
paint_info->paint_options_type = paint_options_type;
|
||||
paint_info->blurb = g_strdup (blurb);
|
||||
|
||||
paint_info->paint_options = g_object_new (paint_info->paint_options_type,
|
||||
"gimp", gimp,
|
||||
NULL);
|
||||
paint_info->paint_options = gimp_paint_options_new (paint_info);
|
||||
|
||||
return paint_info;
|
||||
}
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
#include "core/gimp.h"
|
||||
#include "core/gimpimage.h"
|
||||
#include "core/gimpgradient.h"
|
||||
#include "core/gimppaintinfo.h"
|
||||
|
||||
#include "gimppaintoptions.h"
|
||||
|
||||
|
@ -57,6 +58,7 @@
|
|||
enum
|
||||
{
|
||||
PROP_0,
|
||||
PROP_PAINT_INFO,
|
||||
PROP_APPLICATION_MODE,
|
||||
PROP_HARD,
|
||||
PROP_PRESSURE_OPACITY,
|
||||
|
@ -136,6 +138,13 @@ gimp_paint_options_class_init (GimpPaintOptionsClass *klass)
|
|||
object_class->get_property = gimp_paint_options_get_property;
|
||||
object_class->notify = gimp_paint_options_notify;
|
||||
|
||||
g_object_class_install_property (object_class, PROP_PAINT_INFO,
|
||||
g_param_spec_object ("paint-info",
|
||||
NULL, NULL,
|
||||
GIMP_TYPE_PAINT_INFO,
|
||||
G_PARAM_READWRITE |
|
||||
G_PARAM_CONSTRUCT_ONLY));
|
||||
|
||||
GIMP_CONFIG_INSTALL_PROP_ENUM (object_class, PROP_APPLICATION_MODE,
|
||||
"application-mode", NULL,
|
||||
GIMP_TYPE_PAINT_APPLICATION_MODE,
|
||||
|
@ -216,6 +225,9 @@ gimp_paint_options_finalize (GObject *object)
|
|||
{
|
||||
GimpPaintOptions *options = GIMP_PAINT_OPTIONS (object);
|
||||
|
||||
if (options->paint_info)
|
||||
g_object_unref (options->paint_info);
|
||||
|
||||
g_free (options->pressure_options);
|
||||
g_free (options->fade_options);
|
||||
g_free (options->gradient_options);
|
||||
|
@ -242,6 +254,10 @@ gimp_paint_options_set_property (GObject *object,
|
|||
|
||||
switch (property_id)
|
||||
{
|
||||
case PROP_PAINT_INFO:
|
||||
options->paint_info = (GimpPaintInfo *) g_value_dup_object (value);
|
||||
break;
|
||||
|
||||
case PROP_APPLICATION_MODE:
|
||||
options->application_mode = g_value_get_enum (value);
|
||||
break;
|
||||
|
@ -316,6 +332,10 @@ gimp_paint_options_get_property (GObject *object,
|
|||
|
||||
switch (property_id)
|
||||
{
|
||||
case PROP_PAINT_INFO:
|
||||
g_value_set_object (value, options->paint_info);
|
||||
break;
|
||||
|
||||
case PROP_APPLICATION_MODE:
|
||||
g_value_set_enum (value, options->application_mode);
|
||||
break;
|
||||
|
@ -399,17 +419,15 @@ gimp_paint_options_notify (GObject *object,
|
|||
}
|
||||
|
||||
GimpPaintOptions *
|
||||
gimp_paint_options_new (Gimp *gimp,
|
||||
GType options_type)
|
||||
gimp_paint_options_new (GimpPaintInfo *paint_info)
|
||||
{
|
||||
GimpPaintOptions *options;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_GIMP (gimp), NULL);
|
||||
g_return_val_if_fail (g_type_is_a (options_type, GIMP_TYPE_PAINT_OPTIONS),
|
||||
NULL);
|
||||
g_return_val_if_fail (GIMP_IS_PAINT_INFO (paint_info), NULL);
|
||||
|
||||
options = g_object_new (options_type,
|
||||
"gimp", gimp,
|
||||
options = g_object_new (paint_info->paint_options_type,
|
||||
"gimp", paint_info->gimp,
|
||||
"paint-info", paint_info,
|
||||
NULL);
|
||||
|
||||
return options;
|
||||
|
|
|
@ -74,6 +74,8 @@ struct _GimpPaintOptions
|
|||
{
|
||||
GimpToolOptions parent_instance;
|
||||
|
||||
GimpPaintInfo *paint_info;
|
||||
|
||||
GimpPaintApplicationMode application_mode;
|
||||
GimpPaintApplicationMode application_mode_save;
|
||||
|
||||
|
@ -92,8 +94,7 @@ struct _GimpPaintOptionsClass
|
|||
|
||||
GType gimp_paint_options_get_type (void) G_GNUC_CONST;
|
||||
|
||||
GimpPaintOptions * gimp_paint_options_new (Gimp *gimp,
|
||||
GType options_type);
|
||||
GimpPaintOptions * gimp_paint_options_new (GimpPaintInfo *paint_info);
|
||||
|
||||
gdouble gimp_paint_options_get_fade (GimpPaintOptions *paint_options,
|
||||
GimpImage *gimage,
|
||||
|
|
|
@ -29,23 +29,11 @@
|
|||
#include "procedural_db.h"
|
||||
|
||||
#include "core/gimp.h"
|
||||
#include "core/gimpcontainer.h"
|
||||
#include "core/gimpdrawable.h"
|
||||
#include "paint/gimpairbrush.h"
|
||||
#include "paint/gimpairbrushoptions.h"
|
||||
#include "paint/gimpclone.h"
|
||||
#include "paint/gimpcloneoptions.h"
|
||||
#include "paint/gimpconvolve.h"
|
||||
#include "paint/gimpconvolveoptions.h"
|
||||
#include "paint/gimpdodgeburn.h"
|
||||
#include "paint/gimpdodgeburnoptions.h"
|
||||
#include "paint/gimperaser.h"
|
||||
#include "paint/gimperaseroptions.h"
|
||||
#include "paint/gimppaintbrush.h"
|
||||
#include "core/gimppaintinfo.h"
|
||||
#include "paint/gimppaintcore-stroke.h"
|
||||
#include "paint/gimppencil.h"
|
||||
#include "paint/gimppenciloptions.h"
|
||||
#include "paint/gimpsmudge.h"
|
||||
#include "paint/gimpsmudgeoptions.h"
|
||||
#include "paint/gimppaintoptions.h"
|
||||
#include "paint/paint-types.h"
|
||||
|
||||
static ProcRecord airbrush_proc;
|
||||
|
@ -87,7 +75,6 @@ register_paint_tools_procs (Gimp *gimp)
|
|||
static gboolean
|
||||
paint_tools_stroke (Gimp *gimp,
|
||||
GimpContext *context,
|
||||
GType core_type,
|
||||
GimpPaintOptions *options,
|
||||
GimpDrawable *drawable,
|
||||
gint n_strokes,
|
||||
|
@ -106,7 +93,7 @@ paint_tools_stroke (Gimp *gimp,
|
|||
FALSE);
|
||||
gimp_context_set_parent (GIMP_CONTEXT (options), context);
|
||||
|
||||
core = g_object_new (core_type, NULL);
|
||||
core = g_object_new (options->paint_info->paint_type, NULL);
|
||||
|
||||
coords = g_new (GimpCoords, n_strokes);
|
||||
|
||||
|
@ -142,6 +129,7 @@ airbrush_invoker (Gimp *gimp,
|
|||
gdouble pressure;
|
||||
gint32 num_strokes;
|
||||
gdouble *strokes;
|
||||
GimpPaintInfo *info;
|
||||
GimpPaintOptions *options;
|
||||
|
||||
drawable = (GimpDrawable *) gimp_item_get_by_ID (gimp, args[0].value.pdb_int);
|
||||
|
@ -162,14 +150,16 @@ airbrush_invoker (Gimp *gimp,
|
|||
|
||||
if (success)
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_AIRBRUSH_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpAirbrush");
|
||||
|
||||
GIMP_AIRBRUSH_OPTIONS (options)->pressure = pressure;
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_AIRBRUSH,
|
||||
options,
|
||||
drawable,
|
||||
g_object_set (options,
|
||||
"pressure", pressure,
|
||||
NULL);
|
||||
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
|
||||
|
@ -226,6 +216,7 @@ airbrush_default_invoker (Gimp *gimp,
|
|||
GimpDrawable *drawable;
|
||||
gint32 num_strokes;
|
||||
gdouble *strokes;
|
||||
GimpPaintInfo *info;
|
||||
GimpPaintOptions *options;
|
||||
|
||||
drawable = (GimpDrawable *) gimp_item_get_by_ID (gimp, args[0].value.pdb_int);
|
||||
|
@ -242,12 +233,12 @@ airbrush_default_invoker (Gimp *gimp,
|
|||
|
||||
if (success)
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_AIRBRUSH_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpAirbrush");
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_AIRBRUSH,
|
||||
options,
|
||||
drawable,
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
|
||||
|
@ -303,6 +294,7 @@ clone_invoker (Gimp *gimp,
|
|||
gdouble src_y;
|
||||
gint32 num_strokes;
|
||||
gdouble *strokes;
|
||||
GimpPaintInfo *info;
|
||||
GimpPaintOptions *options;
|
||||
|
||||
drawable = (GimpDrawable *) gimp_item_get_by_ID (gimp, args[0].value.pdb_int);
|
||||
|
@ -331,9 +323,14 @@ clone_invoker (Gimp *gimp,
|
|||
|
||||
if (success)
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_CLONE_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpClone");
|
||||
|
||||
GIMP_CLONE_OPTIONS (options)->clone_type = clone_type;
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
g_object_set (options,
|
||||
"clone-type", clone_type,
|
||||
NULL);
|
||||
|
||||
#ifdef __GNUC__
|
||||
#warning FIXME: re-enable clone src_drawable
|
||||
|
@ -346,10 +343,7 @@ clone_invoker (Gimp *gimp,
|
|||
core->src_y = src_y;
|
||||
#endif
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_CLONE,
|
||||
options,
|
||||
drawable,
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
|
||||
|
@ -421,6 +415,7 @@ clone_default_invoker (Gimp *gimp,
|
|||
GimpDrawable *drawable;
|
||||
gint32 num_strokes;
|
||||
gdouble *strokes;
|
||||
GimpPaintInfo *info;
|
||||
GimpPaintOptions *options;
|
||||
|
||||
drawable = (GimpDrawable *) gimp_item_get_by_ID (gimp, args[0].value.pdb_int);
|
||||
|
@ -437,12 +432,12 @@ clone_default_invoker (Gimp *gimp,
|
|||
|
||||
if (success)
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_CLONE_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpClone");
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_CLONE,
|
||||
options,
|
||||
drawable,
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
|
||||
|
@ -496,6 +491,7 @@ convolve_invoker (Gimp *gimp,
|
|||
gint32 convolve_type;
|
||||
gint32 num_strokes;
|
||||
gdouble *strokes;
|
||||
GimpPaintInfo *info;
|
||||
GimpPaintOptions *options;
|
||||
|
||||
drawable = (GimpDrawable *) gimp_item_get_by_ID (gimp, args[0].value.pdb_int);
|
||||
|
@ -520,17 +516,17 @@ convolve_invoker (Gimp *gimp,
|
|||
|
||||
if (success)
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_CONVOLVE_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpConvolve");
|
||||
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
g_object_set (options,
|
||||
"type", convolve_type,
|
||||
"rate", pressure,
|
||||
NULL);
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_CONVOLVE,
|
||||
options,
|
||||
drawable,
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
|
||||
|
@ -592,6 +588,7 @@ convolve_default_invoker (Gimp *gimp,
|
|||
GimpDrawable *drawable;
|
||||
gint32 num_strokes;
|
||||
gdouble *strokes;
|
||||
GimpPaintInfo *info;
|
||||
GimpPaintOptions *options;
|
||||
|
||||
drawable = (GimpDrawable *) gimp_item_get_by_ID (gimp, args[0].value.pdb_int);
|
||||
|
@ -608,12 +605,12 @@ convolve_default_invoker (Gimp *gimp,
|
|||
|
||||
if (success)
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_CONVOLVE_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpConvolve");
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_CONVOLVE,
|
||||
options,
|
||||
drawable,
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
|
||||
|
@ -668,6 +665,7 @@ dodgeburn_invoker (Gimp *gimp,
|
|||
gint32 dodgeburn_mode;
|
||||
gint32 num_strokes;
|
||||
gdouble *strokes;
|
||||
GimpPaintInfo *info;
|
||||
GimpPaintOptions *options;
|
||||
|
||||
drawable = (GimpDrawable *) gimp_item_get_by_ID (gimp, args[0].value.pdb_int);
|
||||
|
@ -696,7 +694,10 @@ dodgeburn_invoker (Gimp *gimp,
|
|||
|
||||
if (success)
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_DODGE_BURN_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpDodgeBurn");
|
||||
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
g_object_set (options,
|
||||
"type", dodgeburn_type,
|
||||
|
@ -704,10 +705,7 @@ dodgeburn_invoker (Gimp *gimp,
|
|||
"exposure", exposure,
|
||||
NULL);
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_DODGE_BURN,
|
||||
options,
|
||||
drawable,
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
|
||||
|
@ -774,6 +772,7 @@ dodgeburn_default_invoker (Gimp *gimp,
|
|||
GimpDrawable *drawable;
|
||||
gint32 num_strokes;
|
||||
gdouble *strokes;
|
||||
GimpPaintInfo *info;
|
||||
GimpPaintOptions *options;
|
||||
|
||||
drawable = (GimpDrawable *) gimp_item_get_by_ID (gimp, args[0].value.pdb_int);
|
||||
|
@ -790,12 +789,12 @@ dodgeburn_default_invoker (Gimp *gimp,
|
|||
|
||||
if (success)
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_DODGE_BURN_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpDodgeBurn");
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_DODGE_BURN,
|
||||
options,
|
||||
drawable,
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
|
||||
|
@ -849,6 +848,7 @@ eraser_invoker (Gimp *gimp,
|
|||
gdouble *strokes;
|
||||
gint32 hardness;
|
||||
gint32 method;
|
||||
GimpPaintInfo *info;
|
||||
GimpPaintOptions *options;
|
||||
|
||||
drawable = (GimpDrawable *) gimp_item_get_by_ID (gimp, args[0].value.pdb_int);
|
||||
|
@ -873,17 +873,17 @@ eraser_invoker (Gimp *gimp,
|
|||
|
||||
if (success)
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_ERASER_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpEraser");
|
||||
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
g_object_set (options,
|
||||
"application-mode", method,
|
||||
"hard", hardness,
|
||||
NULL);
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_ERASER,
|
||||
options,
|
||||
drawable,
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
|
||||
|
@ -945,6 +945,7 @@ eraser_default_invoker (Gimp *gimp,
|
|||
GimpDrawable *drawable;
|
||||
gint32 num_strokes;
|
||||
gdouble *strokes;
|
||||
GimpPaintInfo *info;
|
||||
GimpPaintOptions *options;
|
||||
|
||||
drawable = (GimpDrawable *) gimp_item_get_by_ID (gimp, args[0].value.pdb_int);
|
||||
|
@ -961,12 +962,12 @@ eraser_default_invoker (Gimp *gimp,
|
|||
|
||||
if (success)
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_ERASER_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpEraser");
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_ERASER,
|
||||
options,
|
||||
drawable,
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
|
||||
|
@ -1021,6 +1022,7 @@ paintbrush_invoker (Gimp *gimp,
|
|||
gdouble *strokes;
|
||||
gint32 method;
|
||||
gdouble gradient_length;
|
||||
GimpPaintInfo *info;
|
||||
GimpPaintOptions *options;
|
||||
|
||||
drawable = (GimpDrawable *) gimp_item_get_by_ID (gimp, args[0].value.pdb_int);
|
||||
|
@ -1049,7 +1051,10 @@ paintbrush_invoker (Gimp *gimp,
|
|||
|
||||
if (success)
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_PAINT_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpPaintbrush");
|
||||
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
g_object_set (options,
|
||||
"application-mode", method,
|
||||
|
@ -1059,10 +1064,7 @@ paintbrush_invoker (Gimp *gimp,
|
|||
"gradient-length", gradient_length,
|
||||
NULL);
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_PAINTBRUSH,
|
||||
options,
|
||||
drawable,
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
|
||||
|
@ -1129,6 +1131,7 @@ paintbrush_default_invoker (Gimp *gimp,
|
|||
GimpDrawable *drawable;
|
||||
gint32 num_strokes;
|
||||
gdouble *strokes;
|
||||
GimpPaintInfo *info;
|
||||
GimpPaintOptions *options;
|
||||
|
||||
drawable = (GimpDrawable *) gimp_item_get_by_ID (gimp, args[0].value.pdb_int);
|
||||
|
@ -1145,12 +1148,12 @@ paintbrush_default_invoker (Gimp *gimp,
|
|||
|
||||
if (success)
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_PAINT_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpPaintbrush");
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_PAINTBRUSH,
|
||||
options,
|
||||
drawable,
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
|
||||
|
@ -1202,6 +1205,7 @@ pencil_invoker (Gimp *gimp,
|
|||
GimpDrawable *drawable;
|
||||
gint32 num_strokes;
|
||||
gdouble *strokes;
|
||||
GimpPaintInfo *info;
|
||||
GimpPaintOptions *options;
|
||||
|
||||
drawable = (GimpDrawable *) gimp_item_get_by_ID (gimp, args[0].value.pdb_int);
|
||||
|
@ -1218,12 +1222,12 @@ pencil_invoker (Gimp *gimp,
|
|||
|
||||
if (success)
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_PENCIL_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpPencil");
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_PENCIL,
|
||||
options,
|
||||
drawable,
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
|
||||
|
@ -1276,6 +1280,7 @@ smudge_invoker (Gimp *gimp,
|
|||
gdouble pressure;
|
||||
gint32 num_strokes;
|
||||
gdouble *strokes;
|
||||
GimpPaintInfo *info;
|
||||
GimpPaintOptions *options;
|
||||
|
||||
drawable = (GimpDrawable *) gimp_item_get_by_ID (gimp, args[0].value.pdb_int);
|
||||
|
@ -1296,16 +1301,16 @@ smudge_invoker (Gimp *gimp,
|
|||
|
||||
if (success)
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_SMUDGE_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpSmudge");
|
||||
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
g_object_set (options,
|
||||
"rate", pressure,
|
||||
NULL);
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_SMUDGE,
|
||||
options,
|
||||
drawable,
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
|
||||
|
@ -1362,6 +1367,7 @@ smudge_default_invoker (Gimp *gimp,
|
|||
GimpDrawable *drawable;
|
||||
gint32 num_strokes;
|
||||
gdouble *strokes;
|
||||
GimpPaintInfo *info;
|
||||
GimpPaintOptions *options;
|
||||
|
||||
drawable = (GimpDrawable *) gimp_item_get_by_ID (gimp, args[0].value.pdb_int);
|
||||
|
@ -1378,12 +1384,12 @@ smudge_default_invoker (Gimp *gimp,
|
|||
|
||||
if (success)
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_SMUDGE_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpSmudge");
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_SMUDGE,
|
||||
options,
|
||||
drawable,
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
|
||||
|
|
|
@ -37,8 +37,6 @@
|
|||
#include "core/gimpmarshal.h"
|
||||
#include "core/gimppaintinfo.h"
|
||||
#include "core/gimpstrokeoptions.h"
|
||||
#include "core/gimptoolinfo.h"
|
||||
#include "core/gimptooloptions.h"
|
||||
|
||||
#include "paint/gimppaintcore-stroke.h"
|
||||
#include "paint/gimppaintoptions.h"
|
||||
|
@ -583,7 +581,7 @@ gimp_vectors_stroke (GimpItem *item,
|
|||
GimpPaintOptions *paint_options = GIMP_PAINT_OPTIONS (stroke_desc);
|
||||
GimpPaintCore *core;
|
||||
|
||||
core = g_object_new (GIMP_TOOL_OPTIONS (paint_options)->tool_info->paint_info->paint_type, NULL);
|
||||
core = g_object_new (paint_options->paint_info->paint_type, NULL);
|
||||
|
||||
retval = gimp_paint_core_stroke_vectors (core, drawable,
|
||||
paint_options,
|
||||
|
|
|
@ -68,18 +68,19 @@ HELP
|
|||
);
|
||||
|
||||
%invoke = (
|
||||
headers => [ qw("paint/gimpairbrush.h" "paint/gimpairbrushoptions.h") ],
|
||||
vars => [ "GimpPaintOptions *options" ],
|
||||
vars => [ "GimpPaintInfo *info", "GimpPaintOptions *options" ],
|
||||
code => <<'CODE'
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_AIRBRUSH_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpAirbrush");
|
||||
|
||||
GIMP_AIRBRUSH_OPTIONS (options)->pressure = pressure;
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_AIRBRUSH,
|
||||
options,
|
||||
drawable,
|
||||
g_object_set (options,
|
||||
"pressure", pressure,
|
||||
NULL);
|
||||
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
CODE
|
||||
|
@ -107,16 +108,15 @@ HELP
|
|||
);
|
||||
|
||||
%invoke = (
|
||||
headers => [ qw("paint/gimpairbrush.h") ],
|
||||
vars => [ "GimpPaintOptions *options" ],
|
||||
vars => [ "GimpPaintInfo *info", "GimpPaintOptions *options" ],
|
||||
code => <<'CODE'
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_AIRBRUSH_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpAirbrush");
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_AIRBRUSH,
|
||||
options,
|
||||
drawable,
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
CODE
|
||||
|
@ -158,13 +158,17 @@ HELP
|
|||
);
|
||||
|
||||
%invoke = (
|
||||
headers => [ qw("paint/gimpclone.h" "paint/gimpcloneoptions.h") ],
|
||||
vars => [ "GimpPaintOptions *options" ],
|
||||
vars => [ "GimpPaintInfo *info", "GimpPaintOptions *options" ],
|
||||
code => <<'CODE'
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_CLONE_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpClone");
|
||||
|
||||
GIMP_CLONE_OPTIONS (options)->clone_type = clone_type;
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
g_object_set (options,
|
||||
"clone-type", clone_type,
|
||||
NULL);
|
||||
|
||||
#ifdef __GNUC__
|
||||
#warning FIXME: re-enable clone src_drawable
|
||||
|
@ -177,10 +181,7 @@ HELP
|
|||
core->src_y = src_y;
|
||||
#endif
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_CLONE,
|
||||
options,
|
||||
drawable,
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
CODE
|
||||
|
@ -209,16 +210,15 @@ HELP
|
|||
);
|
||||
|
||||
%invoke = (
|
||||
headers => [ qw("paint/gimpclone.h" "paint/gimpcloneoptions.h") ],
|
||||
vars => [ "GimpPaintOptions *options" ],
|
||||
vars => [ "GimpPaintInfo *info", "GimpPaintOptions *options" ],
|
||||
code => <<'CODE'
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_CLONE_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpClone");
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_CLONE,
|
||||
options,
|
||||
drawable,
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
CODE
|
||||
|
@ -246,16 +246,15 @@ HELP
|
|||
);
|
||||
|
||||
%invoke = (
|
||||
headers => [ qw("paint/gimpconvolve.h" "paint/gimpconvolveoptions.h") ],
|
||||
vars => [ "GimpPaintOptions *options" ],
|
||||
vars => [ "GimpPaintInfo *info", "GimpPaintOptions *options" ],
|
||||
code => <<'CODE'
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_CONVOLVE_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpConvolve");
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_CONVOLVE,
|
||||
options,
|
||||
drawable,
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
CODE
|
||||
|
@ -284,21 +283,20 @@ HELP
|
|||
);
|
||||
|
||||
%invoke = (
|
||||
headers => [ qw("paint/gimpconvolve.h" "paint/gimpconvolveoptions.h") ],
|
||||
vars => [ "GimpPaintOptions *options" ],
|
||||
vars => [ "GimpPaintInfo *info", "GimpPaintOptions *options" ],
|
||||
code => <<'CODE'
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_CONVOLVE_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpConvolve");
|
||||
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
g_object_set (options,
|
||||
"type", convolve_type,
|
||||
"rate", pressure,
|
||||
NULL);
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_CONVOLVE,
|
||||
options,
|
||||
drawable,
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
CODE
|
||||
|
@ -324,16 +322,15 @@ HELP
|
|||
);
|
||||
|
||||
%invoke = (
|
||||
headers => [ qw("paint/gimperaser.h" "paint/gimperaseroptions.h") ],
|
||||
vars => [ "GimpPaintOptions *options" ],
|
||||
vars => [ "GimpPaintInfo *info", "GimpPaintOptions *options" ],
|
||||
code => <<'CODE'
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_ERASER_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpEraser");
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_ERASER,
|
||||
options,
|
||||
drawable,
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
CODE
|
||||
|
@ -363,21 +360,20 @@ HELP
|
|||
);
|
||||
|
||||
%invoke = (
|
||||
headers => [ qw("paint/gimperaser.h" "paint/gimperaseroptions.h") ],
|
||||
vars => [ "GimpPaintOptions *options" ],
|
||||
vars => [ "GimpPaintInfo *info", "GimpPaintOptions *options" ],
|
||||
code => <<'CODE'
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_ERASER_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpEraser");
|
||||
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
g_object_set (options,
|
||||
"application-mode", method,
|
||||
"hard", hardness,
|
||||
NULL);
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_ERASER,
|
||||
options,
|
||||
drawable,
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
CODE
|
||||
|
@ -407,11 +403,13 @@ HELP
|
|||
);
|
||||
|
||||
%invoke = (
|
||||
headers => [ qw("paint/gimperaser.h" "paint/gimperaseroptions.h") ],
|
||||
vars => [ "GimpPaintOptions *options" ],
|
||||
vars => [ "GimpPaintInfo *info", "GimpPaintOptions *options" ],
|
||||
code => <<'CODE'
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_ERASER_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpEraser");
|
||||
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
g_object_set (options,
|
||||
"application-mode", method,
|
||||
|
@ -419,10 +417,7 @@ HELP
|
|||
"anti-erase", TRUE,
|
||||
NULL);
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_ERASER,
|
||||
options,
|
||||
drawable,
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
CODE
|
||||
|
@ -460,11 +455,13 @@ HELP
|
|||
);
|
||||
|
||||
%invoke = (
|
||||
headers => [ qw("paint/gimppaintbrush.h") ],
|
||||
vars => [ "GimpPaintOptions *options" ],
|
||||
vars => [ "GimpPaintInfo *info", "GimpPaintOptions *options" ],
|
||||
code => <<'CODE'
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_PAINT_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpPaintbrush");
|
||||
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
g_object_set (options,
|
||||
"application-mode", method,
|
||||
|
@ -474,10 +471,7 @@ HELP
|
|||
"gradient-length", gradient_length,
|
||||
NULL);
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_PAINTBRUSH,
|
||||
options,
|
||||
drawable,
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
CODE
|
||||
|
@ -513,16 +507,15 @@ HELP
|
|||
);
|
||||
|
||||
%invoke = (
|
||||
headers => [ qw("paint/gimppaintbrush.h") ],
|
||||
vars => [ "GimpPaintOptions *options" ],
|
||||
vars => [ "GimpPaintInfo *info", "GimpPaintOptions *options" ],
|
||||
code => <<'CODE'
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_PAINT_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpPaintbrush");
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_PAINTBRUSH,
|
||||
options,
|
||||
drawable,
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
CODE
|
||||
|
@ -548,16 +541,15 @@ HELP
|
|||
);
|
||||
|
||||
%invoke = (
|
||||
headers => [ qw("paint/gimppencil.h" "paint/gimppenciloptions.h") ],
|
||||
vars => [ "GimpPaintOptions *options" ],
|
||||
vars => [ "GimpPaintInfo *info", "GimpPaintOptions *options" ],
|
||||
code => <<'CODE'
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_PENCIL_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpPencil");
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_PENCIL,
|
||||
options,
|
||||
drawable,
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
CODE
|
||||
|
@ -584,20 +576,19 @@ HELP
|
|||
);
|
||||
|
||||
%invoke = (
|
||||
headers => [ qw("paint/gimpsmudge.h" "paint/gimpsmudgeoptions.h") ],
|
||||
vars => [ "GimpPaintOptions *options" ],
|
||||
vars => [ "GimpPaintInfo *info", "GimpPaintOptions *options" ],
|
||||
code => <<'CODE'
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_SMUDGE_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpSmudge");
|
||||
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
g_object_set (options,
|
||||
"rate", pressure,
|
||||
NULL);
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_SMUDGE,
|
||||
options,
|
||||
drawable,
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
CODE
|
||||
|
@ -625,16 +616,15 @@ HELP
|
|||
);
|
||||
|
||||
%invoke = (
|
||||
headers => [ qw("paint/gimpsmudge.h" "paint/gimpsmudgeoptions.h") ],
|
||||
vars => [ "GimpPaintOptions *options" ],
|
||||
vars => [ "GimpPaintInfo *info", "GimpPaintOptions *options" ],
|
||||
code => <<'CODE'
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_SMUDGE_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpSmudge");
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_SMUDGE,
|
||||
options,
|
||||
drawable,
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
CODE
|
||||
|
@ -666,11 +656,13 @@ HELP
|
|||
);
|
||||
|
||||
%invoke = (
|
||||
headers => [ qw("paint/gimpdodgeburn.h" "paint/gimpdodgeburnoptions.h") ],
|
||||
vars => [ "GimpPaintOptions *options" ],
|
||||
vars => [ "GimpPaintInfo *info", "GimpPaintOptions *options" ],
|
||||
code => <<'CODE'
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_DODGE_BURN_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpDodgeBurn");
|
||||
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
g_object_set (options,
|
||||
"type", dodgeburn_type,
|
||||
|
@ -678,10 +670,7 @@ HELP
|
|||
"exposure", exposure,
|
||||
NULL);
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_DODGE_BURN,
|
||||
options,
|
||||
drawable,
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
CODE
|
||||
|
@ -708,16 +697,15 @@ HELP
|
|||
);
|
||||
|
||||
%invoke = (
|
||||
headers => [ qw("paint/gimpdodgeburn.h" "paint/gimpdodgeburnoptions.h") ],
|
||||
vars => [ "GimpPaintOptions *options" ],
|
||||
vars => [ "GimpPaintInfo *info", "GimpPaintOptions *options" ],
|
||||
code => <<'CODE'
|
||||
{
|
||||
options = gimp_paint_options_new (gimp, GIMP_TYPE_DODGE_BURN_OPTIONS);
|
||||
info = (GimpPaintInfo *)
|
||||
gimp_container_get_child_by_name (gimp->paint_info_list, "GimpDodgeBurn");
|
||||
|
||||
success = paint_tools_stroke (gimp, context,
|
||||
GIMP_TYPE_DODGE_BURN,
|
||||
options,
|
||||
drawable,
|
||||
options = gimp_paint_options_new (info);
|
||||
|
||||
success = paint_tools_stroke (gimp, context, options, drawable,
|
||||
num_strokes, strokes);
|
||||
}
|
||||
CODE
|
||||
|
@ -741,13 +729,13 @@ sub ink {
|
|||
}
|
||||
|
||||
@headers = qw("libgimpmath/gimpmath.h" "paint/paint-types.h"
|
||||
"paint/gimppaintcore-stroke.h" "core/gimp.h");
|
||||
"paint/gimppaintcore-stroke.h" "paint/gimppaintoptions.h"
|
||||
"core/gimp.h" "core/gimpcontainer.h" "core/gimppaintinfo.h");
|
||||
|
||||
$extra{app}->{code} = <<'CODE';
|
||||
static gboolean
|
||||
paint_tools_stroke (Gimp *gimp,
|
||||
GimpContext *context,
|
||||
GType core_type,
|
||||
GimpPaintOptions *options,
|
||||
GimpDrawable *drawable,
|
||||
gint n_strokes,
|
||||
|
@ -766,7 +754,7 @@ paint_tools_stroke (Gimp *gimp,
|
|||
FALSE);
|
||||
gimp_context_set_parent (GIMP_CONTEXT (options), context);
|
||||
|
||||
core = g_object_new (core_type, NULL);
|
||||
core = g_object_new (options->paint_info->paint_type, NULL);
|
||||
|
||||
coords = g_new (GimpCoords, n_strokes);
|
||||
|
||||
|
|
Loading…
Reference in New Issue