1756 lines
46 KiB
C
1756 lines
46 KiB
C
/*
|
|
File: PMCore.h
|
|
|
|
Contains: Carbon Printing Manager Interfaces.
|
|
|
|
Version: QuickTime 7.3
|
|
|
|
Copyright: (c) 2007 (c) 1998-2001 by Apple Computer, Inc., all rights reserved
|
|
|
|
Bugs?: For bug reports, consult the following page on
|
|
the World Wide Web:
|
|
|
|
http://developer.apple.com/bugreporter/
|
|
|
|
*/
|
|
#ifndef __PMCORE__
|
|
#define __PMCORE__
|
|
|
|
#ifndef __MACERRORS__
|
|
#include <MacErrors.h>
|
|
#endif
|
|
|
|
#ifndef __FILES__
|
|
#include <Files.h>
|
|
#endif
|
|
|
|
#ifndef __CFSTRING__
|
|
#include <CFString.h>
|
|
#endif
|
|
|
|
#ifndef __CFURL__
|
|
#include <CFURL.h>
|
|
#endif
|
|
|
|
#ifndef __QUICKDRAW__
|
|
#include <Quickdraw.h>
|
|
#endif
|
|
|
|
#ifndef __CMAPPLICATION__
|
|
#include <CMApplication.h>
|
|
#endif
|
|
|
|
#ifndef __PMDEFINITIONS__
|
|
#include <PMDefinitions.h>
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#if PRAGMA_ONCE
|
|
#pragma once
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#if PRAGMA_IMPORT
|
|
#pragma import on
|
|
#endif
|
|
|
|
#ifndef PM_USE_SESSION_APIS
|
|
#define PM_USE_SESSION_APIS 1
|
|
#endif /* !defined(PM_USE_SESSION_APIS) */
|
|
|
|
/* Callbacks */
|
|
typedef CALLBACK_API( void , PMIdleProcPtr )(void);
|
|
typedef STACK_UPP_TYPE(PMIdleProcPtr) PMIdleUPP;
|
|
/*
|
|
* NewPMIdleUPP()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API_C( PMIdleUPP )
|
|
NewPMIdleUPP(PMIdleProcPtr userRoutine);
|
|
|
|
/*
|
|
* DisposePMIdleUPP()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API_C( void )
|
|
DisposePMIdleUPP(PMIdleUPP userUPP);
|
|
|
|
/*
|
|
* InvokePMIdleUPP()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API_C( void )
|
|
InvokePMIdleUPP(PMIdleUPP userUPP);
|
|
|
|
#if PM_USE_SESSION_APIS
|
|
/*
|
|
* PMSessionCreatePrinterList()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.4 and later
|
|
* Mac OS X: in version 10.1 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMSessionCreatePrinterList(
|
|
PMPrintSession printSession,
|
|
CFArrayRef * printerList,
|
|
CFIndex * currentIndex,
|
|
PMPrinter * currentPrinter);
|
|
|
|
|
|
/*
|
|
* PMSessionSetCurrentPrinter()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.4 and later
|
|
* Mac OS X: in version 10.1 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMSessionSetCurrentPrinter(
|
|
PMPrintSession session,
|
|
CFStringRef printerName);
|
|
|
|
|
|
/*
|
|
* PMSessionSetDestination()
|
|
*
|
|
* Summary:
|
|
* Alter a print session and print settings so that an associated
|
|
* print job is sent to the provided destination type in the,
|
|
* optional, MIME document format.
|
|
*
|
|
* Discussion:
|
|
* This function is most useful when an application would like to
|
|
* write its print output to disk without requiring user
|
|
* interaction. The list of MIME types that can be sent to the
|
|
* provided destination can be obtained from
|
|
* PMSessionCopyOutputFormatList and one of these passed to this
|
|
* function.
|
|
*
|
|
* Parameters:
|
|
*
|
|
* printSession:
|
|
* The session to be used for a print job. The session holds the
|
|
* preview setting which can override the destination type in the
|
|
* print settings.
|
|
*
|
|
* printSettings:
|
|
* The print settings to be used for a print job. The print
|
|
* settings specify whether a job will be directed toward a
|
|
* printer or to file. It also holds the requested MIME output
|
|
* type.
|
|
*
|
|
* destType:
|
|
* The destiation type for a print job associated with the
|
|
* provided print session and print settings. Fax is currently not
|
|
* supported, but kPMDestinationPrinter, kPMDestinationFile, and
|
|
* kPMDestinationPreview can be set.
|
|
*
|
|
* destFormat:
|
|
* The MIME type to be generated for the provided destination
|
|
* type. This parameter can be NULL in which the default format
|
|
* for the requested destination type is used. To obtain a list of
|
|
* valid formats for a given destiation type, use the function
|
|
* PMSessionCopyOutputFormatList.
|
|
*
|
|
* destLocation:
|
|
* Some destination types support a destination location. The
|
|
* clearest example is the kPMDestinationFile destination type
|
|
* which allows a caller to also supply a file URL specifying
|
|
* where the output file is to be created.
|
|
*
|
|
* SPECIAL_AVAILABILITY_NOTE:
|
|
* This routine is available in ApplicationsServices.framework in
|
|
* Mac OS X version 10.1 and later. On Mac OS X it is available to
|
|
* CFM applications through CarbonLib starting with Mac OS X
|
|
* version 10.2 and later.
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.5 and later
|
|
* Mac OS X: in version 10.1 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMSessionSetDestination(
|
|
PMPrintSession printSession,
|
|
PMPrintSettings printSettings,
|
|
PMDestinationType destType,
|
|
CFStringRef destFormat,
|
|
CFURLRef destLocation);
|
|
|
|
|
|
/*
|
|
* PMSessionGetDestinationType()
|
|
*
|
|
* Summary:
|
|
* Hand back the destination type that will be used for a print job
|
|
* with the specified print settings and print session.
|
|
*
|
|
* Discussion:
|
|
* Currently there are four destination types:
|
|
* kPMDestinationPrinter, kPMDestinationFile, kPMDestinationFax and
|
|
* kPMDestinationPreview. The first three destination types are
|
|
* stored in the print settings. The switch for preview is stored in
|
|
* the print session and, if enabled, overrides the destination in
|
|
* the print setting. This function is preferred over
|
|
* PMGetDestination as the latter does not take a print session
|
|
* parameter and therefore can not indicate whether preview has been
|
|
* selected as the destination.
|
|
*
|
|
* Parameters:
|
|
*
|
|
* printSession:
|
|
* The session to be used for a print job. The session holds the
|
|
* preview setting which can override the destination type in the
|
|
* print settings.
|
|
*
|
|
* printSettings:
|
|
* The print settings to be used for a print job. The print
|
|
* settings specify whether a job will be directed toward a
|
|
* printer or to file.
|
|
*
|
|
* destTypeP:
|
|
* A pointer to a caller supplied PMDestinationType variable. If
|
|
* this function succeeds then *'destTypeP' will be filled in with
|
|
* the destination type for a print job that used the specified
|
|
* session and print settings. If this function fails, then
|
|
* *'destType' will be set to kPMDestinationInvalid.
|
|
*
|
|
* SPECIAL_AVAILABILITY_NOTE:
|
|
* This routine is available in ApplicationsServices.framework in
|
|
* Mac OS X version 10.1 and later. On Mac OS X it is available to
|
|
* CFM applications through CarbonLib starting with Mac OS X
|
|
* version 10.2 and later.
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.5 and later
|
|
* Mac OS X: in version 10.1 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMSessionGetDestinationType(
|
|
PMPrintSession printSession,
|
|
PMPrintSettings printSettings,
|
|
PMDestinationType * destTypeP);
|
|
|
|
|
|
/*
|
|
* PMSessionCopyDestinationFormat()
|
|
*
|
|
* Summary:
|
|
* Hand back the destination output MIME type associated with the
|
|
* provided print session and print settings.
|
|
*
|
|
* Parameters:
|
|
*
|
|
* printSession:
|
|
* A currently open print session.
|
|
*
|
|
* printSettings:
|
|
* The print settings that are to be searched.
|
|
*
|
|
* destFormatP:
|
|
* A pointer to a caller allocated CFStringRef variable. If this
|
|
* routine returns noErr then *'destFormatP' will either be a copy
|
|
* of a CFStringRef specifying the output format for the print
|
|
* job, or NULL indicating that the default output format will be
|
|
* used. If this function return an error, then *'destFormatP'
|
|
* will be set to NULL.
|
|
*
|
|
* SPECIAL_AVAILABILITY_NOTE:
|
|
* This routine is available in ApplicationsServices.framework in
|
|
* Mac OS X version 10.1 and later. On Mac OS X it is available to
|
|
* CFM applications through CarbonLib starting with Mac OS X
|
|
* version 10.2 and later.
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.5 and later
|
|
* Mac OS X: in version 10.1 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMSessionCopyDestinationFormat(
|
|
PMPrintSession printSession,
|
|
PMPrintSettings printSettings,
|
|
CFStringRef * destFormatP);
|
|
|
|
|
|
/*
|
|
* PMSessionCopyDestinationLocation()
|
|
*
|
|
* Summary:
|
|
* Hand back the URL destination location given a print session and
|
|
* print settings.
|
|
*
|
|
* Discussion:
|
|
* Some destination type support a destination location which
|
|
* further defines where the output from a pritn job should be sent.
|
|
* The kPMDestinationFile destiation type, for example, will use a
|
|
* file URL to determine where a new file should be created.
|
|
*
|
|
* Parameters:
|
|
*
|
|
* printSession:
|
|
* A currently open print session.
|
|
*
|
|
* printSettings:
|
|
* The print settings that are to be searched.
|
|
*
|
|
* destLocationP:
|
|
* A pointer to a caller allocated CFURLRef variable. If this
|
|
* routine returns noErr then *'outputFileP' will either be NULL
|
|
* indicating that the job is using the default destination
|
|
* location for the current destination type or a copy of a
|
|
* CFURLRef will be placed in *'destLocationP'. If this function
|
|
* returns an error then 'destLocationP' will be set to NULL.
|
|
*
|
|
* SPECIAL_AVAILABILITY_NOTE:
|
|
* This routine is available in ApplicationsServices.framework in
|
|
* Mac OS X version 10.1 and later. On Mac OS X it is available to
|
|
* CFM applications through CarbonLib starting with Mac OS X
|
|
* version 10.2 and later.
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.5 and later
|
|
* Mac OS X: in version 10.1 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMSessionCopyDestinationLocation(
|
|
PMPrintSession printSession,
|
|
PMPrintSettings printSettings,
|
|
CFURLRef * destLocationP);
|
|
|
|
|
|
/*
|
|
* PMSessionCopyOutputFormatList()
|
|
*
|
|
* Summary:
|
|
* Hands back an an array of MIME types describing the possible
|
|
* output formats for the printer module associated with the current
|
|
* printer.
|
|
*
|
|
* Parameters:
|
|
*
|
|
* printSession:
|
|
* This session's current printer's printer module will be queried
|
|
* for its supported output MIME types.
|
|
*
|
|
* destType:
|
|
* A print job can have one of several possible destination types.
|
|
* The list of valid output formats is dependent upon the
|
|
* destination type. This parameter specifies destination type of
|
|
* interest when retrieving the output formats list.
|
|
*
|
|
* documentFormatP:
|
|
* A pointer to a caller's CFArrayRef variable. If this routine
|
|
* completes successfully, then *'documentFormatP' will be set to
|
|
* a CFArrayRef containing CFStringRefs. Each CFStringRef in the
|
|
* array is a MIME type specifying a type of output that can be
|
|
* generated by the printer module associated with the current
|
|
* printer.
|
|
*
|
|
* SPECIAL_AVAILABILITY_NOTE:
|
|
* This routine is available in ApplicationsServices.framework in
|
|
* Mac OS X version 10.1 and later. On Mac OS X it is available to
|
|
* CFM applications through CarbonLib starting with Mac OS X
|
|
* version 10.2 and later. On Mac OS 8/9 using CarbonLib, this
|
|
* routine returns kPMNotImplemented
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.6 and later
|
|
* Mac OS X: in version 10.1 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMSessionCopyOutputFormatList(
|
|
PMPrintSession printSession,
|
|
PMDestinationType destType,
|
|
CFArrayRef * documentFormatP);
|
|
|
|
|
|
|
|
/*
|
|
* PMSessionCreatePageFormatList()
|
|
*
|
|
* Summary:
|
|
* Hand back a list of page format instances. Each page format
|
|
* instance describes a paper size available on the specified
|
|
* printer.
|
|
*
|
|
* Parameters:
|
|
*
|
|
* printSession:
|
|
* A currently open print session.
|
|
*
|
|
* printer:
|
|
* The printer whose page size list should be enumerated. To get
|
|
* the session's current printer, see PMSessionGetCurrentPrinter().
|
|
*
|
|
* pageFormatList:
|
|
* If this function is successful then noErr will be returned and
|
|
* *'pageFormatList' will be set to a newly created CFArray. Each
|
|
* element in the array will be a PMPageFormat describing an
|
|
* available paper size for the specified printer. If this
|
|
* function fails then a non-zero error code will be returned and
|
|
* *'pageFormatList' will be set to NULL.
|
|
*
|
|
* SPECIAL_AVAILABILITY_NOTE:
|
|
* This routine is available in ApplicationsServices.framework in
|
|
* Mac OS X version 10.1 and later. On Mac OS X it is available to
|
|
* CFM applications through CarbonLib starting with Mac OS X
|
|
* version 10.2 and later. On Mac OS 8/9 using CarbonLib, this
|
|
* routine returns kPMNotImplemented
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.6 and later
|
|
* Mac OS X: in version 10.1 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMSessionCreatePageFormatList(
|
|
PMPrintSession printSession,
|
|
PMPrinter printer,
|
|
CFArrayRef * pageFormatList);
|
|
|
|
|
|
/*
|
|
* SPECIAL AVAILABILITY note: This routine is available in ApplicationsServices.framework in
|
|
* Mac OS X version 10.0 and later. On Mac OS X it is available to CFM applications through CarbonLib
|
|
* starting with Mac OS X version 10.2 and later.
|
|
*
|
|
* On Mac OS 8/9 using CarbonLib, this routine returns kPMNotImplemented
|
|
*/
|
|
/*
|
|
* PMSessionBeginDocumentNoDialog()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.6 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMSessionBeginDocumentNoDialog(
|
|
PMPrintSession printSession,
|
|
PMPrintSettings printSettings,
|
|
PMPageFormat pageFormat);
|
|
|
|
|
|
/*
|
|
* SPECIAL AVAILABILITY note: This routine is available in ApplicationsServices.framework in
|
|
* Mac OS X version 10.0 and later. On Mac OS X it is available to CFM applications through CarbonLib
|
|
* starting with Mac OS X version 10.2 and later.
|
|
*
|
|
* On Mac OS 8/9 using CarbonLib, this routine returns kPMNotImplemented
|
|
*/
|
|
/*
|
|
* PMSessionEndDocumentNoDialog()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.6 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMSessionEndDocumentNoDialog(PMPrintSession printSession);
|
|
|
|
|
|
/*
|
|
* SPECIAL AVAILABILITY note: This routine is available in ApplicationsServices.framework in
|
|
* Mac OS X version 10.0 and later. On Mac OS X it is available to CFM applications through CarbonLib
|
|
* starting with Mac OS X version 10.2 and later.
|
|
*
|
|
* On Mac OS 8/9 using CarbonLib, this routine returns kPMNotImplemented
|
|
*/
|
|
/*
|
|
* PMSessionBeginPageNoDialog()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.6 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMSessionBeginPageNoDialog(
|
|
PMPrintSession printSession,
|
|
PMPageFormat pageFormat,
|
|
const PMRect * pageFrame);
|
|
|
|
|
|
/*
|
|
* SPECIAL AVAILABILITY note: This routine is available in ApplicationsServices.framework in
|
|
* Mac OS X version 10.0 and later. On Mac OS X it is available to CFM applications through CarbonLib
|
|
* starting with Mac OS X version 10.2 and later.
|
|
*
|
|
* On Mac OS 8/9 using CarbonLib, this routine returns kPMNotImplemented
|
|
*/
|
|
/*
|
|
* PMSessionEndPageNoDialog()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.6 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMSessionEndPageNoDialog(PMPrintSession printSession);
|
|
|
|
|
|
#else
|
|
/*
|
|
* PMSetIdleProc()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMSetIdleProc(PMIdleUPP idleProc);
|
|
|
|
|
|
/* Print loop */
|
|
/*
|
|
* PMBegin()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMBegin(void);
|
|
|
|
|
|
/*
|
|
* PMEnd()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMEnd(void);
|
|
|
|
|
|
/************************/
|
|
/* Valid only within a PMBeginPage/PMEndPage block. You should retrieve the printing */
|
|
/* port with this call and set it before imaging a page. */
|
|
/************************/
|
|
/*
|
|
* PMGetGrafPtr()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMGetGrafPtr(
|
|
PMPrintContext printContext,
|
|
GrafPtr * grafPort);
|
|
|
|
|
|
/* PMPageFormat */
|
|
/*
|
|
* PMNewPageFormat()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMNewPageFormat(PMPageFormat * pageFormat);
|
|
|
|
|
|
/*
|
|
* PMDisposePageFormat()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMDisposePageFormat(PMPageFormat pageFormat);
|
|
|
|
|
|
/*
|
|
* PMDefaultPageFormat()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMDefaultPageFormat(PMPageFormat pageFormat);
|
|
|
|
|
|
/*
|
|
* PMValidatePageFormat()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMValidatePageFormat(
|
|
PMPageFormat pageFormat,
|
|
Boolean * result);
|
|
|
|
|
|
/* PMPrintSettings */
|
|
/*
|
|
* PMNewPrintSettings()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMNewPrintSettings(PMPrintSettings * printSettings);
|
|
|
|
|
|
/*
|
|
* PMDisposePrintSettings()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMDisposePrintSettings(PMPrintSettings printSettings);
|
|
|
|
|
|
/*
|
|
* PMDefaultPrintSettings()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMDefaultPrintSettings(PMPrintSettings printSettings);
|
|
|
|
|
|
/*
|
|
* PMValidatePrintSettings()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMValidatePrintSettings(
|
|
PMPrintSettings printSettings,
|
|
Boolean * result);
|
|
|
|
|
|
/* Classic Support */
|
|
/*
|
|
* PMGeneral()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMGeneral(Ptr pData);
|
|
|
|
|
|
/*
|
|
* PMConvertOldPrintRecord()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMConvertOldPrintRecord(
|
|
Handle printRecordHandle,
|
|
PMPrintSettings * printSettings,
|
|
PMPageFormat * pageFormat);
|
|
|
|
|
|
/*
|
|
* PMMakeOldPrintRecord()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMMakeOldPrintRecord(
|
|
PMPrintSettings printSettings,
|
|
PMPageFormat pageFormat,
|
|
Handle * printRecordHandle);
|
|
|
|
|
|
/* Driver Information */
|
|
/*
|
|
* PMIsPostScriptDriver()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMIsPostScriptDriver(Boolean * isPostScript);
|
|
|
|
|
|
/*
|
|
* PMGetLanguageInfo()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMGetLanguageInfo(PMLanguageInfo * info);
|
|
|
|
|
|
/*
|
|
* PMGetDriverCreator()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMGetDriverCreator(OSType * creator);
|
|
|
|
|
|
/*
|
|
* PMGetDriverReleaseInfo()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMGetDriverReleaseInfo(VersRec * release);
|
|
|
|
|
|
/*
|
|
* PMGetPrinterResolutionCount()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMGetPrinterResolutionCount(UInt32 * count);
|
|
|
|
|
|
/*
|
|
* PMGetPrinterResolution()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMGetPrinterResolution(
|
|
PMTag tag,
|
|
PMResolution * res);
|
|
|
|
|
|
/*
|
|
* PMGetIndexedPrinterResolution()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMGetIndexedPrinterResolution(
|
|
UInt32 index,
|
|
PMResolution * res);
|
|
|
|
|
|
/************************/
|
|
/* PMEnableColorSync and PMDisableColorSync are valid within */
|
|
/* BeginPage/EndPage block */
|
|
/************************/
|
|
/* ColorSync & PostScript Support */
|
|
/*
|
|
* PMEnableColorSync()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMEnableColorSync(void);
|
|
|
|
|
|
/*
|
|
* PMDisableColorSync()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMDisableColorSync(void);
|
|
|
|
|
|
/************************/
|
|
/* The PMPostScriptxxx calls are valid within a */
|
|
/* BeginPage/EndPage block */
|
|
/************************/
|
|
/*
|
|
* PMPostScriptBegin()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMPostScriptBegin(void);
|
|
|
|
|
|
/*
|
|
* PMPostScriptEnd()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMPostScriptEnd(void);
|
|
|
|
|
|
/************************/
|
|
/* These PMPostScriptxxx calls are valid within a */
|
|
/* PMPostScriptBegin/PMPostScriptEnd block */
|
|
/************************/
|
|
/*
|
|
* PMPostScriptHandle()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMPostScriptHandle(Handle psHandle);
|
|
|
|
|
|
/*
|
|
* PMPostScriptData()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMPostScriptData(
|
|
Ptr psPtr,
|
|
Size len);
|
|
|
|
|
|
/*
|
|
* PMPostScriptFile()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMPostScriptFile(FSSpec * psFile);
|
|
|
|
|
|
/* Error */
|
|
/*
|
|
* PMError()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMError(void);
|
|
|
|
|
|
/*
|
|
* PMSetError()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMSetError(OSStatus printError);
|
|
|
|
|
|
#endif /* PM_USE_SESSION_APIS */
|
|
|
|
/* PMPageFormat */
|
|
/*
|
|
* PMCopyPageFormat()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMCopyPageFormat(
|
|
PMPageFormat formatSrc,
|
|
PMPageFormat formatDest);
|
|
|
|
|
|
/************************/
|
|
/* Flattening a page format should only be necessary if you intend to preserve */
|
|
/* the object settings along with a document. A page format will persist outside of a */
|
|
/* PMBegin/PMEnd block. This will allow you to use any accessors on the object without */
|
|
/* the need to flatten and unflatten. Keep in mind accessors make no assumption */
|
|
/* on the validity of the value you set. This can only be done thru PMValidatePageFormat */
|
|
/* in a PMBegin/PMEnd block or with PMSessionValidatePageFormat with a valid session. */
|
|
/* It is your responsibility for disposing of the handle. */
|
|
/************************/
|
|
/*
|
|
* PMFlattenPageFormat()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMFlattenPageFormat(
|
|
PMPageFormat pageFormat,
|
|
Handle * flatFormat);
|
|
|
|
|
|
/*
|
|
* PMUnflattenPageFormat()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMUnflattenPageFormat(
|
|
Handle flatFormat,
|
|
PMPageFormat * pageFormat);
|
|
|
|
|
|
/* PMPageFormat Accessors */
|
|
/************************/
|
|
/* PMSetxxx calls only saves the value inside the printing object. They make no assumption on the */
|
|
/* validity of the value. This should be done using PMValidatePageFormat/PMSessionValidatePageFormat */
|
|
/* Any dependant settings are also updated during a validate call. */
|
|
/* For example: */
|
|
/* PMGetAdjustedPaperRect - returns a rect of a certain size */
|
|
/* PMSetScale( aPageFormat, 500.0 ) */
|
|
/* PMGetAdjustedPaperRect - returns the SAME rect as the first call */
|
|
/**/
|
|
/* PMGetAdjustedPaperRect - returns a rect of a certain size */
|
|
/* PMSetScale( aPageFormat, 500.0 ) */
|
|
/* PMValidatePageFormat or PMSessionValidatePageFormat */
|
|
/* PMGetAdjustedPaperRect - returns a rect thats scaled 500% from the first call */
|
|
/************************/
|
|
/*
|
|
* PMGetPageFormatExtendedData()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMGetPageFormatExtendedData(
|
|
PMPageFormat pageFormat,
|
|
OSType dataID,
|
|
UInt32 * size,
|
|
void * extendedData);
|
|
|
|
|
|
/*
|
|
* PMSetPageFormatExtendedData()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMSetPageFormatExtendedData(
|
|
PMPageFormat pageFormat,
|
|
OSType dataID,
|
|
UInt32 size,
|
|
void * extendedData);
|
|
|
|
|
|
/************************/
|
|
/* A value of 100.0 means 100% (no scaling). 50.0 means 50% scaling */
|
|
/************************/
|
|
/*
|
|
* PMGetScale()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMGetScale(
|
|
PMPageFormat pageFormat,
|
|
double * scale);
|
|
|
|
|
|
/*
|
|
* PMSetScale()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMSetScale(
|
|
PMPageFormat pageFormat,
|
|
double scale);
|
|
|
|
|
|
/************************/
|
|
/* This is the drawing resolution of an app. This should not be confused with */
|
|
/* the resolution of the printer. You can call PMGetPrinterResolution to see */
|
|
/* what resolutions are avaliable for the current printer. */
|
|
/************************/
|
|
/*
|
|
* PMGetResolution()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMGetResolution(
|
|
PMPageFormat pageFormat,
|
|
PMResolution * res);
|
|
|
|
|
|
/*
|
|
* PMSetResolution()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMSetResolution(
|
|
PMPageFormat pageFormat,
|
|
const PMResolution * res);
|
|
|
|
|
|
/************************/
|
|
/* This is the physical size of the paper without regard to resolution, orientation */
|
|
/* or scaling. It is returned as a 72dpi value. */
|
|
/************************/
|
|
/*
|
|
* PMGetPhysicalPaperSize()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMGetPhysicalPaperSize(
|
|
PMPageFormat pageFormat,
|
|
PMRect * paperSize);
|
|
|
|
|
|
/*
|
|
* PMSetPhysicalPaperSize()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMSetPhysicalPaperSize(
|
|
PMPageFormat pageFormat,
|
|
const PMRect * paperSize);
|
|
|
|
|
|
/************************/
|
|
/* This is the physical size of the page without regard to resolution, orientation */
|
|
/* or scaling. It is returned as a 72dpi value. */
|
|
/************************/
|
|
/*
|
|
* PMGetPhysicalPageSize()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMGetPhysicalPageSize(
|
|
PMPageFormat pageFormat,
|
|
PMRect * pageSize);
|
|
|
|
|
|
/*
|
|
* PMGetAdjustedPaperRect()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMGetAdjustedPaperRect(
|
|
PMPageFormat pageFormat,
|
|
PMRect * paperRect);
|
|
|
|
|
|
/*
|
|
* PMGetAdjustedPageRect()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMGetAdjustedPageRect(
|
|
PMPageFormat pageFormat,
|
|
PMRect * pageRect);
|
|
|
|
|
|
/*
|
|
* PMGetUnadjustedPaperRect()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.1 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMGetUnadjustedPaperRect(
|
|
PMPageFormat pageFormat,
|
|
PMRect * paperRect);
|
|
|
|
|
|
/*
|
|
* PMSetUnadjustedPaperRect()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.1 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMSetUnadjustedPaperRect(
|
|
PMPageFormat pageFormat,
|
|
const PMRect * paperRect);
|
|
|
|
|
|
/*
|
|
* PMGetUnadjustedPageRect()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.1 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMGetUnadjustedPageRect(
|
|
PMPageFormat pageFormat,
|
|
PMRect * pageRect);
|
|
|
|
|
|
/*
|
|
* PMSetAdjustedPageRect()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.1 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMSetAdjustedPageRect(
|
|
PMPageFormat pageFormat,
|
|
const PMRect * pageRect);
|
|
|
|
|
|
/*
|
|
* PMGetOrientation()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMGetOrientation(
|
|
PMPageFormat pageFormat,
|
|
PMOrientation * orientation);
|
|
|
|
|
|
/*
|
|
* PMSetOrientation()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMSetOrientation(
|
|
PMPageFormat pageFormat,
|
|
PMOrientation orientation,
|
|
Boolean lock);
|
|
|
|
|
|
/* PMPrintSettings */
|
|
/*
|
|
* PMCopyPrintSettings()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMCopyPrintSettings(
|
|
PMPrintSettings settingSrc,
|
|
PMPrintSettings settingDest);
|
|
|
|
|
|
/************************/
|
|
/* Flattening a print settings should only be necessary if you intend to preserve */
|
|
/* the object settings along with a document. A print settings will persist outside of a */
|
|
/* PMBegin/PMEnd block. This allows you to use any accessors on the object without */
|
|
/* the need to flatten and unflatten. Keep in mind the accessors make no assumption */
|
|
/* on the validity of the value. This can only be done thru PMValidatePrintSettings */
|
|
/* in a PMBegin/PMEnd block or with PMSessionValidatePrintSettings with a valid session. */
|
|
/* It is your responsibility for disposing of the handle. */
|
|
/************************/
|
|
/*
|
|
* PMFlattenPrintSettings()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMFlattenPrintSettings(
|
|
PMPrintSettings printSettings,
|
|
Handle * flatSettings);
|
|
|
|
|
|
/*
|
|
* PMUnflattenPrintSettings()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMUnflattenPrintSettings(
|
|
Handle flatSettings,
|
|
PMPrintSettings * printSettings);
|
|
|
|
|
|
/* PMPrintSettings Accessors */
|
|
/*
|
|
* PMGetPrintSettingsExtendedData()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMGetPrintSettingsExtendedData(
|
|
PMPrintSettings printSettings,
|
|
OSType dataID,
|
|
UInt32 * size,
|
|
void * extendedData);
|
|
|
|
|
|
/*
|
|
* PMSetPrintSettingsExtendedData()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMSetPrintSettingsExtendedData(
|
|
PMPrintSettings printSettings,
|
|
OSType dataID,
|
|
UInt32 size,
|
|
void * extendedData);
|
|
|
|
|
|
/*
|
|
* PMGetDestination()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.1 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMGetDestination(
|
|
PMPrintSettings printSettings,
|
|
PMDestinationType * destType,
|
|
CFURLRef * fileURL);
|
|
|
|
|
|
/*
|
|
* PMGetJobName()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMGetJobName(
|
|
PMPrintSettings printSettings,
|
|
StringPtr name);
|
|
|
|
|
|
/*
|
|
* PMSetJobName()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMSetJobName(
|
|
PMPrintSettings printSettings,
|
|
StringPtr name);
|
|
|
|
|
|
/*
|
|
* PMGetCopies()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMGetCopies(
|
|
PMPrintSettings printSettings,
|
|
UInt32 * copies);
|
|
|
|
|
|
/*
|
|
* PMSetCopies()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMSetCopies(
|
|
PMPrintSettings printSettings,
|
|
UInt32 copies,
|
|
Boolean lock);
|
|
|
|
|
|
/*
|
|
* PMGetFirstPage()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMGetFirstPage(
|
|
PMPrintSettings printSettings,
|
|
UInt32 * first);
|
|
|
|
|
|
/*
|
|
* PMSetFirstPage()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMSetFirstPage(
|
|
PMPrintSettings printSettings,
|
|
UInt32 first,
|
|
Boolean lock);
|
|
|
|
|
|
/*
|
|
* PMGetLastPage()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMGetLastPage(
|
|
PMPrintSettings printSettings,
|
|
UInt32 * last);
|
|
|
|
|
|
/*
|
|
* PMSetLastPage()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMSetLastPage(
|
|
PMPrintSettings printSettings,
|
|
UInt32 last,
|
|
Boolean lock);
|
|
|
|
|
|
/************************/
|
|
/* The default page range is from 1-32000. The page range is something that is */
|
|
/* set by the application. It is NOT the first and last page to print. It serves */
|
|
/* as limits for setting the first and last page. You may pass kPMPrintAllPages for */
|
|
/* the maxPage value to specified that all pages are available for printing. */
|
|
/************************/
|
|
/*
|
|
* PMGetPageRange()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMGetPageRange(
|
|
PMPrintSettings printSettings,
|
|
UInt32 * minPage,
|
|
UInt32 * maxPage);
|
|
|
|
|
|
/************************/
|
|
/* The first and last page are immediately clipped to the new range */
|
|
/************************/
|
|
/*
|
|
* PMSetPageRange()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMSetPageRange(
|
|
PMPrintSettings printSettings,
|
|
UInt32 minPage,
|
|
UInt32 maxPage);
|
|
|
|
|
|
/*
|
|
* PMSetProfile()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMSetProfile(
|
|
PMPrintSettings printSettings,
|
|
PMTag tag,
|
|
const CMProfileLocation * profile);
|
|
|
|
|
|
/*
|
|
* PMSetCollate()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.6 and later
|
|
* Mac OS X: in version 10.2 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMSetCollate(
|
|
PMPrintSettings printSettings,
|
|
Boolean collate);
|
|
|
|
|
|
/*
|
|
* PMGetCollate()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: in CarbonLib 1.6 and later
|
|
* Mac OS X: in version 10.2 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMGetCollate(
|
|
PMPrintSettings printSettings,
|
|
Boolean * collate);
|
|
|
|
|
|
/*
|
|
* PMServerCreatePrinterList()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
|
|
* Mac OS X: in version 10.2 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMServerCreatePrinterList(
|
|
PMServer server,
|
|
CFArrayRef * printerList);
|
|
|
|
|
|
/*
|
|
* PMPrinterGetName()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
|
|
* Mac OS X: in version 10.2 and later
|
|
*/
|
|
EXTERN_API( CFStringRef )
|
|
PMPrinterGetName(PMPrinter printer);
|
|
|
|
|
|
/*
|
|
* PMPrinterGetID()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
|
|
* Mac OS X: in version 10.2 and later
|
|
*/
|
|
EXTERN_API( CFStringRef )
|
|
PMPrinterGetID(PMPrinter printer);
|
|
|
|
|
|
/*
|
|
* PMPrinterIsDefault()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
|
|
* Mac OS X: in version 10.2 and later
|
|
*/
|
|
EXTERN_API( Boolean )
|
|
PMPrinterIsDefault(PMPrinter printer);
|
|
|
|
|
|
/*
|
|
* PMPrinterGetLocation()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
|
|
* Mac OS X: in version 10.2 and later
|
|
*/
|
|
EXTERN_API( CFStringRef )
|
|
PMPrinterGetLocation(PMPrinter printer);
|
|
|
|
|
|
/*
|
|
* PMPrinterGetState()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
|
|
* Mac OS X: in version 10.2 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMPrinterGetState(
|
|
PMPrinter printer,
|
|
PMPrinterState * state);
|
|
|
|
|
|
/*
|
|
* PMPrinterGetDeviceURI()
|
|
*
|
|
* Summary:
|
|
* Hand back the URI of the printer's device.
|
|
*
|
|
* Discussion:
|
|
* If defined on OS 9 this function returns kPMNotImplemented.
|
|
*
|
|
* Parameters:
|
|
*
|
|
* printer:
|
|
* The printer whose device URI is to be retrieved.
|
|
*
|
|
* deviceURI:
|
|
* On exit, if successful *'deviceURI' will contain a reference to
|
|
* a CFURL describing the printer's device. The caller is
|
|
* responsible for releasing this reference. If this call returns
|
|
* an error, then *'deviceURI' will be set to NULL.
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
|
|
* Mac OS X: in version 10.2 and later
|
|
*/
|
|
EXTERN_API( OSStatus )
|
|
PMPrinterGetDeviceURI(
|
|
PMPrinter printer,
|
|
CFURLRef * deviceURI);
|
|
|
|
|
|
|
|
/*
|
|
* PMPrinterIsFavorite()
|
|
*
|
|
* Summary:
|
|
* Return true if the printer is in the user's favorite printer list.
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
|
|
* Mac OS X: in version 10.2 and later
|
|
*/
|
|
EXTERN_API( Boolean )
|
|
PMPrinterIsFavorite(PMPrinter printer);
|
|
|
|
|
|
/*
|
|
* PMCGImageCreateWithEPSDataProvider()
|
|
*
|
|
* Summary:
|
|
* Create an image reference that references both the PostScript
|
|
* contents of an EPS file and a preview (proxy) image for that EPS
|
|
* file.
|
|
*
|
|
* Discussion:
|
|
* For OS X 10.1.0, this function ignores the passed in data
|
|
* provider. The passed in image reference is retained and then
|
|
* returned. For 10.1.1 and later, then the data provider is used
|
|
* and the returned image reference is different than the passed in
|
|
* image reference, so please be careful with your use of these
|
|
* references. It is likely that the data will not be read from the
|
|
* EPS data provider until well after this function returns. The
|
|
* caller should be careful not to free the underlying EPS data
|
|
* until the provider's release routine is invoked. Similarly the
|
|
* preview image's data may be needed long after you think it should
|
|
* be. Do not free the image data until the image data provider's
|
|
* release data function has been called. To make sure these data
|
|
* providers are properly reference counted, release your reference
|
|
* the EPS data provider and on the EPS image preview when they are
|
|
* no longer needed by your application. For Mac OS X 10.2 and
|
|
* later, the contents of the EPS provider at the time of this call
|
|
* can be dumped to a file if you first do the following, BEFORE
|
|
* running your application. From the command line in terminal:
|
|
* defaults write NSGlobalDomain com.apple.print.eps.testProvider
|
|
* /tmp/dump.eps causes a dump of the EPS data into a file
|
|
* /tmp/dump.eps.
|
|
*
|
|
* Parameters:
|
|
*
|
|
* epsDataProvider:
|
|
* A Core Graphics data provider that can supply the PostScript
|
|
* contents of the EPS file. Post OS X 10.1, there will be some
|
|
* checking done on the EPS data provided to the
|
|
* PMCGImageCreateWithEPSDataProvider() call. It is important that
|
|
* the EPS data begin with the EPSF required header and bounding
|
|
* box DSC comments.
|
|
*
|
|
* epsPreview:
|
|
* A Core Graphics image reference to the proxy image for the EPS
|
|
* file. When the image reference result of this function is
|
|
* rendered on screen or printed to a printer that can not render
|
|
* PostScript this proxy image is drawn instead.
|
|
*
|
|
* Result:
|
|
* an image reference capable of rendering either the EPS content or
|
|
* the proxy image depending upon the capabilities of the targeted
|
|
* context.
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: not available
|
|
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
|
|
* Mac OS X: in version 10.1 and later
|
|
*/
|
|
EXTERN_API( CGImageRef )
|
|
PMCGImageCreateWithEPSDataProvider(
|
|
CGDataProviderRef epsDataProvider,
|
|
CGImageRef epsPreview);
|
|
|
|
|
|
|
|
#ifdef PRAGMA_IMPORT_OFF
|
|
#pragma import off
|
|
#elif PRAGMA_IMPORT
|
|
#pragma import reset
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __PMCORE__ */
|
|
|