1994-09-13 16:43:52 +00:00
|
|
|
#ifndef __PRINTWIN_H
|
|
|
|
#define __PRINTWIN_H
|
|
|
|
|
|
|
|
#ifndef __WINDOW_H
|
|
|
|
#include <window.h>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef __ARRAY_H
|
|
|
|
#include <array.h>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef __TEXT_H
|
|
|
|
#include <text.h>
|
|
|
|
#endif
|
|
|
|
|
1996-02-05 19:00:53 +00:00
|
|
|
// @doc INTERNAL
|
1995-10-20 18:27:01 +00:00
|
|
|
|
|
|
|
// @class TPrintwin | Classe per la implementazione di una finestra XVT per la stampa:
|
|
|
|
// scrivendoci su tutto l'output va sulla stampante corrente.
|
|
|
|
// Usata direttamente da <c TPrinter>.
|
|
|
|
//
|
|
|
|
// @base public | TWindow
|
1994-09-13 16:43:52 +00:00
|
|
|
class TPrintwin : public TWindow
|
1996-09-05 09:54:52 +00:00
|
|
|
// @author:(INTERNAL)Villa
|
1995-10-20 18:27:01 +00:00
|
|
|
|
|
|
|
// @access Private Member
|
1994-09-13 16:43:52 +00:00
|
|
|
{
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember:(INTERNAL) Indica se la stampa e' stata interrotta
|
1995-10-20 18:27:01 +00:00
|
|
|
bool _aborted;
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember:(INTERNAL) Descrizione completa dello stato della stampante
|
1995-10-20 18:27:01 +00:00
|
|
|
PRINT_RCD* _printrcd;
|
1996-10-08 11:09:29 +00:00
|
|
|
// @cmember:(INTERNAL) Lunghezza del modulo di stampa restituito dal driver
|
1995-10-20 18:27:01 +00:00
|
|
|
int _formlen;
|
1996-10-08 11:09:29 +00:00
|
|
|
// @cmember:(INTERNAL) Lunghezza del modulo di stampa settato sulla stampante
|
|
|
|
int _pagelen;
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember:(INTERNAL) Larghezza del modulo di stampa
|
1995-10-20 18:27:01 +00:00
|
|
|
int _formwidth;
|
1995-10-27 08:28:13 +00:00
|
|
|
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember:(INTERNAL) L'intero background della pagina (vedi <c TPrintapp>)
|
1995-10-20 18:27:01 +00:00
|
|
|
TArray* _bg;
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember:(INTERNAL) TText da stampare
|
1995-10-20 18:27:01 +00:00
|
|
|
TTextfile& _txt;
|
|
|
|
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember:(INTERNAL) Array di immagini di stampare nel modulo sotto al testo
|
1995-10-20 18:27:01 +00:00
|
|
|
TArray _images;
|
1995-03-22 09:07:04 +00:00
|
|
|
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember:(INTERNAL) Distanza in pixel tra una riga e la successiva
|
1995-10-20 18:27:01 +00:00
|
|
|
int _lead;
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember:(INTERNAL) Numero di pixel dalla linea base al limite superiore del font
|
1995-10-20 18:27:01 +00:00
|
|
|
int _ascent;
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember:(INTERNAL) Numero di pixel dalla linea base al limite inferiore del font
|
1995-10-20 18:27:01 +00:00
|
|
|
int _descent;
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember:(INTERNAL) Dimensione dell'offset orizzontale
|
1995-10-20 18:27:01 +00:00
|
|
|
int _hofs;
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember:(INTERNAL) Dimensione dell'offset verticale
|
1995-10-20 18:27:01 +00:00
|
|
|
int _vofs;
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember:(INTERNAL) Altre caratteristihce del font (vedi XVT)
|
1995-10-20 18:27:01 +00:00
|
|
|
int _chary;
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember:(INTERNAL) Dimensione del font di stampa
|
1995-10-20 18:27:01 +00:00
|
|
|
int _char_size;
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember:(INTERNAL) Altre caratteristihce del font (vedi XVT)
|
1995-10-20 18:27:01 +00:00
|
|
|
bool _inited;
|
1996-10-08 11:09:29 +00:00
|
|
|
// @cmember:(INTERNAL) linee voute da stampare (per offset)
|
|
|
|
bool _blank_lines_to_print;
|
1994-09-13 16:43:52 +00:00
|
|
|
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember:(INTERNAL) Permette di disegnare lo sfondo della riga <p j>-esima
|
1995-10-20 18:27:01 +00:00
|
|
|
void paint_background(long j);
|
1996-02-05 19:00:53 +00:00
|
|
|
// @cmember:(INTERNAL) Permette di disegnare la riga <p j>-esima
|
1995-10-13 09:23:08 +00:00
|
|
|
void paint_row(long j);
|
1999-05-24 13:34:11 +00:00
|
|
|
// @cmember:(INTERNAL) Permette di disegnare un'immagine alla riga y
|
|
|
|
void paint_image(int y, const char* cp);
|
1994-09-13 16:43:52 +00:00
|
|
|
|
1995-10-20 18:27:01 +00:00
|
|
|
// @access Public Member
|
1994-09-13 16:43:52 +00:00
|
|
|
public:
|
2002-02-28 11:35:23 +00:00
|
|
|
// @cmember:(INTERNAL) Permette di disegnare la parte di finestra per la pagina <p page>
|
|
|
|
bool print_band(int page, const RCT& rct);
|
1994-09-13 16:43:52 +00:00
|
|
|
|
1995-10-20 18:27:01 +00:00
|
|
|
// @cmember Ritorna se la stampa e' stata interrotta (viene ritornata anche della
|
|
|
|
// <mf TPrintwin::do_print>)
|
|
|
|
bool aborted() const
|
|
|
|
{ return _aborted; }
|
1994-09-13 16:43:52 +00:00
|
|
|
|
1995-10-20 18:27:01 +00:00
|
|
|
// @cmember Inizia la stampa (Ritorna FALSE se viene interrotta)
|
2003-05-15 08:09:47 +00:00
|
|
|
bool do_print(word page_from, word page_to, word copies);
|
1995-10-20 18:27:01 +00:00
|
|
|
|
|
|
|
// @cmember Costruttore
|
1995-03-22 09:07:04 +00:00
|
|
|
TPrintwin(TTextfile& txt);
|
1995-10-20 18:27:01 +00:00
|
|
|
// @cmember Distruttore
|
1994-09-13 16:43:52 +00:00
|
|
|
virtual ~TPrintwin();
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|