93
static GimpParamDef save_args[] =
95
static const GimpParamDef save_args[] =
95
{ GIMP_PDB_INT32, "run_mode", "Interactive" },
96
{ GIMP_PDB_IMAGE, "image", "Input image" },
97
{ GIMP_PDB_DRAWABLE, "drawable", "Drawable to save" },
98
{ GIMP_PDB_STRING, "filename", "The name of the file to save the image in" },
99
{ GIMP_PDB_STRING, "raw_filename", "The name of the file to save the image in" }
97
{ GIMP_PDB_INT32, "run-mode", "Interactive" },
98
{ GIMP_PDB_IMAGE, "image", "Input image" },
99
{ GIMP_PDB_DRAWABLE, "drawable", "Drawable to save" },
100
{ GIMP_PDB_STRING, "filename", "The name of the file to save the image in" },
101
{ GIMP_PDB_STRING, "raw-filename", "The name of the file to save the image in" }
102
gimp_install_procedure ("file_csource_save",
104
gimp_install_procedure (SAVE_PROC,
103
105
"Dump image data in RGB(A) format for C source",
104
106
"CSource cannot be run non-interactively.",
111
113
G_N_ELEMENTS (save_args), 0,
112
114
save_args, NULL);
114
gimp_register_file_handler_mime ("file_csource_save", "text/x-csrc");
115
gimp_register_save_handler ("file_csource_save", "c", "");
116
gimp_register_file_handler_mime (SAVE_PROC, "text/x-csrc");
117
gimp_register_save_handler (SAVE_PROC, "c", "");
138
140
values[0].data.d_status = GIMP_PDB_EXECUTION_ERROR;
140
142
if (run_mode == GIMP_RUN_INTERACTIVE &&
141
strcmp (name, "file_csource_save") == 0)
143
strcmp (name, SAVE_PROC) == 0)
143
145
gint32 image_ID = param[1].data.d_int32;
144
146
gint32 drawable_ID = param[2].data.d_int32;
147
149
GimpImageType drawable_type = gimp_drawable_type (drawable_ID);
149
gimp_get_data ("file_csource_save", &config);
151
gimp_get_data (SAVE_PROC, &config);
150
152
config.prefixed_name = "gimp_image";
151
153
config.comment = NULL;
165
167
x = config.comment;
167
gimp_ui_init ("csource", FALSE);
169
gimp_ui_init (PLUG_IN_BINARY, FALSE);
168
170
export = gimp_export_image (&image_ID, &drawable_ID, "C Source",
169
171
(GIMP_EXPORT_CAN_HANDLE_RGB |
170
172
GIMP_EXPORT_CAN_HANDLE_ALPHA ));
382
384
guint8 *img_buffer, *img_buffer_end;
385
fp = fopen (config->file_name, "w");
387
fp = g_fopen (config->file_name, "w");
635
dialog = gimp_dialog_new (_("Save as C-Source"), "csource",
637
dialog = gimp_dialog_new (_("Save as C-Source"), PLUG_IN_BINARY,
637
gimp_standard_help_func, "file-csource-save",
639
gimp_standard_help_func, SAVE_PROC,
639
641
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
640
GTK_STOCK_OK, GTK_RESPONSE_OK,
642
GTK_STOCK_SAVE, GTK_RESPONSE_OK,
646
gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
651
gimp_window_set_transient (GTK_WINDOW (dialog));
644
653
vbox = gtk_vbox_new (FALSE, 12);
645
654
gtk_container_set_border_width (GTK_CONTAINER (vbox), 12);
646
655
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), vbox);
742
751
config->opacity, 0, 100, 1, 10, 1,
745
g_signal_connect (adj, "value_changed",
754
g_signal_connect (adj, "value-changed",
746
755
G_CALLBACK (gimp_double_adjustment_update),
747
756
&config->opacity);