static void gimp_convolve_class_init (GimpConvolveClass *klass) { GimpPaintCoreClass *paint_core_class = GIMP_PAINT_CORE_CLASS (klass); paint_core_class->paint = gimp_convolve_paint; }
static gboolean gimp_clone_start (GimpPaintCore *paint_core, GimpDrawable *drawable, GimpPaintOptions *paint_options, const GimpCoords *coords, GError **error) { GimpCloneOptions *options = GIMP_CLONE_OPTIONS (paint_options); if (! GIMP_PAINT_CORE_CLASS (parent_class)->start (paint_core, drawable, paint_options, coords, error)) { return FALSE; } if (options->clone_type == GIMP_PATTERN_CLONE) { if (! gimp_context_get_pattern (GIMP_CONTEXT (options))) { g_set_error_literal (error, GIMP_ERROR, GIMP_FAILED, _("No patterns available for use with this tool.")); return FALSE; } } return TRUE; }
static gboolean gimp_perspective_clone_start (GimpPaintCore *paint_core, GimpDrawable *drawable, GimpPaintOptions *paint_options, GimpCoords *coords, GError **error) { GimpSourceCore *source_core = GIMP_SOURCE_CORE (paint_core); if (! GIMP_PAINT_CORE_CLASS (parent_class)->start (paint_core, drawable, paint_options, coords, error)) { return FALSE; } if (! source_core->set_source && gimp_drawable_is_indexed (drawable)) { g_set_error (error, 0, 0, _("Perspective Clone does not operate on indexed layers.")); return FALSE; } return TRUE; }
static void gimp_mybrush_class_init (GimpMybrushClass *klass) { GimpPaintCoreClass *paint_core_class = GIMP_PAINT_CORE_CLASS (klass); paint_core_class->paint = gimp_mybrush_paint; g_type_class_add_private (klass, sizeof (GimpMybrushPrivate)); }
static void gimp_clone_class_init (GimpCloneClass *klass) { GimpPaintCoreClass *paint_core_class = GIMP_PAINT_CORE_CLASS (klass); GimpSourceCoreClass *source_core_class = GIMP_SOURCE_CORE_CLASS (klass); paint_core_class->start = gimp_clone_start; source_core_class->motion = gimp_clone_motion; }
static void gimp_eraser_class_init (GimpEraserClass *klass) { GimpPaintCoreClass *paint_core_class = GIMP_PAINT_CORE_CLASS (klass); GimpBrushCoreClass *brush_core_class = GIMP_BRUSH_CORE_CLASS (klass); paint_core_class->paint = gimp_eraser_paint; brush_core_class->handles_changing_brush = TRUE; }
static void gimp_perspective_clone_class_init (GimpPerspectiveCloneClass *klass) { GimpPaintCoreClass *paint_core_class = GIMP_PAINT_CORE_CLASS (klass); GimpSourceCoreClass *source_core_class = GIMP_SOURCE_CORE_CLASS (klass); paint_core_class->paint = gimp_perspective_clone_paint; source_core_class->use_source = gimp_perspective_clone_use_source; source_core_class->get_source = gimp_perspective_clone_get_source; }
static void gimp_ink_class_init (GimpInkClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GimpPaintCoreClass *paint_core_class = GIMP_PAINT_CORE_CLASS (klass); object_class->finalize = gimp_ink_finalize; paint_core_class->paint = gimp_ink_paint; paint_core_class->get_paint_buffer = gimp_ink_get_paint_buffer; paint_core_class->push_undo = gimp_ink_push_undo; }
static void gimp_smudge_class_init (GimpSmudgeClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GimpPaintCoreClass *paint_core_class = GIMP_PAINT_CORE_CLASS (klass); GimpBrushCoreClass *brush_core_class = GIMP_BRUSH_CORE_CLASS (klass); object_class->finalize = gimp_smudge_finalize; paint_core_class->paint = gimp_smudge_paint; brush_core_class->use_scale = FALSE; }
static void gimp_mybrush_core_class_init (GimpMybrushCoreClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GimpPaintCoreClass *paint_core_class = GIMP_PAINT_CORE_CLASS (klass); object_class->finalize = gimp_mybrush_core_finalize; paint_core_class->start = gimp_mybrush_core_start; paint_core_class->paint = gimp_mybrush_core_paint; paint_core_class->interpolate = gimp_mybrush_core_interpolate; g_type_class_add_private (klass, sizeof (GimpMybrushCorePrivate)); }
static void gimp_perspective_clone_class_init (GimpPerspectiveCloneClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GimpPaintCoreClass *paint_core_class = GIMP_PAINT_CORE_CLASS (klass); GimpSourceCoreClass *source_core_class = GIMP_SOURCE_CORE_CLASS (klass); object_class->finalize = gimp_perspective_clone_finalize; paint_core_class->start = gimp_perspective_clone_start; paint_core_class->paint = gimp_perspective_clone_paint; source_core_class->get_source = gimp_perspective_clone_get_source; }
static void gimp_smudge_class_init (GimpSmudgeClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GimpPaintCoreClass *paint_core_class = GIMP_PAINT_CORE_CLASS (klass); GimpBrushCoreClass *brush_core_class = GIMP_BRUSH_CORE_CLASS (klass); object_class->finalize = gimp_smudge_finalize; paint_core_class->paint = gimp_smudge_paint; brush_core_class->handles_changing_brush = TRUE; brush_core_class->handles_transforming_brush = TRUE; brush_core_class->handles_dynamic_transforming_brush = TRUE; }
static gboolean gimp_source_core_start (GimpPaintCore *paint_core, GimpDrawable *drawable, GimpPaintOptions *paint_options, const GimpCoords *coords, GError **error) { GimpSourceCore *source_core = GIMP_SOURCE_CORE (paint_core); GimpSourceOptions *options = GIMP_SOURCE_OPTIONS (paint_options); if (! GIMP_PAINT_CORE_CLASS (parent_class)->start (paint_core, drawable, paint_options, coords, error)) { return FALSE; } paint_core->use_saved_proj = FALSE; if (! source_core->set_source && gimp_source_core_use_source (source_core, options)) { if (! source_core->src_drawable) { g_set_error_literal (error, GIMP_ERROR, GIMP_FAILED, _("Set a source image first.")); return FALSE; } if (options->sample_merged && gimp_item_get_image (GIMP_ITEM (source_core->src_drawable)) == gimp_item_get_image (GIMP_ITEM (drawable))) { paint_core->use_saved_proj = TRUE; } } return TRUE; }
static void gimp_source_core_class_init (GimpSourceCoreClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GimpPaintCoreClass *paint_core_class = GIMP_PAINT_CORE_CLASS (klass); GimpBrushCoreClass *brush_core_class = GIMP_BRUSH_CORE_CLASS (klass); object_class->set_property = gimp_source_core_set_property; object_class->get_property = gimp_source_core_get_property; paint_core_class->start = gimp_source_core_start; paint_core_class->paint = gimp_source_core_paint; brush_core_class->handles_changing_brush = TRUE; klass->use_source = gimp_source_core_real_use_source; klass->get_source = gimp_source_core_real_get_source; klass->motion = NULL; g_object_class_install_property (object_class, PROP_SRC_DRAWABLE, g_param_spec_object ("src-drawable", NULL, NULL, GIMP_TYPE_DRAWABLE, GIMP_PARAM_READWRITE)); g_object_class_install_property (object_class, PROP_SRC_X, g_param_spec_double ("src-x", NULL, NULL, 0, GIMP_MAX_IMAGE_SIZE, 0.0, GIMP_PARAM_READWRITE)); g_object_class_install_property (object_class, PROP_SRC_Y, g_param_spec_double ("src-y", NULL, NULL, 0, GIMP_MAX_IMAGE_SIZE, 0.0, GIMP_PARAM_READWRITE)); }