Package RASCAL.Printer

DescriptionPrinter types and methods.
Authorbbracke
Date2005/11/21 20:14:33
Revision1.1
 

Clauses

Quick access : ClausesGenericsDefinitionsSubprograms


 
Context clauses
RASCAL.OS
Interfaces.C
System.Unsigned_Types
 
Use clauses
RASCAL.OS
Interfaces.C
 

Definitions

Quick access : ClausesGenericsDefinitionsSubprograms


Types
Name Declaration
Message_PrintFile_Pointeraccess Message_PrintFile
Message_WillPrint_Pointeraccess Message_WillPrint
Message_PrintSave_Pointeraccess Message_PrintSave
Message_PrintInit_Pointeraccess Message_PrintInit
Message_PrintError_Pointeraccess Message_PrintError
Message_PrintTypeOdd_Pointeraccess Message_PrintTypeOdd
Message_PrintTypeKnown_Pointeraccess Message_PrintTypeKnown
Message_SetPrinter_Pointeraccess Message_SetPrinter
Message_PSPrinterQuery_Pointeraccess Message_PSPrinterQuery
Message_PSPrinterAck_Pointeraccess Message_PSPrinterAck
Message_PSPrinterModified_Pointeraccess Message_PSPrinterModified
Message_PSPrinterDefaults_Pointeraccess Message_PSPrinterDefaults
Message_PSPrinterDefaulted_Pointeraccess Message_PSPrinterDefaulted
Message_PSPrinterNotPS_Pointeraccess Message_PSPrinterNotPS
Message_ResetPrinter_Pointeraccess Message_ResetPrinter
Message_PSIsFontPrintRunning_Pointeraccess Message_PSIsFontPrintRunning
   
Message_PrintFile record
This message is sent by !Printers when it receives a DataSave or PrintSave message. The task can do the following :
#tab
十tIgnore. !Printers will send DataSaveAck, to save the file for later printing.
十tRespond with WillPrint, to send data to Printer:
十tPut data in {fcode}Printer$Temp{f} and send DataLoad.
#tab
Component Type Default
LeafnameChar_Array (1..200)
File_TypeInteger
SizeInteger
Screen_YInteger
Screen_XInteger
IconIcon_Handle_Type
WindowWimp_Handle_Type
HeaderMessage_Event_Header
   
AMEL_Message_PrintFile abstract tagged record
inheritance from Message_EventListener (Message_Event_PrintFile)
Component Type Default
EventMessage_PrintFile_Pointer
   
Message_WillPrint record
This message is sent to !Printers on receipt of a PrintFile message to indicate that printing will occur directly to Printer:
Use of this message is depreciated, and PrintTypeOdd protocol should be used in preference.
Component Type Default
HeaderMessage_Event_Header
   
AMEL_Message_WillPrint abstract tagged record
inheritance from Message_EventListener (Message_Event_WillPrint)
Component Type Default
EventMessage_WillPrint_Pointer
   
Message_PrintSave record
This message is sent to !Printers to initiate a print session.
This should be sent recorded delivery (code 18), and if it bounces then you should complain that no printer driver is present.

Printers will respond with one of :
十tPrintError if the printer is busy.
十tPrintFile (for compatability with RISC OS 2 applications).
十tPrintTypeOdd if it doesn't know how to print the file.
十tDataSaveAck if the file should be saved for queueing (later, a PrintTypeOdd message will be broadcast).
Component Type Default
LeafnameChar_Array (1..200)
File_TypeInteger
SizeInteger
Unused4Integer
Unused3Integer
Unused2Integer
UnusedInteger
HeaderMessage_Event_Header
   
AMEL_Message_PrintSave abstract tagged record
inheritance from Message_EventListener (Message_Event_PrintSave)
Component Type Default
EventMessage_PrintSave_Pointer
   
Message_PrintInit record
This message is sent by !Printers when it has loaded. All other printer drivers should quit quietly on receiving this message.
The PRM's do not specify what should happen if the active printer driver is 'actively' printing.
I would recommend that such drivers should complain and send PreQuit followed by Quit to the originator of such messages.
Component Type Default
HeaderMessage_Event_Header
   
AMEL_Message_PrintInit abstract tagged record
inheritance from Message_EventListener (Message_Event_PrintInit)
Component Type Default
EventMessage_PrintInit_Pointer
   
Message_PrintError record
This message is sent by !Printers if an error occurs during printing.
Component Type Default
Error_MessageChar_Array (1..208)
Error_NumberInteger
HeaderMessage_Event_Header
   
AMEL_Message_PrintError abstract tagged record
inheritance from Message_EventListener (Message_Event_PrintError)
Component Type Default
EventMessage_PrintError_Pointer
   
Message_PrintTypeOdd record
This message is sent by !Printers when it doesn't know how to print the file.
The filetype and filename cannot be relied on if we have just come from a PrintSave message.
If an application knows how to print that filetype then it should respond with PrintTypeKnown and either:
十tPrint the file to Printer:
十tOutput the file to Printer$Temp {/}before{/} responding with PrintTypeKnown.
If it does not know the type, then it should ignore the message and await a DataSaveAck,
(which may never arrive if another application knows how to print the file), to queue the file for later printing.
Component Type Default
LeafnameChar_Array (1..200)
File_TypeInteger
HeaderMessage_Event_Header
   
AMEL_Message_PrintTypeOdd abstract tagged record
inheritance from Message_EventListener (Message_Event_PrintTypeOdd)
Component Type Default
EventMessage_PrintTypeOdd_Pointer
   
Message_PrintTypeKnown record
This message is sent to !Printers to indicate that an application has printed, or is printing a file.
Component Type Default
HeaderMessage_Event_Header
   
