diff options
| author | Daniel Friesel <derf@finalrewind.org> | 2018-11-04 21:55:46 +0100 | 
|---|---|---|
| committer | Daniel Friesel <derf@finalrewind.org> | 2018-11-04 21:55:46 +0100 | 
| commit | bc8f6d804edb3f84bdcfbf30b7141ba462695876 (patch) | |
| tree | 44992c08fbd627bc25a473a949221bc5167c1000 | |
| parent | 8a83c119e7d0c75f09159df79848efa49efc2dc7 (diff) | |
| parent | 55cb64b21cc5d7c20f032683bd2b6d0d453ac9dc (diff) | |
Merge branch 'Ferada-remove-collage-mode'
| -rw-r--r-- | src/Makefile | 1 | ||||
| -rw-r--r-- | src/collage.c | 208 | ||||
| -rw-r--r-- | src/feh.h | 1 | ||||
| -rw-r--r-- | src/filelist.c | 2 | ||||
| -rw-r--r-- | src/main.c | 2 | ||||
| -rw-r--r-- | src/options.c | 12 | ||||
| -rw-r--r-- | src/options.h | 1 | ||||
| -rw-r--r-- | test/status | 2 | 
8 files changed, 2 insertions, 227 deletions
| diff --git a/src/Makefile b/src/Makefile index 8a9f97e..ac4d2fe 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,7 +1,6 @@  include ../config.mk  TARGETS = \ -	collage.c \  	events.c \  	feh_png.c \  	filelist.c \ diff --git a/src/collage.c b/src/collage.c deleted file mode 100644 index b616bef..0000000 --- a/src/collage.c +++ /dev/null @@ -1,208 +0,0 @@ -/* collage.c - -Copyright (C) 1999-2003 Tom Gilbert. -Copyright (C) 2010-2018 Daniel Friesel. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies of the Software and its documentation and acknowledgment shall be -given in the documentation and software packages that this Software was -used. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -*/ - -#include "feh.h" -#include "winwidget.h" -#include "filelist.h" -#include "options.h" - -void init_collage_mode(void) -{ -	Imlib_Image im_main; -	Imlib_Image im_temp; -	int ww, hh, www, hhh, xxx, yyy; -	int w = 800, h = 600; -	int bg_w = 0, bg_h = 0; -	winwidget winwid = NULL; -	Imlib_Image bg_im = NULL, im_thumb = NULL; -	feh_file *file = NULL; -	unsigned char trans_bg = 0; -	gib_list *l, *last = NULL; - -	mode = "collage"; - -	weprintf("the --collage option (aka collage mode) is deprecated\n" -			"and will be removed soon\n"); - -	/* Use bg image dimensions for default size */ -	if (opt.bg && opt.bg_file) { -		if (!strcmp(opt.bg_file, "trans")) -			trans_bg = 1; -		else { - -			D(("Time to apply a background to blend onto\n")); -			if (feh_load_image_char(&bg_im, opt.bg_file) != 0) { -				bg_w = gib_imlib_image_get_width(bg_im); -				bg_h = gib_imlib_image_get_height(bg_im); -			} -		} -	} - -	if (!opt.limit_w || !opt.limit_h) { -		if (bg_im) { -			if (opt.verbose) -				fputs(PACKAGE -					": No size restriction specified for collage.\n" -					" You did specify a background however, so the\n" -					" collage size has defaulted to the size of the image\n", -					stderr); -			opt.limit_w = bg_w; -			opt.limit_h = bg_h; -		} else { -			if (opt.verbose) -				fputs(PACKAGE -					": No size restriction specified for collage.\n" -					" - For collage mode, you need to specify width and height.\n" -					" Using defaults (width 800, height 600)\n", -					stderr); -			opt.limit_w = 800; -			opt.limit_h = 600; -		} -	} - -	w = opt.limit_w; -	h = opt.limit_h; -	D(("Limiting width to %d and height to %d\n", w, h)); - -	im_main = imlib_create_image(w, h); - -	if (!im_main) -		eprintf("Imlib error creating image"); - -	if (bg_im) -		gib_imlib_blend_image_onto_image(im_main, bg_im, -				gib_imlib_image_has_alpha(bg_im), 0, 0, -				bg_w, bg_h, 0, 0, w, h, 1, 0, 0); -	else if (trans_bg) { -		gib_imlib_image_fill_rectangle(im_main, 0, 0, w, h, 0, 0, 0, 0); -		gib_imlib_image_set_has_alpha(im_main, 1); -	} else { -		/* Colour the background */ -		gib_imlib_image_fill_rectangle(im_main, 0, 0, w, h, 0, 0, 0, 255); -	} - -	if (opt.display) { -		winwid = winwidget_create_from_image(im_main, WIN_TYPE_SINGLE); -		winwidget_rename(winwid, PACKAGE " [collage mode]"); -		winwidget_show(winwid); -	} - -	for (l = filelist; l; l = l->next) { -		file = FEH_FILE(l->data); -		if (last) { -			filelist = feh_file_remove_from_list(filelist, last); -			last = NULL; -		} -		D(("About to load image %s\n", file->filename)); -		if (feh_load_image(&im_temp, file) != 0) { -			D(("Successfully loaded %s\n", file->filename)); -			if (opt.verbose) -				feh_display_status('.'); -			www = opt.thumb_w; -			hhh = opt.thumb_h; -			ww = gib_imlib_image_get_width(im_temp); -			hh = gib_imlib_image_get_height(im_temp); - -			if (opt.aspect) { -				double ratio = 0.0; - -				/* Keep the aspect ratio for the thumbnail */ -				ratio = ((double) ww / hh) / ((double) www / hhh); - -				if (ratio > 1.0) -					hhh = opt.thumb_h / ratio; -				else if (ratio != 1.0) -					www = opt.thumb_w * ratio; -			} - -			if ((!opt.stretch) && ((www > ww) || (hhh > hh))) { -				/* Don't make the image larger unless stretch is specified */ -				www = ww; -				hhh = hh; -			} - -			/* pick random coords for thumbnail */ -			xxx = ((w - www) * ((double) random() / RAND_MAX)); -			yyy = ((h - hhh) * ((double) random() / RAND_MAX)); -			D(("image going on at x=%d, y=%d\n", xxx, yyy)); - -			im_thumb = gib_imlib_create_cropped_scaled_image(im_temp, -					0, 0, ww, hh, www, hhh, 1); -			gib_imlib_free_image_and_decache(im_temp); - -			if (opt.alpha) { -				DATA8 atab[256]; - -				D(("Applying alpha options\n")); -				gib_imlib_image_set_has_alpha(im_thumb, 1); -				memset(atab, opt.alpha_level, sizeof(atab)); -				gib_imlib_apply_color_modifier_to_rectangle(im_thumb, -						0, 0, www, hhh, NULL, NULL, NULL, atab); -			} -			gib_imlib_blend_image_onto_image(im_main, im_thumb, -					gib_imlib_image_has_alpha(im_thumb), 0, 0, www, hhh, xxx, -					yyy,www, hhh, 1, gib_imlib_image_has_alpha(im_thumb), 0); -			gib_imlib_free_image_and_decache(im_thumb); -		} else { -			last = l; -			if (opt.verbose) -				feh_display_status('x'); -		} -		if (opt.display) { -			winwidget_render_image(winwid, 0, 0); -			if (!feh_main_iteration(0)) -				exit(0); -		} -	} -	if (opt.verbose) -		fputs("\n", stderr); - -	if (opt.output && opt.output_file) { -		char output_buf[1024]; -		if (opt.output_dir) -			snprintf(output_buf, 1024, "%s/%s", opt.output_dir, opt.output_file); -		else { -			strncpy(output_buf, opt.output_file, 1023); -			output_buf[1023] = '\0'; -		} -		gib_imlib_save_image(im_main, output_buf); -		if (opt.verbose) { -			int tw, th; - -			tw = gib_imlib_image_get_width(im_main); -			th = gib_imlib_image_get_height(im_main); -			fprintf(stderr, PACKAGE ": File saved as %s\n", output_buf); -			fprintf(stderr, -				"    - Image is %dx%d pixels and contains %d thumbnails\n", -				tw, th, (tw / opt.thumb_w) * (th / opt.thumb_h)); -		} -	} - -	if (!opt.display) -		gib_imlib_free_image_and_decache(im_main); - -	return; -} @@ -132,7 +132,6 @@ void init_xinerama(void);  #endif				/* HAVE_LIBXINERAMA */  void init_multiwindow_mode(void);  void init_thumbnail_mode(void); -void init_collage_mode(void);  void init_index_mode(void);  void init_slideshow_mode(void);  void init_list_mode(void); diff --git a/src/filelist.c b/src/filelist.c index fc9fa35..3f3c96d 100644 --- a/src/filelist.c +++ b/src/filelist.c @@ -491,7 +491,7 @@ void feh_prepare_filelist(void)  	 * we can create a properly sized thumbnail list.  	 */  	if (opt.list || opt.preload || opt.customlist || (opt.sort > SORT_MTIME) -			|| (opt.filter_by_dimensions && (opt.index || opt.collage || opt.thumbs || opt.bgmode))) { +			|| (opt.filter_by_dimensions && (opt.index || opt.thumbs || opt.bgmode))) {  		/* For these sort options, we have to preload images */  		filelist = feh_file_info_preload(filelist);  		if (!gib_list_length(filelist)) @@ -59,8 +59,6 @@ int main(int argc, char **argv)  	if (opt.index)  		init_index_mode(); -	else if (opt.collage) -		init_collage_mode();  	else if (opt.multiwindow)  		init_multiwindow_mode();  	else if (opt.list || opt.customlist) diff --git a/src/options.c b/src/options.c index 383e663..102c186 100644 --- a/src/options.c +++ b/src/options.c @@ -354,7 +354,6 @@ static void feh_parse_option_array(int argc, char **argv, int finalrun)  		{"title"         , 1, 0, '^'},  		{"alpha"         , 1, 0, 'a'},  		{"bg"            , 1, 0, 'b'}, -		{"collage"       , 0, 0, 'c'},  		{"draw-filename" , 0, 0, 'd'},  		{"font"          , 1, 0, 'e'},  		{"filelist"      , 1, 0, 'f'}, @@ -578,9 +577,6 @@ static void feh_parse_option_array(int argc, char **argv, int finalrun)  			opt.bg = 1;  			opt.bg_file = estrdup(optarg);  			break; -		case 'c': -			opt.collage = 1; -			break;  		case 'd':  			opt.draw_filename = 1;  			break; @@ -853,17 +849,11 @@ static void check_options(void)  		}  	} -	if ((opt.index + opt.collage) > 1) { -		weprintf("you can't use collage mode and index mode together.\n" -				"   I'm going with index"); -		opt.collage = 0; -	} -  	if (opt.full_screen && opt.multiwindow) {  		eprintf("You cannot combine --fullscreen with --multiwindow");  	} -	if (opt.list && (opt.multiwindow || opt.index || opt.collage)) { +	if (opt.list && (opt.multiwindow || opt.index)) {  		eprintf("You cannot combine --list with other modes");  	} diff --git a/src/options.h b/src/options.h index 606b8e6..72fa03d 100644 --- a/src/options.h +++ b/src/options.h @@ -36,7 +36,6 @@ enum on_last_slide_action {  struct __fehoptions {  	unsigned char multiwindow;  	unsigned char montage; -	unsigned char collage;  	unsigned char index;  	unsigned char thumbs;  	unsigned char slideshow; diff --git a/test/status b/test/status index 2cda6d8..0151bcd 100644 --- a/test/status +++ b/test/status @@ -76,8 +76,6 @@ Overall test status, what's covered / missing   [x] correct caption display ---collage -  --customlist   [x] correct output | 
