XmPrintToFile man page on DigitalUNIX

Man page or keyword search:  
man Server   12896 pages
apropos Keyword Search (all sections)
Output format
DigitalUNIX logo
[printable version]

XmPrintToFile(library call)			   XmPrintToFile(library call)

NAME
       XmPrintToFile — Retrieves and saves data that would normally be printed
       by the X Print Server.

SYNOPSIS
       #include <Xm/Print.h>
       XtEnumXmPrintToFile(
       Display*dpy,
       Stringfilename,
       XPFinishProcfinish_proc,
       XtPointerclient_data);

DESCRIPTION
       XmPrintToFile hides the details of X display connection and  XpGetDocu‐
       mentData to the Motif application programmer.

       This  function is a convenience routine that hides the details of the X
       and Xp internals to the application programmer by calling the XpGetDoc‐
       umentData function with appropriate save and finish callbacks.

       This  is	 used in the context of X Printing when the user has specified
       the "print-to-file" option from a regular Print Setup Dialog box.

       XmPrintToFile first tries to open the given filename  for  writing  and
       returns	False if it can't.  Else, it uses XpGetDocumentData, giving it
       a save proc that writes the data received in the file and a finish proc
       that  closes the file or removes it on an unsuccessful termination.  It
       calls finish_proc at that point, passing it the argument received  from
       the  Xp	layer  (status == XPGetDocFinished means the file is valid and
       was closed, otherwise the file was removed).

       XmPrintToFile is non-blocking; if  it  returns  successfully,  it  just
       means  the  file	 was  opened  successfully,  not that all the data was
       received.

       dpy	 Print display connection.

       filename	 Name of the file to put the print data in.

       finish_proc
		 Called when all the data has been received.

       client_data
		 Passed with the finish_proc.

RETURN VALUE
       Returns False if the filename could not be created or opened for	 writ‐
       ing, True otherwise.

ERRORS/WARNINGS
       Not applicable

EXAMPLES
       A typical OK callback from a DtPrintSetupBox:

       PrintOKCallback(widget...)
       /*-------------*/
       {   int save_data = XPSpool;

	   pshell = XmPrintSetup (widget, pbs->print_screen,
					  "Print", NULL, 0);

	   XtAddCallback(pshell, XmNstartJobCallback, startJobCB, data);

	   if (pbs->destination == DtPRINT_TO_FILE)
			save_data = XPGetData;

	   /* start job must precede XpGetDocumentData in XmPrintToFile */
	   XpStartJob(XtDisplay(pshell), save_data);
	   XFlush(XtDisplay(pshell));  /* maintain the sequence
					between startjob and getdocument */

	   /* setup print to file */
	   if (pbs->destination == DtPRINT_TO_FILE)
	       XmPrintToFile(XtDisplay(pshell),
					pbs->dest_info, FinishPrintToFile, NULL);
	   }

       }

       static void
       startJobCB(Widget, XtPointer call_data, XtPointer client_data)
       {
	 print(p);   /* rendering happens here */

	 XpEndJob(XtDisplay(p->print_shell));

	 /* clean up */
	 XtDestroyWidget(p->print_shell);
		 XtCloseDisplay(XtDisplay(p->print_shell));
       }

SEE ALSO
       XmPrintSetup(3),	 XmPrintShell(3),  XmRedisplayWidget(3), XmPrintPopup‐
       PDM(3)

						   XmPrintToFile(library call)
[top]

List of man pages available for DigitalUNIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net