diffs to add tiling flag to screenload
Jef Poskanzer
jef at helios.ee.lbl.gov
Wed Dec 21 21:28:30 AEST 1988
I noticed that screenload has all sorts of options to set the background
of a raster when the raster is smaller than the full screen, but it is
missing the obvious one: tiling. So I added it, as -t. If you have the
sources, apply the appended patch.
---
Jef
*** /tmp/,RCSt1a00751 Wed Dec 7 10:37:04 1988
--- screenload.c Wed Dec 7 10:36:25 1988
***************
*** 48,53 ****
--- 48,54 ----
Pixrect *fill_pr = (Pixrect *) 0;
char *display_device = (char *) 0;
int pause_flag = 0;
+ int tile_flag = 0;
int warn_flag = 0;
FILE *input_file = stdin;
***************
*** 62,68 ****
opterr = 0;
! while ((c = getopt(argc, argv, "bdf:gh:i:npw")) != EOF)
switch (c) {
case 'b':
--- 63,69 ----
opterr = 0;
! while ((c = getopt(argc, argv, "bdf:gh:i:nptw")) != EOF)
switch (c) {
case 'b':
***************
*** 118,123 ****
--- 119,128 ----
pause_flag = 1;
break;
+ case 't':
+ tile_flag = 1;
+ break;
+
case 'w':
fill_pr = (Pixrect *) 0;
fill_color = 0;
***************
*** 131,137 ****
if (errflg)
error((char *) 0,
"Usage:\n\
! %s [-dp] [-f display] [-i color] [-bgw] [-h count data ...] [file]",
Progname);
if (optind < argc &&
--- 136,142 ----
if (errflg)
error((char *) 0,
"Usage:\n\
! %s [-dp] [-f display] [-i color] [-bgtw] [-h count data ...] [file]",
Progname);
if (optind < argc &&
***************
*** 196,212 ****
dx = dx < 0 ? 0 : dx / 2;
dy = dy < 0 ? 0 : dy / 2;
! if (fill && (dx > 0 || dy > 0))
! (void) pr_replrop(disp_pr, 0, 0,
! disp_pr->pr_size.x, disp_pr->pr_size.y,
PIX_SRC | PIX_COLOR(fill_color) | PIX_DONTCLIP,
! fill_pr, 0, 0);
!
! if (pr_rop(disp_pr, dx, dy,
! input_pr->pr_size.x, input_pr->pr_size.y,
! PIX_SRC | PIX_COLOR(fill_color),
! input_pr, 0, 0))
! error(PR_IO_ERR_PIXRECT);
/*
* If pause option was given, wait for a newline to be typed on
--- 201,226 ----
dx = dx < 0 ? 0 : dx / 2;
dy = dy < 0 ? 0 : dy / 2;
! if (tile_flag) {
! if (pr_replrop(disp_pr, 0, 0,
! disp_pr->pr_size.x, disp_pr->pr_size.y,
PIX_SRC | PIX_COLOR(fill_color) | PIX_DONTCLIP,
! input_pr, 0, 0))
! error(PR_IO_ERR_PIXRECT);
! } else {
!
! if (fill && (dx > 0 || dy > 0))
! (void) pr_replrop(disp_pr, 0, 0,
! disp_pr->pr_size.x, disp_pr->pr_size.y,
! PIX_SRC | PIX_COLOR(fill_color) | PIX_DONTCLIP,
! fill_pr, 0, 0);
!
! if (pr_rop(disp_pr, dx, dy,
! input_pr->pr_size.x, input_pr->pr_size.y,
! PIX_SRC | PIX_COLOR(fill_color),
! input_pr, 0, 0))
! error(PR_IO_ERR_PIXRECT);
! }
/*
* If pause option was given, wait for a newline to be typed on
More information about the Comp.sys.sun
mailing list