AMEL_Message_PrintTypeKnown abstract tagged record
inheritance from Message_EventListener (Message_Event_PrintTypeKnown)
Component Type Default
EventMessage_PrintTypeKnown_Pointer
   
Message_SetPrinter record
This message is sent by !Printers to indicate that the printer settings or selection has changed.
Component Type Default
HeaderMessage_Event_Header
   
AMEL_Message_SetPrinter abstract tagged record
inheritance from Message_EventListener (Message_Event_SetPrinter)
Component Type Default
EventMessage_SetPrinter_Pointer
   
Message_PSPrinterQuery record
This message is sent by !FontPrint to !Printers to ask for information.
If the buffer size is not zero then the data placed in the buffer should be :
十tCurrent printer name
十tCurrent printer type
十tPathname to printer font file
!Printers should always respond by placing the size of the buffer in the block and sending PSPrinterAck.
Component Type Default
Buffer_SizeInteger
Buffer_AddressSystem.Unsigned_Types.Unsigned
HeaderMessage_Event_Header
   
AMEL_Message_PSPrinterQuery abstract tagged record
inheritance from Message_EventListener (Message_Event_PSPrinterQuery)
Component Type Default
EventMessage_PSPrinterQuery_Pointer
   
Message_PSPrinterAck record
This message is sent by !Printers to !FontPrint to notify that it has either filled in the block required by PSPrinterQuery,
or to tell it the size of the block required.
If !FontPrint does not receive this message then it should report an error as no printer is installed.
Component Type Default
Buffer_SizeInteger
HeaderMessage_Event_Header
   
AMEL_Message_PSPrinterAck abstract tagged record
inheritance from Message_EventListener (Message_Event_PSPrinterAck)
Component Type Default
EventMessage_PSPrinterAck_Pointer
   
Message_PSPrinterModified record
This message is sent by !FontPrint when the font list file has changed.
The printer driver should re-read the file on receipt.
Component Type Default
HeaderMessage_Event_Header
   
AMEL_Message_PSPrinterModified abstract tagged record
inheritance from Message_EventListener (Message_Event_PSPrinterModified)
Component Type Default
EventMessage_PSPrinterModified_Pointer
   
Message_PSPrinterDefaults record
This message is sent by !FontPrint when the font list file should be reset to its default state.
The printer driver should respond with PSPrinterDefaulted.
Component Type Default
HeaderMessage_Event_Header
   
AMEL_Message_PSPrinterDefaults abstract tagged record
inheritance from Message_EventListener (Message_Event_PSPrinterDefaults)
Component Type Default
EventMessage_PSPrinterDefaults_Pointer
   
Message_PSPrinterDefaulted record
This message is sent by !Printers when the font list has been reset.
This is usually in response to PSPrinterDefault.
Component Type Default
HeaderMessage_Event_Header
   
AMEL_Message_PSPrinterDefaulted abstract tagged record
inheritance from Message_EventListener (Message_Event_PSPrinterDefaulted)
Component Type Default
EventMessage_PSPrinterDefaulted_Pointer
   
Message_PSPrinterNotPS record
This message is sent by !Printers if it receives PSPrinterQuery and the currently selected printer is not postscript.
Component Type Default
HeaderMessage_Event_Header
   
AMEL_Message_PSPrinterNotPS abstract tagged record
inheritance from Message_EventListener (Message_Event_PSPrinterNotPS)
Component Type Default
EventMessage_PSPrinterNotPS_Pointer
   
Message_ResetPrinter record
This message is sent to !Printers to ensure that the printer settings are correct for the currently selected printer.
Component Type Default
HeaderMessage_Event_Header
   
AMEL_Message_ResetPrinter abstract tagged record
inheritance from Message_EventListener (Message_Event_ResetPrinter)
Component Type Default
EventMessage_ResetPrinter_Pointer
   
Message_PSIsFontPrintRunning record
If !FontPrint is running it will acknowledge this message.
Component Type Default
HeaderMessage_Event_Header
   
AMEL_Message_PSIsFontPrintRunning abstract tagged record
inheritance from Message_EventListener (Message_Event_PSIsFontPrintRunning)
Component Type Default
EventMessage_PSIsFontPrintRunning_Pointer
  
Pragmas
Convention(C, Message_PrintFile)
Convention(C, Message_WillPrint)
Convention(C, Message_PrintSave)
Convention(C, Message_PrintInit)
Convention(C, Message_PrintError)
Convention(C, Message_PrintTypeOdd)
Convention(C, Message_PrintTypeKnown)
Convention(C, Message_SetPrinter)
Convention(C, Message_PSPrinterQuery)
Convention(C, Message_PSPrinterAck)
Convention(C, Message_PSPrinterModified)
Convention(C, Message_PSPrinterDefaults)
Convention(C, Message_PSPrinterDefaulted)
Convention(C, Message_PSPrinterNotPS)
Convention(C, Message_ResetPrinter)
Convention(C, Message_PSIsFontPrintRunning)
 

Subprograms

Quick access : ClausesGenericsDefinitionsSubprograms


  
Is_PrinterManager function
Returnboolean
Returns true if the printermanager is running.
  
Get_PrinterName function
ReturnString
Returns the name of the currently selected printer.
  
Get_DriverInfo procedure
Returns various driver information.
Parameter name Type Mode Default
VersionIntegerout
PrinterIntegerout
X_ResIntegerout
Y_ResIntegerout
FeaturesIntegerout
NameStringout
X_HalftoneIntegerout
Y_HalftoneIntegerout
NumberIntegerout