home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Archive Magazine 1997
/
ARCHIVE_97.iso
/
discs
/
mag_discs
/
volume_08
/
issue_06
/
risc_os
/
PrintMess
< prev
next >
Wrap
Text File
|
1988-11-02
|
3KB
|
71 lines
Message protocol between the printer applications and other applications
(referred to as the client from now on).
INTRO
The printer application manages printer selection and printing files in the
background (scheduled on nul events). The following message reasons are
described below.
Message_PrintFile &80140
Message_WillPrint &80141
Message_PrintSave &80142
Message_PrintBusy &80144
Message_PrintTypeOdd &80145
Message_PrintTypeKnown &80146
DRAGGING FILE ICON FROM SAVE BOX OF CLIENT TO PRINTER ICON
A client can cause the same effect without user intervention by issuing
Message_PrintSave. Which is treated by the printer application in the same way
as DataSave. Except that if the printer is busy the reply Message_PrintBusy is
sent rather than putting up an error box.
The printer application receives a DataSave message. In case the client can
improve on the default print action the printer application issues the
message Message_PrintFile recorded delivery. The parameter block has
12 reference number of original DataSave message
40 file type of data
44 zero terminated scrap filename
The client has 3 options
1) It can ignore the broadcast
In this case when the printer application sees the broadcast bounced it
resumes the original protocol with a DataSaveAck. This would be use if the
client uses the same format when saving to a printer as when saving to a
filing system.
2) It can acknowledge the broadcast with Message_WillPrint
In this case the printer application takes no further action. This would be
used if the client wants to handle printing itself.
3) It can save its data to the scrap file and acknowledge the broadcast with
Message_DataLoad. The file type should reflect the new data format if it has
been converted (eg text or PostScript). In this case the printer application
will issue a DataLoadAck and print the scrap file in the background as if
resulting from dragging file icon from filer window (see below).
DRAGGING FILE ICON FROM FILER WINDOW TO PRINTER ICON
The printer application receives a DataLoad Message and checks if some sort
of text file. File types FFF, FFE, FEB are considered text as are some
printer specific ones (eg FF5 PostScript). If it is not text it issues the
broadcast message Message_PrintTypeOdd recorded delivery. The parameter block
has
12 0
40 file type
44 zero terminated filename
If there is client that knows how to print this file type it should
acknowledge with the message Message_PrintTypeKnown. The client can either
print the file itself or put its output to <Printer$Temp> for the printer
application to print in the background. If it uses <Printer$Temp> it should
return the file type of the modified data in offset 40 of the message block.
If the broadcast is bounced the printer application will look at
Alias$@PrintType_xxx and if this is unset ask for confirmation from the user.