oPrinter.write_at(nTop , nLeft,'Hello')
oPrinter.draw_box(nTop , nLeft,nDown,nRight,nTick)
oPrinter.paint_box(nTop , nLeft,nDown,nRight, nr,ng,nb )
oPrinter.draw_picture(nTop , nLeft,nDown,nRight, cBmpFile)
etc
.
etc.define class virtual_printer as custom output_type='PostScript' procedure open_device . procedure close_device . procedure write_at lparameters nTop , nLeft,cOutpuText do case case this.output_type = 'PCL4' this.pcl4_write_at(lparameters nTop , nLeft,cOutpuText) case this.output_type = 'PostScript' this.postsript_write_at(lparameters nTop , nLeft,cOutpuText) . . endcase enddefineIt could be sort of 'open source', so who ever hv valid code for controling