From ac372945dd6cf64f4c801526ee3f9fc937f3c0ef Mon Sep 17 00:00:00 2001 From: Deron Johnson Date: Fri, 18 Feb 2005 17:37:21 +0000 Subject: More 682 merge --- dsimple.c | 109 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---- dsimple.h | 16 +++++++++ 2 files changed, 119 insertions(+), 6 deletions(-) diff --git a/dsimple.c b/dsimple.c index 8cdce02..c84ac3b 100644 --- a/dsimple.c +++ b/dsimple.c @@ -41,6 +41,9 @@ from The Open Group. * Written by Mark Lillibridge. Last updated 7/1/87 */ +#ifdef BUILD_PRINTSUPPORT +#include +#endif /* BUILD_PRINTSUPPORT */ #include "dsimple.h" /* @@ -55,9 +58,13 @@ from The Open Group. /* This stuff is defined in the calling program by just_display.h */ -char *program_name = "unknown_program"; -Display *dpy; -int screen; +char *program_name = "unknown_program"; +Display *dpy = NULL; +int screen = 0; +Bool printer_output = False; /* Video or printer output ? */ +#ifdef BUILD_PRINTSUPPORT +XPContext pcontext = None; +#endif /* BUILD_PRINTSUPPORT */ static void _bitmap_error(int, char *); @@ -131,6 +138,43 @@ char *Get_Display_Name(pargc, argv) } +#ifdef BUILD_PRINTSUPPORT +/* + * Get_Printer_Name (argc, argv) Look for -printer, -p, + * If found, remove it from command line. Don't go past a lone -. + */ +char *Get_Printer_Name(pargc, argv) + int *pargc; /* MODIFIED */ + char **argv; /* MODIFIED */ +{ + int argc = *pargc; + char **pargv = argv+1; + char *printername = NULL; + int i; + + for (i = 1; i < argc; i++) { + char *arg = argv[i]; + + if (!strcmp (arg, "-printer") || !strcmp (arg, "-p")) { + if (++i >= argc) usage (); + + printername = argv[i]; + *pargc -= 2; + continue; + } + if (!strcmp(arg,"-")) { + while (i(b))?(a):(b)) +#endif /* MAX */ +#ifndef MIN +#define MIN(a,b) (((a)<(b))?(a):(b)) +#endif /* MIN */ + /* Global variables used by routines in just_display.c */ extern char *program_name; /* Name of this program */ extern Display *dpy; /* The current display */ extern int screen; /* The current screen */ +extern Bool printer_output; /* Video or printer output ? */ +#ifdef BUILD_PRINTSUPPORT +extern XPContext pcontext; /* The current print context */ +#endif /* BUILD_PRINTSUPPORT */ #define INIT_NAME program_name=argv[0] /* use this in main to setup program_name */ @@ -53,8 +65,12 @@ extern int screen; /* The current screen */ char *Malloc(unsigned); char *Realloc(char *, int); char *Get_Display_Name(int *, char **); +#ifdef BUILD_PRINTSUPPORT +char *Get_Printer_Name(int *, char **); +#endif /* BUILD_PRINTSUPPORT */ Display *Open_Display(char *); void Setup_Display_And_Screen(int *, char **); +void Close_Display(void); XFontStruct *Open_Font(char *); void Beep(void); Pixmap ReadBitmapFile(Drawable, char *, int *, int *, int *, int *); -- cgit v1.2.3