mirror of https://github.com/GNOME/gimp.git
Switch to using GimpDynamicsOutput's properties
* app/core/gimpdynamics.c: remove all boolean properties and add the outputs as properties instead. Make sure changes on the outputs get notified on the dynamics object. * app/widgets/gimpdynamicseditor.c: change widget creation accordingly, also copy around the properties correctly when copying between dynamics objects (fixes NULL filenames on GimpData).
This commit is contained in:
parent
c794fe0af2
commit
8df73b9323
|
@ -33,61 +33,7 @@
|
|||
#include "gimp-intl.h"
|
||||
|
||||
|
||||
#define DEFAULT_NAME "Nameless dynamics"
|
||||
|
||||
#define DEFAULT_PRESSURE_OPACITY TRUE
|
||||
#define DEFAULT_PRESSURE_HARDNESS FALSE
|
||||
#define DEFAULT_PRESSURE_RATE FALSE
|
||||
#define DEFAULT_PRESSURE_SIZE FALSE
|
||||
#define DEFAULT_PRESSURE_ASPECT_RATIO FALSE
|
||||
#define DEFAULT_PRESSURE_COLOR FALSE
|
||||
#define DEFAULT_PRESSURE_ANGLE FALSE
|
||||
#define DEFAULT_PRESSURE_JITTER FALSE
|
||||
|
||||
#define DEFAULT_VELOCITY_OPACITY FALSE
|
||||
#define DEFAULT_VELOCITY_HARDNESS FALSE
|
||||
#define DEFAULT_VELOCITY_RATE FALSE
|
||||
#define DEFAULT_VELOCITY_SIZE FALSE
|
||||
#define DEFAULT_VELOCITY_ASPECT_RATIO FALSE
|
||||
#define DEFAULT_VELOCITY_COLOR FALSE
|
||||
#define DEFAULT_VELOCITY_ANGLE FALSE
|
||||
#define DEFAULT_VELOCITY_JITTER TRUE
|
||||
|
||||
#define DEFAULT_DIRECTION_OPACITY FALSE
|
||||
#define DEFAULT_DIRECTION_HARDNESS FALSE
|
||||
#define DEFAULT_DIRECTION_RATE FALSE
|
||||
#define DEFAULT_DIRECTION_SIZE FALSE
|
||||
#define DEFAULT_DIRECTION_ASPECT_RATIO FALSE
|
||||
#define DEFAULT_DIRECTION_COLOR FALSE
|
||||
#define DEFAULT_DIRECTION_ANGLE FALSE
|
||||
#define DEFAULT_DIRECTION_JITTER FALSE
|
||||
|
||||
#define DEFAULT_TILT_OPACITY FALSE
|
||||
#define DEFAULT_TILT_HARDNESS FALSE
|
||||
#define DEFAULT_TILT_RATE FALSE
|
||||
#define DEFAULT_TILT_SIZE FALSE
|
||||
#define DEFAULT_TILT_ASPECT_RATIO FALSE
|
||||
#define DEFAULT_TILT_COLOR FALSE
|
||||
#define DEFAULT_TILT_ANGLE FALSE
|
||||
#define DEFAULT_TILT_JITTER FALSE
|
||||
|
||||
#define DEFAULT_RANDOM_OPACITY FALSE
|
||||
#define DEFAULT_RANDOM_HARDNESS FALSE
|
||||
#define DEFAULT_RANDOM_RATE FALSE
|
||||
#define DEFAULT_RANDOM_SIZE FALSE
|
||||
#define DEFAULT_RANDOM_ASPECT_RATIO FALSE
|
||||
#define DEFAULT_RANDOM_COLOR FALSE
|
||||
#define DEFAULT_RANDOM_ANGLE FALSE
|
||||
#define DEFAULT_RANDOM_JITTER FALSE
|
||||
|
||||
#define DEFAULT_FADING_OPACITY FALSE
|
||||
#define DEFAULT_FADING_HARDNESS FALSE
|
||||
#define DEFAULT_FADING_RATE FALSE
|
||||
#define DEFAULT_FADING_SIZE FALSE
|
||||
#define DEFAULT_FADING_ASPECT_RATIO FALSE
|
||||
#define DEFAULT_FADING_COLOR FALSE
|
||||
#define DEFAULT_FADING_ANGLE FALSE
|
||||
#define DEFAULT_FADING_JITTER FALSE
|
||||
#define DEFAULT_NAME "Nameless dynamics"
|
||||
|
||||
enum
|
||||
{
|
||||
|
@ -95,59 +41,14 @@ enum
|
|||
|
||||
PROP_NAME,
|
||||
|
||||
PROP_PRESSURE_OPACITY,
|
||||
PROP_PRESSURE_HARDNESS,
|
||||
PROP_PRESSURE_RATE,
|
||||
PROP_PRESSURE_SIZE,
|
||||
PROP_PRESSURE_ASPECT_RATIO,
|
||||
PROP_PRESSURE_COLOR,
|
||||
PROP_PRESSURE_ANGLE,
|
||||
PROP_PRESSURE_JITTER,
|
||||
|
||||
PROP_VELOCITY_OPACITY,
|
||||
PROP_VELOCITY_HARDNESS,
|
||||
PROP_VELOCITY_RATE,
|
||||
PROP_VELOCITY_SIZE,
|
||||
PROP_VELOCITY_ASPECT_RATIO,
|
||||
PROP_VELOCITY_COLOR,
|
||||
PROP_VELOCITY_ANGLE,
|
||||
PROP_VELOCITY_JITTER,
|
||||
|
||||
PROP_DIRECTION_OPACITY,
|
||||
PROP_DIRECTION_HARDNESS,
|
||||
PROP_DIRECTION_RATE,
|
||||
PROP_DIRECTION_SIZE,
|
||||
PROP_DIRECTION_ASPECT_RATIO,
|
||||
PROP_DIRECTION_COLOR,
|
||||
PROP_DIRECTION_ANGLE,
|
||||
PROP_DIRECTION_JITTER,
|
||||
|
||||
PROP_TILT_OPACITY,
|
||||
PROP_TILT_HARDNESS,
|
||||
PROP_TILT_RATE,
|
||||
PROP_TILT_SIZE,
|
||||
PROP_TILT_ASPECT_RATIO,
|
||||
PROP_TILT_COLOR,
|
||||
PROP_TILT_ANGLE,
|
||||
PROP_TILT_JITTER,
|
||||
|
||||
PROP_RANDOM_OPACITY,
|
||||
PROP_RANDOM_HARDNESS,
|
||||
PROP_RANDOM_RATE,
|
||||
PROP_RANDOM_SIZE,
|
||||
PROP_RANDOM_ASPECT_RATIO,
|
||||
PROP_RANDOM_COLOR,
|
||||
PROP_RANDOM_ANGLE,
|
||||
PROP_RANDOM_JITTER,
|
||||
|
||||
PROP_FADING_OPACITY,
|
||||
PROP_FADING_HARDNESS,
|
||||
PROP_FADING_RATE,
|
||||
PROP_FADING_SIZE,
|
||||
PROP_FADING_ASPECT_RATIO,
|
||||
PROP_FADING_COLOR,
|
||||
PROP_FADING_ANGLE,
|
||||
PROP_FADING_JITTER
|
||||
PROP_OPACITY_OUTPUT,
|
||||
PROP_HARDNESS_OUTPUT,
|
||||
PROP_RATE_OUTPUT,
|
||||
PROP_SIZE_OUTPUT,
|
||||
PROP_ASPECT_RATIO_OUTPUT,
|
||||
PROP_COLOR_OUTPUT,
|
||||
PROP_ANGLE_OUTPUT,
|
||||
PROP_JITTER_OUTPUT
|
||||
};
|
||||
|
||||
|
||||
|
@ -163,19 +64,25 @@ static void gimp_dynamics_get_property (GObject *object,
|
|||
|
||||
static const gchar * gimp_dynamics_get_extension (GimpData *data);
|
||||
|
||||
static GimpDynamicsOutput *
|
||||
gimp_dynamics_create_output (GimpDynamics *dynamics,
|
||||
const gchar *name);
|
||||
static void gimp_dynamics_output_notify (GObject *output,
|
||||
const GParamSpec *pspec,
|
||||
GimpDynamics *dynamics);
|
||||
|
||||
|
||||
G_DEFINE_TYPE (GimpDynamics, gimp_dynamics,
|
||||
GIMP_TYPE_DATA)
|
||||
|
||||
|
||||
#define parent_class gimp_dynamics_parent_class
|
||||
|
||||
|
||||
static void
|
||||
gimp_dynamics_class_init (GimpDynamicsClass *klass)
|
||||
{
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
GimpDataClass *data_class = GIMP_DATA_CLASS (klass);
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
GimpDataClass *data_class = GIMP_DATA_CLASS (klass);
|
||||
|
||||
object_class->finalize = gimp_dynamics_finalize;
|
||||
object_class->set_property = gimp_dynamics_set_property;
|
||||
|
@ -189,220 +96,68 @@ gimp_dynamics_class_init (GimpDynamicsClass *klass)
|
|||
DEFAULT_NAME,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_PRESSURE_OPACITY,
|
||||
"pressure-opacity", NULL,
|
||||
DEFAULT_PRESSURE_OPACITY,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_PRESSURE_HARDNESS,
|
||||
"pressure-hardness", NULL,
|
||||
DEFAULT_PRESSURE_HARDNESS,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_PRESSURE_RATE,
|
||||
"pressure-rate", NULL,
|
||||
DEFAULT_PRESSURE_RATE,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_PRESSURE_SIZE,
|
||||
"pressure-size", NULL,
|
||||
DEFAULT_PRESSURE_SIZE,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_PRESSURE_COLOR,
|
||||
"pressure-color", NULL,
|
||||
DEFAULT_PRESSURE_COLOR,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_PRESSURE_ANGLE,
|
||||
"pressure-angle", NULL,
|
||||
DEFAULT_PRESSURE_COLOR,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_PRESSURE_ASPECT_RATIO,
|
||||
"pressure-aspect-ratio", NULL,
|
||||
DEFAULT_PRESSURE_ASPECT_RATIO,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_PRESSURE_JITTER,
|
||||
"pressure-jitter", NULL,
|
||||
DEFAULT_PRESSURE_JITTER,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_OBJECT (object_class, PROP_OPACITY_OUTPUT,
|
||||
"opacity-output", NULL,
|
||||
GIMP_TYPE_DYNAMICS_OUTPUT,
|
||||
GIMP_CONFIG_PARAM_AGGREGATE);
|
||||
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_VELOCITY_OPACITY,
|
||||
"velocity-opacity", NULL,
|
||||
DEFAULT_VELOCITY_OPACITY,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_VELOCITY_HARDNESS,
|
||||
"velocity-hardness", NULL,
|
||||
DEFAULT_VELOCITY_HARDNESS,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_VELOCITY_RATE,
|
||||
"velocity-rate", NULL,
|
||||
DEFAULT_VELOCITY_RATE,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_VELOCITY_SIZE,
|
||||
"velocity-size", NULL,
|
||||
DEFAULT_VELOCITY_SIZE,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_VELOCITY_COLOR,
|
||||
"velocity-color", NULL,
|
||||
DEFAULT_VELOCITY_COLOR,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_VELOCITY_ANGLE,
|
||||
"velocity-angle", NULL,
|
||||
DEFAULT_VELOCITY_COLOR,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_VELOCITY_ASPECT_RATIO,
|
||||
"velocity-aspect-ratio", NULL,
|
||||
DEFAULT_VELOCITY_ASPECT_RATIO,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_VELOCITY_JITTER,
|
||||
"velocity-jitter", NULL,
|
||||
DEFAULT_VELOCITY_JITTER,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_OBJECT (object_class, PROP_HARDNESS_OUTPUT,
|
||||
"hardness-output", NULL,
|
||||
GIMP_TYPE_DYNAMICS_OUTPUT,
|
||||
GIMP_CONFIG_PARAM_AGGREGATE);
|
||||
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_DIRECTION_OPACITY,
|
||||
"direction-opacity", NULL,
|
||||
DEFAULT_DIRECTION_OPACITY,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_DIRECTION_HARDNESS,
|
||||
"direction-hardness", NULL,
|
||||
DEFAULT_DIRECTION_HARDNESS,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_DIRECTION_RATE,
|
||||
"direction-rate", NULL,
|
||||
DEFAULT_DIRECTION_RATE,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_DIRECTION_SIZE,
|
||||
"direction-size", NULL,
|
||||
DEFAULT_DIRECTION_SIZE,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_DIRECTION_COLOR,
|
||||
"direction-color", NULL,
|
||||
DEFAULT_DIRECTION_COLOR,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_DIRECTION_ANGLE,
|
||||
"direction-angle", NULL,
|
||||
DEFAULT_DIRECTION_ANGLE,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_DIRECTION_ASPECT_RATIO,
|
||||
"direction-aspect-ratio", NULL,
|
||||
DEFAULT_DIRECTION_ASPECT_RATIO,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_DIRECTION_JITTER,
|
||||
"direction-jitter", NULL,
|
||||
DEFAULT_DIRECTION_JITTER,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_OBJECT (object_class, PROP_RATE_OUTPUT,
|
||||
"rate-output", NULL,
|
||||
GIMP_TYPE_DYNAMICS_OUTPUT,
|
||||
GIMP_CONFIG_PARAM_AGGREGATE);
|
||||
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_TILT_OPACITY,
|
||||
"tilt-opacity", NULL,
|
||||
DEFAULT_TILT_OPACITY,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_TILT_HARDNESS,
|
||||
"tilt-hardness", NULL,
|
||||
DEFAULT_TILT_HARDNESS,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_TILT_RATE,
|
||||
"tilt-rate", NULL,
|
||||
DEFAULT_TILT_RATE,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_TILT_SIZE,
|
||||
"tilt-size", NULL,
|
||||
DEFAULT_TILT_SIZE,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_TILT_COLOR,
|
||||
"tilt-color", NULL,
|
||||
DEFAULT_TILT_COLOR,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_TILT_ANGLE,
|
||||
"tilt-angle", NULL,
|
||||
DEFAULT_TILT_ANGLE,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_TILT_ASPECT_RATIO,
|
||||
"tilt-aspect-ratio", NULL,
|
||||
DEFAULT_TILT_ASPECT_RATIO,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_TILT_JITTER,
|
||||
"tilt-jitter", NULL,
|
||||
DEFAULT_TILT_JITTER,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_OBJECT (object_class, PROP_SIZE_OUTPUT,
|
||||
"size-output", NULL,
|
||||
GIMP_TYPE_DYNAMICS_OUTPUT,
|
||||
GIMP_CONFIG_PARAM_AGGREGATE);
|
||||
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_RANDOM_OPACITY,
|
||||
"random-opacity", NULL,
|
||||
DEFAULT_RANDOM_OPACITY,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_RANDOM_HARDNESS,
|
||||
"random-hardness", NULL,
|
||||
DEFAULT_RANDOM_HARDNESS,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_RANDOM_RATE,
|
||||
"random-rate", NULL,
|
||||
DEFAULT_RANDOM_RATE,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_RANDOM_SIZE,
|
||||
"random-size", NULL,
|
||||
DEFAULT_RANDOM_SIZE,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_RANDOM_COLOR,
|
||||
"random-color", NULL,
|
||||
DEFAULT_RANDOM_COLOR,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_RANDOM_ANGLE,
|
||||
"random-angle", NULL,
|
||||
DEFAULT_RANDOM_ANGLE,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_RANDOM_ASPECT_RATIO,
|
||||
"random-aspect-ratio", NULL,
|
||||
DEFAULT_RANDOM_ASPECT_RATIO,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_RANDOM_JITTER,
|
||||
"random-jitter", NULL,
|
||||
DEFAULT_RANDOM_JITTER,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_OBJECT (object_class, PROP_ASPECT_RATIO_OUTPUT,
|
||||
"aspect-ratio-output", NULL,
|
||||
GIMP_TYPE_DYNAMICS_OUTPUT,
|
||||
GIMP_CONFIG_PARAM_AGGREGATE);
|
||||
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_FADING_OPACITY,
|
||||
"fading-opacity", NULL,
|
||||
DEFAULT_FADING_OPACITY,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_FADING_HARDNESS,
|
||||
"fading-hardness", NULL,
|
||||
DEFAULT_FADING_HARDNESS,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_FADING_RATE,
|
||||
"fading-rate", NULL,
|
||||
DEFAULT_FADING_RATE,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_FADING_SIZE,
|
||||
"fading-size", NULL,
|
||||
DEFAULT_FADING_SIZE,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_FADING_COLOR,
|
||||
"fading-color", NULL,
|
||||
DEFAULT_FADING_COLOR,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_FADING_ANGLE,
|
||||
"fading-angle", NULL,
|
||||
DEFAULT_FADING_ANGLE,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_FADING_ASPECT_RATIO,
|
||||
"fading-aspect-ratio", NULL,
|
||||
DEFAULT_FADING_ASPECT_RATIO,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_FADING_JITTER,
|
||||
"fading-jitter", NULL,
|
||||
DEFAULT_FADING_JITTER,
|
||||
GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONFIG_INSTALL_PROP_OBJECT (object_class, PROP_COLOR_OUTPUT,
|
||||
"color-output", NULL,
|
||||
GIMP_TYPE_DYNAMICS_OUTPUT,
|
||||
GIMP_CONFIG_PARAM_AGGREGATE);
|
||||
|
||||
GIMP_CONFIG_INSTALL_PROP_OBJECT (object_class, PROP_ANGLE_OUTPUT,
|
||||
"angle-output", NULL,
|
||||
GIMP_TYPE_DYNAMICS_OUTPUT,
|
||||
GIMP_CONFIG_PARAM_AGGREGATE);
|
||||
|
||||
GIMP_CONFIG_INSTALL_PROP_OBJECT (object_class, PROP_JITTER_OUTPUT,
|
||||
"jitter-output", NULL,
|
||||
GIMP_TYPE_DYNAMICS_OUTPUT,
|
||||
GIMP_CONFIG_PARAM_AGGREGATE);
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_dynamics_init (GimpDynamics *dynamics)
|
||||
{
|
||||
dynamics->opacity_dynamics = gimp_dynamics_output_new ("");
|
||||
dynamics->hardness_dynamics = gimp_dynamics_output_new ("");
|
||||
dynamics->rate_dynamics = gimp_dynamics_output_new ("");
|
||||
dynamics->size_dynamics = gimp_dynamics_output_new ("");
|
||||
dynamics->aspect_ratio_dynamics = gimp_dynamics_output_new ("");
|
||||
dynamics->color_dynamics = gimp_dynamics_output_new ("");
|
||||
dynamics->angle_dynamics = gimp_dynamics_output_new ("");
|
||||
dynamics->jitter_dynamics = gimp_dynamics_output_new ("");
|
||||
|
||||
dynamics->opacity_dynamics = gimp_dynamics_create_output (dynamics,
|
||||
"opacity-output");
|
||||
dynamics->hardness_dynamics = gimp_dynamics_create_output (dynamics,
|
||||
"hardness-output");
|
||||
dynamics->rate_dynamics = gimp_dynamics_create_output (dynamics,
|
||||
"rate-output");
|
||||
dynamics->size_dynamics = gimp_dynamics_create_output (dynamics,
|
||||
"size-output");
|
||||
dynamics->aspect_ratio_dynamics = gimp_dynamics_create_output (dynamics,
|
||||
"aspect-ratio-output");
|
||||
dynamics->color_dynamics = gimp_dynamics_create_output (dynamics,
|
||||
"color-output");
|
||||
dynamics->angle_dynamics = gimp_dynamics_create_output (dynamics,
|
||||
"angle-output");
|
||||
dynamics->jitter_dynamics = gimp_dynamics_create_output (dynamics,
|
||||
"jitter-output");
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
gimp_dynamics_finalize (GObject *object)
|
||||
{
|
||||
|
@ -426,15 +181,9 @@ gimp_dynamics_set_property (GObject *object,
|
|||
const GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
GimpDynamics *dynamics = GIMP_DYNAMICS (object);
|
||||
GimpDynamicsOutput *opacity_dynamics = dynamics->opacity_dynamics;
|
||||
GimpDynamicsOutput *hardness_dynamics = dynamics->hardness_dynamics;
|
||||
GimpDynamicsOutput *rate_dynamics = dynamics->rate_dynamics;
|
||||
GimpDynamicsOutput *size_dynamics = dynamics->size_dynamics;
|
||||
GimpDynamicsOutput *aspect_ratio_dynamics = dynamics->aspect_ratio_dynamics;
|
||||
GimpDynamicsOutput *color_dynamics = dynamics->color_dynamics;
|
||||
GimpDynamicsOutput *angle_dynamics = dynamics->angle_dynamics;
|
||||
GimpDynamicsOutput *jitter_dynamics = dynamics->jitter_dynamics;
|
||||
GimpDynamics *dynamics = GIMP_DYNAMICS (object);
|
||||
GimpDynamicsOutput *src_output = NULL;
|
||||
GimpDynamicsOutput *dest_output = NULL;
|
||||
|
||||
switch (property_id)
|
||||
{
|
||||
|
@ -442,203 +191,57 @@ gimp_dynamics_set_property (GObject *object,
|
|||
gimp_object_set_name (GIMP_OBJECT (dynamics), g_value_get_string (value));
|
||||
break;
|
||||
|
||||
case PROP_PRESSURE_OPACITY:
|
||||
opacity_dynamics->pressure = g_value_get_boolean (value);
|
||||
case PROP_OPACITY_OUTPUT:
|
||||
src_output = g_value_get_object (value);
|
||||
dest_output = dynamics->opacity_dynamics;
|
||||
break;
|
||||
|
||||
case PROP_PRESSURE_HARDNESS:
|
||||
hardness_dynamics->pressure = g_value_get_boolean (value);
|
||||
case PROP_HARDNESS_OUTPUT:
|
||||
src_output = g_value_get_object (value);
|
||||
dest_output = dynamics->hardness_dynamics;
|
||||
break;
|
||||
|
||||
case PROP_PRESSURE_RATE:
|
||||
rate_dynamics->pressure = g_value_get_boolean (value);
|
||||
case PROP_RATE_OUTPUT:
|
||||
src_output = g_value_get_object (value);
|
||||
dest_output = dynamics->rate_dynamics;
|
||||
break;
|
||||
|
||||
case PROP_PRESSURE_SIZE:
|
||||
size_dynamics->pressure = g_value_get_boolean (value);
|
||||
case PROP_SIZE_OUTPUT:
|
||||
src_output = g_value_get_object (value);
|
||||
dest_output = dynamics->size_dynamics;
|
||||
break;
|
||||
|
||||
case PROP_PRESSURE_ASPECT_RATIO:
|
||||
aspect_ratio_dynamics->pressure = g_value_get_boolean (value);
|
||||
case PROP_ASPECT_RATIO_OUTPUT:
|
||||
src_output = g_value_get_object (value);
|
||||
dest_output = dynamics->aspect_ratio_dynamics;
|
||||
break;
|
||||
|
||||
case PROP_PRESSURE_COLOR:
|
||||
color_dynamics->pressure = g_value_get_boolean (value);
|
||||
case PROP_COLOR_OUTPUT:
|
||||
src_output = g_value_get_object (value);
|
||||
dest_output = dynamics->color_dynamics;
|
||||
break;
|
||||
|
||||
case PROP_PRESSURE_ANGLE:
|
||||
angle_dynamics->pressure = g_value_get_boolean (value);
|
||||
case PROP_ANGLE_OUTPUT:
|
||||
src_output = g_value_get_object (value);
|
||||
dest_output = dynamics->angle_dynamics;
|
||||
break;
|
||||
|
||||
case PROP_PRESSURE_JITTER:
|
||||
jitter_dynamics->pressure = g_value_get_boolean (value);
|
||||
case PROP_JITTER_OUTPUT:
|
||||
src_output = g_value_get_object (value);
|
||||
dest_output = dynamics->jitter_dynamics;
|
||||
break;
|
||||
|
||||
case PROP_VELOCITY_OPACITY:
|
||||
opacity_dynamics->velocity = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_VELOCITY_HARDNESS:
|
||||
hardness_dynamics->velocity = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_VELOCITY_RATE:
|
||||
rate_dynamics->velocity = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_VELOCITY_SIZE:
|
||||
size_dynamics->velocity = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_VELOCITY_ASPECT_RATIO:
|
||||
aspect_ratio_dynamics->velocity = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_VELOCITY_COLOR:
|
||||
color_dynamics->velocity = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_VELOCITY_ANGLE:
|
||||
angle_dynamics->velocity = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_VELOCITY_JITTER:
|
||||
jitter_dynamics->velocity = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_DIRECTION_OPACITY:
|
||||
opacity_dynamics->direction = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_DIRECTION_HARDNESS:
|
||||
hardness_dynamics->direction = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_DIRECTION_RATE:
|
||||
rate_dynamics->direction = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_DIRECTION_SIZE:
|
||||
size_dynamics->direction = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_DIRECTION_ASPECT_RATIO:
|
||||
aspect_ratio_dynamics->direction = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_DIRECTION_COLOR:
|
||||
color_dynamics->direction = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_DIRECTION_ANGLE:
|
||||
angle_dynamics->direction = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_DIRECTION_JITTER:
|
||||
jitter_dynamics->direction = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_TILT_OPACITY:
|
||||
opacity_dynamics->tilt = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_TILT_HARDNESS:
|
||||
hardness_dynamics->tilt = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_TILT_RATE:
|
||||
rate_dynamics->tilt = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_TILT_SIZE:
|
||||
size_dynamics->tilt = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_TILT_ASPECT_RATIO:
|
||||
aspect_ratio_dynamics->tilt = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_TILT_COLOR:
|
||||
color_dynamics->tilt = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_TILT_ANGLE:
|
||||
angle_dynamics->tilt = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_TILT_JITTER:
|
||||
jitter_dynamics->tilt = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_RANDOM_OPACITY:
|
||||
opacity_dynamics->random = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_RANDOM_HARDNESS:
|
||||
hardness_dynamics->random = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_RANDOM_RATE:
|
||||
rate_dynamics->random = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_RANDOM_SIZE:
|
||||
size_dynamics->random = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_RANDOM_ASPECT_RATIO:
|
||||
aspect_ratio_dynamics->random = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_RANDOM_COLOR:
|
||||
color_dynamics->random = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_RANDOM_ANGLE:
|
||||
angle_dynamics->random = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_RANDOM_JITTER:
|
||||
jitter_dynamics->random = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_FADING_OPACITY:
|
||||
opacity_dynamics->fade = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_FADING_HARDNESS:
|
||||
hardness_dynamics->fade = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_FADING_RATE:
|
||||
rate_dynamics->fade = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_FADING_SIZE:
|
||||
size_dynamics->fade = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_FADING_ASPECT_RATIO:
|
||||
aspect_ratio_dynamics->fade = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_FADING_COLOR:
|
||||
color_dynamics->fade = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_FADING_ANGLE:
|
||||
angle_dynamics->fade = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
case PROP_FADING_JITTER:
|
||||
jitter_dynamics->fade = g_value_get_boolean (value);
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
||||
break;
|
||||
}
|
||||
|
||||
if (src_output && dest_output)
|
||||
{
|
||||
gimp_config_copy (GIMP_CONFIG (src_output),
|
||||
GIMP_CONFIG (dest_output),
|
||||
GIMP_CONFIG_PARAM_SERIALIZE);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -647,15 +250,7 @@ gimp_dynamics_get_property (GObject *object,
|
|||
GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
GimpDynamics *dynamics = GIMP_DYNAMICS (object);
|
||||
GimpDynamicsOutput *opacity_dynamics = dynamics->opacity_dynamics;
|
||||
GimpDynamicsOutput *hardness_dynamics = dynamics->hardness_dynamics;
|
||||
GimpDynamicsOutput *rate_dynamics = dynamics->rate_dynamics;
|
||||
GimpDynamicsOutput *size_dynamics = dynamics->size_dynamics;
|
||||
GimpDynamicsOutput *aspect_ratio_dynamics = dynamics->aspect_ratio_dynamics;
|
||||
GimpDynamicsOutput *color_dynamics = dynamics->color_dynamics;
|
||||
GimpDynamicsOutput *angle_dynamics = dynamics->angle_dynamics;
|
||||
GimpDynamicsOutput *jitter_dynamics = dynamics->jitter_dynamics;
|
||||
GimpDynamics *dynamics = GIMP_DYNAMICS (object);
|
||||
|
||||
switch (property_id)
|
||||
{
|
||||
|
@ -663,199 +258,36 @@ gimp_dynamics_get_property (GObject *object,
|
|||
g_value_set_string (value, gimp_object_get_name (dynamics));
|
||||
break;
|
||||
|
||||
case PROP_PRESSURE_OPACITY:
|
||||
g_value_set_boolean (value, opacity_dynamics->pressure);
|
||||
case PROP_OPACITY_OUTPUT:
|
||||
g_value_set_object (value, dynamics->opacity_dynamics);
|
||||
break;
|
||||
|
||||
case PROP_PRESSURE_HARDNESS:
|
||||
g_value_set_boolean (value, hardness_dynamics->pressure);
|
||||
case PROP_HARDNESS_OUTPUT:
|
||||
g_value_set_object (value, dynamics->hardness_dynamics);
|
||||
break;
|
||||
|
||||
case PROP_PRESSURE_RATE:
|
||||
g_value_set_boolean (value, rate_dynamics->pressure);
|
||||
case PROP_RATE_OUTPUT:
|
||||
g_value_set_object (value, dynamics->rate_dynamics);
|
||||
break;
|
||||
|
||||
case PROP_PRESSURE_SIZE:
|
||||
g_value_set_boolean (value, size_dynamics->pressure);
|
||||
case PROP_SIZE_OUTPUT:
|
||||
g_value_set_object (value, dynamics->size_dynamics);
|
||||
break;
|
||||
|
||||
case PROP_PRESSURE_ASPECT_RATIO:
|
||||
g_value_set_boolean (value, aspect_ratio_dynamics->pressure);
|
||||
case PROP_ASPECT_RATIO_OUTPUT:
|
||||
g_value_set_object (value, dynamics->aspect_ratio_dynamics);
|
||||
break;
|
||||
|
||||
case PROP_PRESSURE_COLOR:
|
||||
g_value_set_boolean (value, color_dynamics->pressure);
|
||||
case PROP_COLOR_OUTPUT:
|
||||
g_value_set_object (value, dynamics->color_dynamics);
|
||||
break;
|
||||
|
||||
case PROP_PRESSURE_ANGLE:
|
||||
g_value_set_boolean (value, angle_dynamics->pressure);
|
||||
case PROP_ANGLE_OUTPUT:
|
||||
g_value_set_object (value, dynamics->angle_dynamics);
|
||||
break;
|
||||
|
||||
case PROP_PRESSURE_JITTER:
|
||||
g_value_set_boolean (value, jitter_dynamics->pressure);
|
||||
break;
|
||||
|
||||
case PROP_VELOCITY_OPACITY:
|
||||
g_value_set_boolean (value, opacity_dynamics->velocity);
|
||||
break;
|
||||
|
||||
case PROP_VELOCITY_HARDNESS:
|
||||
g_value_set_boolean (value, hardness_dynamics->velocity);
|
||||
break;
|
||||
|
||||
case PROP_VELOCITY_RATE:
|
||||
g_value_set_boolean (value, rate_dynamics->velocity);
|
||||
break;
|
||||
|
||||
case PROP_VELOCITY_SIZE:
|
||||
g_value_set_boolean (value, size_dynamics->velocity);
|
||||
break;
|
||||
|
||||
case PROP_VELOCITY_ASPECT_RATIO:
|
||||
g_value_set_boolean (value, aspect_ratio_dynamics->velocity);
|
||||
break;
|
||||
|
||||
case PROP_VELOCITY_COLOR:
|
||||
g_value_set_boolean (value, color_dynamics->velocity);
|
||||
break;
|
||||
|
||||
case PROP_VELOCITY_ANGLE:
|
||||
g_value_set_boolean (value, angle_dynamics->velocity);
|
||||
break;
|
||||
|
||||
case PROP_VELOCITY_JITTER:
|
||||
g_value_set_boolean (value, jitter_dynamics->velocity);
|
||||
break;
|
||||
|
||||
case PROP_DIRECTION_OPACITY:
|
||||
g_value_set_boolean (value, opacity_dynamics->direction);
|
||||
break;
|
||||
|
||||
case PROP_DIRECTION_HARDNESS:
|
||||
g_value_set_boolean (value, hardness_dynamics->direction);
|
||||
break;
|
||||
|
||||
case PROP_DIRECTION_RATE:
|
||||
g_value_set_boolean (value, rate_dynamics->direction);
|
||||
break;
|
||||
|
||||
case PROP_DIRECTION_SIZE:
|
||||
g_value_set_boolean (value, size_dynamics->direction);
|
||||
break;
|
||||
|
||||
case PROP_DIRECTION_ASPECT_RATIO:
|
||||
g_value_set_boolean (value, aspect_ratio_dynamics->direction);
|
||||
break;
|
||||
|
||||
case PROP_DIRECTION_COLOR:
|
||||
g_value_set_boolean (value, color_dynamics->direction);
|
||||
break;
|
||||
|
||||
case PROP_DIRECTION_ANGLE:
|
||||
g_value_set_boolean (value, angle_dynamics->direction);
|
||||
break;
|
||||
|
||||
case PROP_DIRECTION_JITTER:
|
||||
g_value_set_boolean (value, jitter_dynamics->direction);
|
||||
break;
|
||||
|
||||
case PROP_TILT_OPACITY:
|
||||
g_value_set_boolean (value, opacity_dynamics->tilt);
|
||||
break;
|
||||
|
||||
case PROP_TILT_HARDNESS:
|
||||
g_value_set_boolean (value, hardness_dynamics->tilt);
|
||||
break;
|
||||
|
||||
case PROP_TILT_RATE:
|
||||
g_value_set_boolean (value, rate_dynamics->tilt);
|
||||
break;
|
||||
|
||||
case PROP_TILT_SIZE:
|
||||
g_value_set_boolean (value, size_dynamics->tilt);
|
||||
break;
|
||||
|
||||
case PROP_TILT_ASPECT_RATIO:
|
||||
g_value_set_boolean (value, aspect_ratio_dynamics->tilt);
|
||||
break;
|
||||
|
||||
case PROP_TILT_COLOR:
|
||||
g_value_set_boolean (value, color_dynamics->tilt);
|
||||
break;
|
||||
|
||||
case PROP_TILT_ANGLE:
|
||||
g_value_set_boolean (value, angle_dynamics->tilt);
|
||||
break;
|
||||
|
||||
case PROP_TILT_JITTER:
|
||||
g_value_set_boolean (value, jitter_dynamics->tilt);
|
||||
break;
|
||||
|
||||
case PROP_RANDOM_OPACITY:
|
||||
g_value_set_boolean (value, opacity_dynamics->random);
|
||||
break;
|
||||
|
||||
case PROP_RANDOM_HARDNESS:
|
||||
g_value_set_boolean (value, hardness_dynamics->random);
|
||||
break;
|
||||
|
||||
case PROP_RANDOM_RATE:
|
||||
g_value_set_boolean (value, rate_dynamics->random);
|
||||
break;
|
||||
|
||||
case PROP_RANDOM_SIZE:
|
||||
g_value_set_boolean (value, size_dynamics->random);
|
||||
break;
|
||||
|
||||
case PROP_RANDOM_ASPECT_RATIO:
|
||||
g_value_set_boolean (value, aspect_ratio_dynamics->random);
|
||||
break;
|
||||
|
||||
case PROP_RANDOM_COLOR:
|
||||
g_value_set_boolean (value, color_dynamics->random);
|
||||
break;
|
||||
|
||||
case PROP_RANDOM_ANGLE:
|
||||
g_value_set_boolean (value, angle_dynamics->random);
|
||||
break;
|
||||
|
||||
case PROP_RANDOM_JITTER:
|
||||
g_value_set_boolean (value, jitter_dynamics->random);
|
||||
break;
|
||||
|
||||
|
||||
/*fading*/
|
||||
|
||||
case PROP_FADING_OPACITY:
|
||||
g_value_set_boolean (value, opacity_dynamics->fade);
|
||||
break;
|
||||
|
||||
case PROP_FADING_HARDNESS:
|
||||
g_value_set_boolean (value, hardness_dynamics->fade);
|
||||
break;
|
||||
|
||||
case PROP_FADING_RATE:
|
||||
g_value_set_boolean (value, rate_dynamics->fade);
|
||||
break;
|
||||
|
||||
case PROP_FADING_SIZE:
|
||||
g_value_set_boolean (value, size_dynamics->fade);
|
||||
break;
|
||||
|
||||
case PROP_FADING_ASPECT_RATIO:
|
||||
g_value_set_boolean (value, aspect_ratio_dynamics->fade);
|
||||
break;
|
||||
|
||||
case PROP_FADING_COLOR:
|
||||
g_value_set_boolean (value, color_dynamics->fade);
|
||||
break;
|
||||
|
||||
case PROP_FADING_ANGLE:
|
||||
g_value_set_boolean (value, angle_dynamics->fade);
|
||||
break;
|
||||
|
||||
case PROP_FADING_JITTER:
|
||||
g_value_set_boolean (value, jitter_dynamics->fade);
|
||||
case PROP_JITTER_OUTPUT:
|
||||
g_value_set_object (value, dynamics->jitter_dynamics);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -864,6 +296,15 @@ gimp_dynamics_get_property (GObject *object,
|
|||
}
|
||||
}
|
||||
|
||||
static const gchar *
|
||||
gimp_dynamics_get_extension (GimpData *data)
|
||||
{
|
||||
return GIMP_DYNAMICS_FILE_EXTENSION;
|
||||
}
|
||||
|
||||
|
||||
/* public functions */
|
||||
|
||||
GimpData *
|
||||
gimp_dynamics_new (const gchar *name)
|
||||
{
|
||||
|
@ -891,12 +332,6 @@ gimp_dynamics_get_standard (void)
|
|||
return standard_dynamics;
|
||||
}
|
||||
|
||||
static const gchar *
|
||||
gimp_dynamics_get_extension (GimpData *data)
|
||||
{
|
||||
return GIMP_DYNAMICS_FILE_EXTENSION;
|
||||
}
|
||||
|
||||
gboolean
|
||||
gimp_dynamics_input_fade_enabled (GimpDynamics *dynamics)
|
||||
{
|
||||
|
@ -909,3 +344,27 @@ gimp_dynamics_input_fade_enabled (GimpDynamics *dynamics)
|
|||
dynamics->jitter_dynamics->fade ||
|
||||
dynamics->angle_dynamics->fade);
|
||||
}
|
||||
|
||||
|
||||
/* private functions */
|
||||
|
||||
static GimpDynamicsOutput *
|
||||
gimp_dynamics_create_output (GimpDynamics *dynamics,
|
||||
const gchar *name)
|
||||
{
|
||||
GimpDynamicsOutput *output = gimp_dynamics_output_new (name);
|
||||
|
||||
g_signal_connect (output, "notify",
|
||||
G_CALLBACK (gimp_dynamics_output_notify),
|
||||
dynamics);
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_dynamics_output_notify (GObject *output,
|
||||
const GParamSpec *pspec,
|
||||
GimpDynamics *dynamics)
|
||||
{
|
||||
g_object_notify (G_OBJECT (dynamics), gimp_object_get_name (output));
|
||||
}
|
||||
|
|
|
@ -70,8 +70,7 @@ static void gimp_dynamics_editor_notify_data (GimpDynamics *options,
|
|||
GimpDynamicsEditor *editor);
|
||||
|
||||
static void dynamics_output_maping_row_gui (GObject *config,
|
||||
const gchar *property_name_part,
|
||||
const gchar *property_label,
|
||||
const gchar *row_label,
|
||||
GtkTable *table,
|
||||
gint row,
|
||||
GtkWidget *labels[]);
|
||||
|
@ -161,67 +160,59 @@ gimp_dynamics_editor_init (GimpDynamicsEditor *editor)
|
|||
gtk_container_add (GTK_CONTAINER (vbox), inner_frame);
|
||||
gtk_widget_show (inner_frame);
|
||||
|
||||
|
||||
table = gtk_table_new (9, n_dynamics + 2, FALSE);
|
||||
gtk_container_add (GTK_CONTAINER (inner_frame), table);
|
||||
gtk_widget_show (table);
|
||||
|
||||
|
||||
dynamics_output_maping_row_gui(G_OBJECT(editor->dynamics_model),
|
||||
"opacity",
|
||||
_("Opacity"),
|
||||
table,
|
||||
1,
|
||||
dynamics_labels);
|
||||
dynamics_output_maping_row_gui (G_OBJECT (dynamics->opacity_dynamics),
|
||||
_("Opacity"),
|
||||
GTK_TABLE (table),
|
||||
1,
|
||||
dynamics_labels);
|
||||
|
||||
dynamics_output_maping_row_gui(G_OBJECT(editor->dynamics_model),
|
||||
"hardness",
|
||||
_("Hardness"),
|
||||
table,
|
||||
2,
|
||||
dynamics_labels);
|
||||
dynamics_output_maping_row_gui (G_OBJECT (dynamics->hardness_dynamics),
|
||||
_("Hardness"),
|
||||
GTK_TABLE (table),
|
||||
2,
|
||||
NULL);
|
||||
|
||||
dynamics_output_maping_row_gui(G_OBJECT(editor->dynamics_model),
|
||||
"rate",
|
||||
_("Rate"),
|
||||
table,
|
||||
3,
|
||||
dynamics_labels);
|
||||
dynamics_output_maping_row_gui (G_OBJECT (dynamics->rate_dynamics),
|
||||
_("Rate"),
|
||||
GTK_TABLE (table),
|
||||
3,
|
||||
NULL);
|
||||
|
||||
dynamics_output_maping_row_gui(G_OBJECT(editor->dynamics_model),
|
||||
"size",
|
||||
_("Size"),
|
||||
table,
|
||||
4,
|
||||
dynamics_labels);
|
||||
dynamics_output_maping_row_gui (G_OBJECT (dynamics->size_dynamics),
|
||||
_("Size"),
|
||||
GTK_TABLE (table),
|
||||
4,
|
||||
NULL);
|
||||
|
||||
dynamics_output_maping_row_gui(G_OBJECT(editor->dynamics_model),
|
||||
"aspect-ratio",
|
||||
_("Aspect ratio"),
|
||||
table,
|
||||
5,
|
||||
dynamics_labels);
|
||||
dynamics_output_maping_row_gui (G_OBJECT (dynamics->aspect_ratio_dynamics),
|
||||
_("Aspect ratio"),
|
||||
GTK_TABLE (table),
|
||||
5,
|
||||
NULL);
|
||||
|
||||
dynamics_output_maping_row_gui(G_OBJECT(editor->dynamics_model),
|
||||
"color",
|
||||
_("Color"),
|
||||
table,
|
||||
6,
|
||||
dynamics_labels);
|
||||
dynamics_output_maping_row_gui (G_OBJECT (dynamics->color_dynamics),
|
||||
_("Color"),
|
||||
GTK_TABLE (table),
|
||||
6,
|
||||
NULL);
|
||||
|
||||
dynamics_output_maping_row_gui(G_OBJECT(editor->dynamics_model),
|
||||
"angle",
|
||||
_("Angle"),
|
||||
table,
|
||||
7,
|
||||
dynamics_labels);
|
||||
dynamics_output_maping_row_gui (G_OBJECT (dynamics->angle_dynamics),
|
||||
_("Angle"),
|
||||
GTK_TABLE (table),
|
||||
7,
|
||||
NULL);
|
||||
|
||||
dynamics_output_maping_row_gui (G_OBJECT (dynamics->jitter_dynamics),
|
||||
_("Jitter"),
|
||||
GTK_TABLE (table),
|
||||
8,
|
||||
NULL);
|
||||
|
||||
dynamics_output_maping_row_gui(G_OBJECT(editor->dynamics_model),
|
||||
"jitter",
|
||||
_("Jitter"),
|
||||
table,
|
||||
8,
|
||||
dynamics_labels);
|
||||
fixed = gtk_fixed_new ();
|
||||
gtk_table_attach (GTK_TABLE (table), fixed, 0, n_dynamics + 2, 0, 1,
|
||||
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
|
||||
|
@ -235,7 +226,6 @@ gimp_dynamics_editor_init (GimpDynamicsEditor *editor)
|
|||
gtk_fixed_put (GTK_FIXED (fixed), dynamics_labels[i], 0, 0);
|
||||
gtk_widget_show (dynamics_labels[i]);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -297,7 +287,7 @@ gimp_dynamics_editor_set_data (GimpDataEditor *editor,
|
|||
|
||||
gimp_config_copy (GIMP_CONFIG (editor->data),
|
||||
GIMP_CONFIG (dynamics_editor->dynamics_model),
|
||||
0);
|
||||
GIMP_CONFIG_PARAM_SERIALIZE);
|
||||
|
||||
g_signal_handlers_unblock_by_func (dynamics_editor->dynamics_model,
|
||||
gimp_dynamics_editor_notify_model,
|
||||
|
@ -324,7 +314,7 @@ gimp_dynamics_editor_notify_model (GimpDynamics *options,
|
|||
|
||||
gimp_config_copy (GIMP_CONFIG (editor->dynamics_model),
|
||||
GIMP_CONFIG (data_editor->data),
|
||||
0);
|
||||
GIMP_CONFIG_PARAM_SERIALIZE);
|
||||
|
||||
g_signal_handlers_unblock_by_func (data_editor->data,
|
||||
gimp_dynamics_editor_notify_data,
|
||||
|
@ -345,7 +335,7 @@ gimp_dynamics_editor_notify_data (GimpDynamics *options,
|
|||
|
||||
gimp_config_copy (GIMP_CONFIG (data_editor->data),
|
||||
GIMP_CONFIG (editor->dynamics_model),
|
||||
0);
|
||||
GIMP_CONFIG_PARAM_SERIALIZE);
|
||||
|
||||
g_signal_handlers_unblock_by_func (editor->dynamics_model,
|
||||
gimp_dynamics_editor_notify_model,
|
||||
|
@ -385,73 +375,69 @@ gimp_dynamics_editor_new (GimpContext *context,
|
|||
/* private functions */
|
||||
|
||||
static void
|
||||
dynamics_output_maping_row_gui(GObject *config,
|
||||
const gchar *property_name_part,
|
||||
const gchar *property_label,
|
||||
GtkTable *table,
|
||||
gint row,
|
||||
GtkWidget *labels[])
|
||||
dynamics_output_maping_row_gui (GObject *config,
|
||||
const gchar *row_label,
|
||||
GtkTable *table,
|
||||
gint row,
|
||||
GtkWidget *labels[])
|
||||
{
|
||||
GtkWidget *label;
|
||||
GtkWidget *button;
|
||||
gint column=1;
|
||||
GtkWidget *label;
|
||||
GtkWidget *button;
|
||||
gint column = 1;
|
||||
|
||||
label = gtk_label_new (property_label);
|
||||
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
|
||||
gtk_table_attach (GTK_TABLE (table), label, 0, 1, row, row+1,
|
||||
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
|
||||
gtk_widget_show (label);
|
||||
label = gtk_label_new (row_label);
|
||||
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
|
||||
gtk_table_attach (GTK_TABLE (table), label, 0, 1, row, row + 1,
|
||||
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
|
||||
gtk_widget_show (label);
|
||||
|
||||
/*gboolean pressure;
|
||||
gboolean velocity;
|
||||
gboolean direction;
|
||||
gboolean tilt;
|
||||
gboolean random;
|
||||
gboolean fade;
|
||||
*/
|
||||
button = dynamics_check_button_new (config, "pressure",
|
||||
table, column, row);
|
||||
if (labels)
|
||||
g_signal_connect (button, "size-allocate",
|
||||
G_CALLBACK (dynamics_check_button_size_allocate),
|
||||
labels[column - 1]);
|
||||
column++;
|
||||
|
||||
button = dynamics_check_button_new (config, g_strconcat("pressure-", property_name_part, NULL),
|
||||
table, column, row);
|
||||
g_signal_connect (button, "size-allocate",
|
||||
G_CALLBACK (dynamics_check_button_size_allocate),
|
||||
labels[column - 1]);
|
||||
column++;
|
||||
button = dynamics_check_button_new (config, "velocity",
|
||||
table, column, row);
|
||||
if (labels)
|
||||
g_signal_connect (button, "size-allocate",
|
||||
G_CALLBACK (dynamics_check_button_size_allocate),
|
||||
labels[column - 1]);
|
||||
column++;
|
||||
|
||||
button = dynamics_check_button_new (config, g_strconcat("velocity-", property_name_part, NULL),
|
||||
table, column, row);
|
||||
g_signal_connect (button, "size-allocate",
|
||||
G_CALLBACK (dynamics_check_button_size_allocate),
|
||||
labels[column - 1]);
|
||||
column++;
|
||||
button = dynamics_check_button_new (config, "direction",
|
||||
table, column, row);
|
||||
if (labels)
|
||||
g_signal_connect (button, "size-allocate",
|
||||
G_CALLBACK (dynamics_check_button_size_allocate),
|
||||
labels[column - 1]);
|
||||
column++;
|
||||
|
||||
button = dynamics_check_button_new (config, g_strconcat("direction-", property_name_part, NULL),
|
||||
table, column, row);
|
||||
g_signal_connect (button, "size-allocate",
|
||||
G_CALLBACK (dynamics_check_button_size_allocate),
|
||||
labels[column - 1]);
|
||||
column++;
|
||||
button = dynamics_check_button_new (config, "tilt",
|
||||
table, column, row);
|
||||
if (labels)
|
||||
g_signal_connect (button, "size-allocate",
|
||||
G_CALLBACK (dynamics_check_button_size_allocate),
|
||||
labels[column - 1]);
|
||||
column++;
|
||||
|
||||
button = dynamics_check_button_new (config, g_strconcat("tilt-", property_name_part, NULL),
|
||||
table, column, row);
|
||||
g_signal_connect (button, "size-allocate",
|
||||
G_CALLBACK (dynamics_check_button_size_allocate),
|
||||
labels[column - 1]);
|
||||
column++;
|
||||
|
||||
button = dynamics_check_button_new (config, g_strconcat("random-", property_name_part, NULL),
|
||||
table, column, row);
|
||||
g_signal_connect (button, "size-allocate",
|
||||
G_CALLBACK (dynamics_check_button_size_allocate),
|
||||
labels[column - 1]);
|
||||
column++;
|
||||
|
||||
button = dynamics_check_button_new (config, g_strconcat("fading-", property_name_part, NULL),
|
||||
table, column, row);
|
||||
g_signal_connect (button, "size-allocate",
|
||||
G_CALLBACK (dynamics_check_button_size_allocate),
|
||||
labels[column - 1]);
|
||||
column++;
|
||||
button = dynamics_check_button_new (config, "random",
|
||||
table, column, row);
|
||||
if (labels)
|
||||
g_signal_connect (button, "size-allocate",
|
||||
G_CALLBACK (dynamics_check_button_size_allocate),
|
||||
labels[column - 1]);
|
||||
column++;
|
||||
|
||||
button = dynamics_check_button_new (config, "fade",
|
||||
table, column, row);
|
||||
if (labels)
|
||||
g_signal_connect (button, "size-allocate",
|
||||
G_CALLBACK (dynamics_check_button_size_allocate),
|
||||
labels[column - 1]);
|
||||
column++;
|
||||
}
|
||||
|
||||
static GtkWidget *
|
||||
|
|
Loading…
Reference in New Issue