Intro
Contents
I processi di stampa in Colibri sono gestiti attraverso un insieme di classi:
PRINTER_DRIVER: classe base per la strutturazione dei driver delle stampanti.
La classe mette a disposizione un insieme di metodi e funzioni per la configurazione dell’hardware. Da questa derivano tutti i driver delle stampanti; ad esempio la PRINTER_DRIVER_XF640 che permette di comunicare con la stampante Roland XF640.
PRINTER: questa classe è l’interfaccia standard fra l’applicazione e le stampanti; In pratica un processo di stampa avviene sempre accedendo ad una istanza di PRINTER, lanciando un thread attraverso il metodo PRINTER::StartThread(…), dopo avere configurato la stessa.
Configurare un oggetto PRINTER significa assegnargli un’oggetto derivato da PRINTER_DRIVER ( ad esempio un’istanza di PRINTER_DRIVER_XF640) ed una configurazione (un oggetto PRINTER_CONFIGURATION).
PRINTER_CONFIGURATION: contiene i parametri di configurazione dell’hardware, oltre all’id di un driver.
Tutto il processo di creazione ed inizializzazione, pur complesso, è svolto da un una funzione statica, PRINTER::UseConfig(config_name), che riceve in ingresso un nome di configurazione, estrae dal database la stessa, ricava l’idi del driver, lo genera e assegna a PRINTER, rimanda un oggetto PRINTER pronto per essere utilizzato.
Per effettuare la stampa occorrerà in seguito chiamare la funzione PRINTER::StartThread(..) che attiva un thread di stampa.
In questo post descriveremo come il thread di stampa lanciato comunica con il documento da stampare, richiedendo le linee di pixel (separazioni).