57
55
/* local function prototypes */
59
static void gimp_colorize_tool_class_init (GimpColorizeToolClass *klass);
60
static void gimp_colorize_tool_init (GimpColorizeTool *tool);
62
57
static void gimp_colorize_tool_finalize (GObject *object);
64
59
static gboolean gimp_colorize_tool_initialize (GimpTool *tool,
67
static void gimp_colorize_tool_map (GimpImageMapTool *image_map_tool);
68
static void gimp_colorize_tool_dialog (GimpImageMapTool *image_map_tool);
69
static void gimp_colorize_tool_reset (GimpImageMapTool *image_map_tool);
63
static void gimp_colorize_tool_map (GimpImageMapTool *im_tool);
64
static void gimp_colorize_tool_dialog (GimpImageMapTool *im_tool);
65
static void gimp_colorize_tool_reset (GimpImageMapTool *im_tool);
71
67
static void colorize_update (GimpColorizeTool *col_tool,
78
74
GimpColorizeTool *col_tool);
81
/* private variables */
83
static GimpImageMapToolClass *parent_class = NULL;
86
/* public functions */
77
G_DEFINE_TYPE (GimpColorizeTool, gimp_colorize_tool, GIMP_TYPE_IMAGE_MAP_TOOL)
79
#define parent_class gimp_colorize_tool_parent_class
89
83
gimp_colorize_tool_register (GimpToolRegisterCallback callback,
95
89
"gimp-colorize-tool",
97
_("Colorize the image"),
91
_("Colorize Tool: Colorize the image"),
98
92
N_("Colori_ze..."), NULL,
99
93
NULL, GIMP_HELP_TOOL_COLORIZE,
100
94
GIMP_STOCK_TOOL_COLORIZE,
105
gimp_colorize_tool_get_type (void)
107
static GType tool_type = 0;
111
static const GTypeInfo tool_info =
113
sizeof (GimpColorizeToolClass),
114
(GBaseInitFunc) NULL,
115
(GBaseFinalizeFunc) NULL,
116
(GClassInitFunc) gimp_colorize_tool_class_init,
117
NULL, /* class_finalize */
118
NULL, /* class_data */
119
sizeof (GimpColorizeTool),
121
(GInstanceInitFunc) gimp_colorize_tool_init,
124
tool_type = g_type_register_static (GIMP_TYPE_IMAGE_MAP_TOOL,
133
/* private functions */
136
99
gimp_colorize_tool_class_init (GimpColorizeToolClass *klass)
138
GObjectClass *object_class;
139
GimpToolClass *tool_class;
140
GimpImageMapToolClass *image_map_tool_class;
142
object_class = G_OBJECT_CLASS (klass);
143
tool_class = GIMP_TOOL_CLASS (klass);
144
image_map_tool_class = GIMP_IMAGE_MAP_TOOL_CLASS (klass);
146
parent_class = g_type_class_peek_parent (klass);
148
object_class->finalize = gimp_colorize_tool_finalize;
150
tool_class->initialize = gimp_colorize_tool_initialize;
152
image_map_tool_class->shell_desc = _("Colorize the Image");
154
image_map_tool_class->map = gimp_colorize_tool_map;
155
image_map_tool_class->dialog = gimp_colorize_tool_dialog;
156
image_map_tool_class->reset = gimp_colorize_tool_reset;
101
GObjectClass *object_class = G_OBJECT_CLASS (klass);
102
GimpToolClass *tool_class = GIMP_TOOL_CLASS (klass);
103
GimpImageMapToolClass *im_tool_class = GIMP_IMAGE_MAP_TOOL_CLASS (klass);
105
object_class->finalize = gimp_colorize_tool_finalize;
107
tool_class->initialize = gimp_colorize_tool_initialize;
109
im_tool_class->shell_desc = _("Colorize the Image");
111
im_tool_class->map = gimp_colorize_tool_map;
112
im_tool_class->dialog = gimp_colorize_tool_dialog;
113
im_tool_class->reset = gimp_colorize_tool_reset;
182
gimp_colorize_tool_initialize (GimpTool *tool,
139
gimp_colorize_tool_initialize (GimpTool *tool,
140
GimpDisplay *display,
185
143
GimpColorizeTool *col_tool = GIMP_COLORIZE_TOOL (tool);
186
144
GimpDrawable *drawable;
188
drawable = gimp_image_active_drawable (gdisp->gimage);
146
drawable = gimp_image_active_drawable (display->image);
193
151
if (! gimp_drawable_is_rgb (drawable))
195
g_message (_("Colorize operates only on RGB color layers."));
153
g_set_error (error, 0, 0,
154
_("Colorize operates only on RGB color layers."));
199
158
colorize_init (col_tool->colorize);
201
GIMP_TOOL_CLASS (parent_class)->initialize (tool, gdisp);
160
GIMP_TOOL_CLASS (parent_class)->initialize (tool, display, error);
203
162
colorize_update (col_tool, ALL);
257
216
col_tool->hue_data = GTK_ADJUSTMENT (data);
258
217
slider = GIMP_SCALE_ENTRY_SCALE (data);
259
gtk_range_set_update_policy (GTK_RANGE (slider), GTK_UPDATE_DELAYED);
218
gtk_range_set_update_policy (GTK_RANGE (slider), GTK_UPDATE_CONTINUOUS);
261
g_signal_connect (data, "value_changed",
220
g_signal_connect (data, "value-changed",
262
221
G_CALLBACK (colorize_hue_adj_update),
271
230
col_tool->saturation_data = GTK_ADJUSTMENT (data);
272
231
slider = GIMP_SCALE_ENTRY_SCALE (data);
273
gtk_range_set_update_policy (GTK_RANGE (slider), GTK_UPDATE_DELAYED);
232
gtk_range_set_update_policy (GTK_RANGE (slider), GTK_UPDATE_CONTINUOUS);
275
g_signal_connect (col_tool->saturation_data, "value_changed",
234
g_signal_connect (col_tool->saturation_data, "value-changed",
276
235
G_CALLBACK (colorize_saturation_adj_update),
285
244
col_tool->lightness_data = GTK_ADJUSTMENT (data);
286
245
slider = GIMP_SCALE_ENTRY_SCALE (data);
287
gtk_range_set_update_policy (GTK_RANGE (slider), GTK_UPDATE_DELAYED);
246
gtk_range_set_update_policy (GTK_RANGE (slider), GTK_UPDATE_CONTINUOUS);
289
g_signal_connect (data, "value_changed",
248
g_signal_connect (data, "value-changed",
290
249
G_CALLBACK (colorize_lightness_adj_update),