diff options
Diffstat (limited to 'graphics/cinepaint/patches/patch-an')
-rw-r--r-- | graphics/cinepaint/patches/patch-an | 337 |
1 files changed, 337 insertions, 0 deletions
diff --git a/graphics/cinepaint/patches/patch-an b/graphics/cinepaint/patches/patch-an new file mode 100644 index 00000000000..7860b444d4d --- /dev/null +++ b/graphics/cinepaint/patches/patch-an @@ -0,0 +1,337 @@ +$NetBSD: patch-an,v 1.1 2005/03/16 18:32:50 rillig Exp $ + +gcc-2.95.3 cannot handle declarations intermixed with code. + +--- app/look_profile.c.orig Tue Nov 23 12:58:14 2004 ++++ app/look_profile.c Wed Mar 16 18:45:54 2005 +@@ -90,9 +90,10 @@ look_profile_change_image_height(GImage + list = gimage->channels; + list = g_slist_append(list, gimage->selection_mask); + while (list) +- { channel = (Channel *) list->data; ++ { + PixelArea src_area, dest_area; + Canvas *new_canvas; ++ channel = (Channel *) list->data; + + /* Update the old channel position */ + drawable_update (GIMP_DRAWABLE(channel), +@@ -194,13 +195,16 @@ look_profile_change_layer_height(Layer * + + /* If there is a layer mask, make sure it gets resized also */ + if (layer->mask) +- { GIMP_DRAWABLE(layer->mask)->offset_x = GIMP_DRAWABLE(layer)->offset_x; ++ { ++ Channel *channel; ++ PixelArea src_area, dest_area; ++ Canvas *new_canvas; ++ ++ GIMP_DRAWABLE(layer->mask)->offset_x = GIMP_DRAWABLE(layer)->offset_x; + GIMP_DRAWABLE(layer->mask)->offset_y = GIMP_DRAWABLE(layer)->offset_y; + + +- Channel* channel = GIMP_CHANNEL(layer->mask); +- PixelArea src_area, dest_area; +- Canvas *new_canvas; ++ channel = GIMP_CHANNEL(layer->mask); + + /* Update the old channel position */ + drawable_update (GIMP_DRAWABLE(channel), +@@ -253,6 +257,18 @@ look_profile_change_layer_height(Layer * + LookProfile * + look_profile_create(GImage *image, gint sample_depth) + { LookProfile *look_profile; ++ PixelArea sample_area; ++ CMSProfile *lab_profile, *input_profile; ++ GSList *profiles = NULL; ++ DWORD lcms_format_out; ++ CMSTransform *transform; ++ guint16 Lab[3]; ++ guint8 rgb[3]; ++ PixelRow row_buffer; ++ void *pag; ++ gint col_index; ++ guint8 *row_data; ++ gint sample_step; + + gint num_pix = pow(sample_depth, 3); + +@@ -267,37 +283,32 @@ look_profile_create(GImage *image, gint + #endif + + +- PixelArea sample_area; + pixelarea_init(&sample_area, look_profile->canvas, + 0, 0, canvas_width(look_profile->canvas), 1, TRUE); + + /* get a lab->rgb transform + (the reference strip is calculated iterating over Lab, the image is rgb) */ +- CMSProfile *lab_profile = cms_get_lab_profile(NULL); +- CMSProfile *input_profile = gimage_get_cms_profile(image); ++ lab_profile = cms_get_lab_profile(NULL); ++ input_profile = gimage_get_cms_profile(image); + if (!input_profile) + { input_profile = cms_get_srgb_profile(); + } + +- GSList *profiles = NULL; + profiles = g_slist_append(profiles, lab_profile); + profiles = g_slist_append(profiles, input_profile); +- DWORD lcms_format_out= cms_get_lcms_format(gimage_tag(image),input_profile); +- CMSTransform *transform = cms_get_transform(profiles, TYPE_Lab_16, ++ lcms_format_out= cms_get_lcms_format(gimage_tag(image),input_profile); ++ transform = cms_get_transform(profiles, TYPE_Lab_16, + lcms_format_out, + INTENT_PERCEPTUAL, + cms_default_flags); + g_slist_free(profiles); + + /* iterate over Lab space, converting to rgb, filling into picture */ +- guint16 Lab[3]; +- guint8 rgb[3]; +- PixelRow row_buffer; +- void *pag = pixelarea_register (1, &sample_area); ++ pag = pixelarea_register (1, &sample_area); + pixelarea_getdata (&sample_area, &row_buffer, 0); +- gint col_index = pixelrow_width(&row_buffer); +- guint8 *row_data = pixelrow_data(&row_buffer); +- gint sample_step = 65535/(sample_depth-1); ++ col_index = pixelrow_width(&row_buffer); ++ row_data = pixelrow_data(&row_buffer); ++ sample_step = 65535/(sample_depth-1); + + Lab[0]=Lab[1]=Lab[2]=0; + while (TRUE) +@@ -384,8 +395,10 @@ look_profile_new_dialog () + void + look_profile_include (LookProfile *profile, ImageMapApplyFunc func, void *data) + { PixelArea src_area, dest_area; ++ Canvas *new_canvas; ++ void *pag; + pixelarea_init(&src_area, profile->canvas, 0,0, canvas_width(profile->canvas), 1, FALSE); +- Canvas *new_canvas= canvas_new (canvas_tag(profile->canvas), canvas_width(profile->canvas), 1, ++ new_canvas= canvas_new (canvas_tag(profile->canvas), canvas_width(profile->canvas), 1, + #ifdef NO_TILES + STORAGE_FLAT); + #else +@@ -393,7 +406,6 @@ look_profile_include (LookProfile *profi + #endif + pixelarea_init(&dest_area, new_canvas, 0,0, canvas_width(profile->canvas), 1, TRUE); + +- void *pag; + for (pag = pixelarea_register (2, &src_area, &dest_area); + pag != NULL; + pag = pixelarea_process (pag)) +@@ -431,6 +443,13 @@ void + look_profile_save (LookProfile *profile, + gchar *file_name, int intent, DWORD flags) + { /* create a new profile, abstract, Lab */ ++ LPLUT AToB0; ++ SampleInfo *sample_info; ++ CMSProfile *input_profile, *lab_profile; ++ Tag t; ++ GSList *profiles = NULL; ++ PixelRow row_buffer; ++ + cmsHPROFILE saved_profile = cmsOpenProfileFromFile(file_name, "w"); + cmsSetColorSpace(saved_profile, icSigLabData); + cmsSetPCS(saved_profile, icSigLabData); +@@ -438,22 +457,21 @@ look_profile_save (LookProfile *profile, + + cmsSetDeviceClass(saved_profile, icSigAbstractClass); + +- LPLUT AToB0 = cmsAllocLUT(); ++ AToB0 = cmsAllocLUT(); + cmsAlloc3DGrid(AToB0, profile->sample_depth, 3, 3); + +- SampleInfo *sample_info = g_new(SampleInfo, 1); ++ sample_info = g_new(SampleInfo, 1); + sample_info->profile = profile; + + /* create a transform from image space to lab (the space of the + new abstract profile, just the other way from before)*/ +- CMSProfile *input_profile = gimage_get_cms_profile(sample_info->profile->image); ++ input_profile = gimage_get_cms_profile(sample_info->profile->image); + if (!input_profile) + { input_profile = cms_get_srgb_profile(); + } +- CMSProfile *lab_profile = cms_get_lab_profile(NULL); ++ lab_profile = cms_get_lab_profile(NULL); + +- Tag t = gimage_tag(sample_info->profile->image); +- GSList *profiles = NULL; ++ t = gimage_tag(sample_info->profile->image); + profiles = g_slist_append(profiles, input_profile); + profiles = g_slist_append(profiles, lab_profile); + sample_info->transform = cms_get_transform(profiles, +@@ -466,7 +484,6 @@ look_profile_save (LookProfile *profile, + canvas_width(profile->canvas), 1,FALSE); + + sample_info->pag = pixelarea_register (1, &sample_info->sample_area); +- PixelRow row_buffer; + pixelarea_getdata (&sample_info->sample_area, &row_buffer, 0); + sample_info->col_index = pixelrow_width (&row_buffer); + sample_info->current_pixel = pixelrow_data(&row_buffer); +@@ -700,28 +717,33 @@ _look_profile_gui_free_row_data(gpointer + + static void + _look_profile_gui_update_list(_LookProfileGui *data) +-{ data->row_count=0; ++{ ++ GSList *profile_file_names, *iterator; ++ gint path_length; ++ char *file_path; ++ _LookProfileGuiRowData *row_data = NULL; ++ ++ data->row_count=0; + gtk_clist_clear(GTK_CLIST(data->profile_list)); + +- GSList *profile_file_names = cms_read_icc_profile_dir(look_profile_path, icSigAbstractClass); ++ profile_file_names = cms_read_icc_profile_dir(look_profile_path, icSigAbstractClass); + if (!profile_file_names) + { return; + } + +- gint path_length = strlen(look_profile_path); +- gchar *file_path; ++ path_length = strlen(look_profile_path); + /* row_data[0] contains the path of the profile, + row_data[1] is NULL if off, profile handle if on */ +- _LookProfileGuiRowData *row_data = NULL; + +- GSList *iterator = profile_file_names; ++ iterator = profile_file_names; + while (iterator != NULL) +- { file_path = (gchar *)iterator->data; ++ { ++ /* the text to display in the row, one element per column */ ++ gchar *row_text[2] = {NULL, NULL}; ++ file_path = (gchar *)iterator->data; + row_data = g_new(_LookProfileGuiRowData, 1); + row_data->file_name = file_path; + row_data->handle = NULL; +- /* the text to display in the row, one element per column */ +- gchar *row_text[2] = {NULL, NULL}; + /* strdup(file_path + path_length + 1) extracts the filename from the path */ + row_text[1] = strdup(file_path + path_length + 1); + gtk_clist_insert(GTK_CLIST(data->profile_list), data->row_count, row_text); +@@ -813,10 +835,10 @@ _look_profile_gui_open_cb (GtkWidget *wi + + static void + _look_profile_gui_open_ok_cb(GtkWidget *widget, _LookProfileGui *data) +-{ look_profile_path = strdup(gtk_file_selection_get_filename (GTK_FILE_SELECTION(data->file_selector))); +- ++{ + GList *update_settings = NULL; + GList *remove_settings = NULL; ++ look_profile_path = strdup(gtk_file_selection_get_filename (GTK_FILE_SELECTION(data->file_selector))); + update_settings = g_list_append(update_settings, "look-profile-path"); + save_gimprc(&update_settings, &remove_settings); + g_list_free(update_settings); +@@ -829,6 +851,10 @@ void + _look_profile_gui_apply(_LookProfileGui *data) + { GSList *profiles = NULL; + CMSProfile *image_profile = gimage_get_cms_profile(data->display->gimage); ++ DWORD lcms_format; ++ CMSTransform *transform; ++ int i; ++ + if (image_profile == NULL) + { image_profile = cms_get_srgb_profile(); + } +@@ -836,9 +862,9 @@ _look_profile_gui_apply(_LookProfileGui + profiles = g_slist_append(profiles, (gpointer)image_profile); + profiles = g_slist_concat(profiles, g_slist_copy(gdisplay_get_look_profile_pipe(data->display))); + profiles = g_slist_append(profiles, (gpointer)image_profile); +- DWORD lcms_format = cms_get_lcms_format(gimage_tag(data->display->gimage), ++ lcms_format = cms_get_lcms_format(gimage_tag(data->display->gimage), + image_profile); +- CMSTransform *transform = cms_get_transform(profiles, ++ transform = cms_get_transform(profiles, + lcms_format, lcms_format, + gdisplay_get_cms_intent(data->display), + gdisplay_get_cms_flags(data->display)); +@@ -847,7 +873,6 @@ _look_profile_gui_apply(_LookProfileGui + cms_return_transform(transform); + + /* resets all the selections */ +- int i; + for (i=0; i<data->row_count; i++) + { _look_profile_gui_profile_set_active(data, i, FALSE); + } +@@ -855,13 +880,22 @@ _look_profile_gui_apply(_LookProfileGui + + void + _look_profile_gui_apply_flipbook (_LookProfileGui *data) +-{ if (data->display->bfm == NULL) ++{ ++ GSList *profiles = NULL; ++ CMSProfile *image_profile; ++ DWORD lcms_format; ++ CMSTransform *transform; ++ GtkWidget *progress_dialog, *vbox, *progress_bar; ++ GSList *iterator; ++ gint num_images, count; ++ int i; ++ ++ if (data->display->bfm == NULL) + { g_message("This display has no flipbook. Application to flipbook stores not possible"); + return; + } + +- GSList *profiles = NULL; +- CMSProfile *image_profile = gimage_get_cms_profile(data->display->gimage); ++ image_profile = gimage_get_cms_profile(data->display->gimage); + if (image_profile == NULL) + { image_profile = cms_get_srgb_profile(); + } +@@ -869,23 +903,23 @@ _look_profile_gui_apply_flipbook (_LookP + profiles = g_slist_append(profiles, (gpointer)image_profile); + profiles = g_slist_concat(profiles, g_slist_copy(gdisplay_get_look_profile_pipe(data->display))); + profiles = g_slist_append(profiles, (gpointer)image_profile); +- DWORD lcms_format = cms_get_lcms_format(gimage_tag(data->display->gimage), image_profile); +- CMSTransform *transform = cms_get_transform(profiles, ++ lcms_format = cms_get_lcms_format(gimage_tag(data->display->gimage), image_profile); ++ transform = cms_get_transform(profiles, + lcms_format, lcms_format, + gdisplay_get_cms_intent(data->display), + gdisplay_get_cms_flags(data->display)); + g_slist_free(profiles); + + /* create progress dialog */ +- GtkWidget *progress_dialog = gtk_window_new(GTK_WINDOW_DIALOG); ++ progress_dialog = gtk_window_new(GTK_WINDOW_DIALOG); + gtk_window_set_wmclass (GTK_WINDOW (progress_dialog), "progress", PROGRAM_NAME); + gtk_window_set_title (GTK_WINDOW (progress_dialog), "Applying look to flipbook stores..."); + gtk_window_set_position(GTK_WINDOW(progress_dialog), GTK_WIN_POS_CENTER); + +- GtkWidget *vbox = gtk_vbox_new(FALSE, 0); ++ vbox = gtk_vbox_new(FALSE, 0); + gtk_container_add (GTK_CONTAINER (progress_dialog), vbox); + +- GtkWidget *progress_bar = gtk_progress_bar_new(); ++ progress_bar = gtk_progress_bar_new(); + gtk_box_pack_start (GTK_BOX(vbox), progress_bar, TRUE, TRUE, 0); + gtk_widget_set_usize(progress_bar, 250,-1); + gtk_widget_show_all(progress_dialog); +@@ -894,9 +928,9 @@ _look_profile_gui_apply_flipbook (_LookP + gtk_widget_draw(progress_bar, NULL); + gdk_flush(); + +- GSList *iterator = data->display->bfm->sfm->stores; +- gint num_images = g_slist_length(iterator); +- gint count = 0; ++ iterator = data->display->bfm->sfm->stores; ++ num_images = g_slist_length(iterator); ++ count = 0; + while (iterator != NULL) + { store *store = iterator->data; + gimage_transform_colors(store->gimage, transform, FALSE); +@@ -914,7 +948,6 @@ _look_profile_gui_apply_flipbook (_LookP + cms_return_transform(transform); + + /* resets all the selections */ +- int i; + for (i=0; i<data->row_count; i++) + { _look_profile_gui_profile_set_active(data, i, FALSE); + } |