90 lines
2.7 KiB
C++
Executable File
90 lines
2.7 KiB
C++
Executable File
#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
|
|
|
|
// @doc INTERNAL
|
|
|
|
// @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
|
|
class TPrintwin : public TWindow
|
|
// @author:(INTERNAL)Villa
|
|
|
|
// @access Private Member
|
|
{
|
|
// @cmember:(INTERNAL) Indica se la stampa e' stata interrotta
|
|
bool _aborted;
|
|
// @cmember:(INTERNAL) Descrizione completa dello stato della stampante
|
|
PRINT_RCD* _printrcd;
|
|
// @cmember:(INTERNAL) Lunghezza del modulo di stampa
|
|
int _formlen;
|
|
// @cmember:(INTERNAL) Larghezza del modulo di stampa
|
|
int _formwidth;
|
|
// @cmember:(INTERNAL) Lunghezza reale (vale per stampanti Generico/Solo testo) del modulo di stampa
|
|
int _realformlen;
|
|
|
|
// @cmember:(INTERNAL) L'intero background della pagina (vedi <c TPrintapp>)
|
|
TArray* _bg;
|
|
// @cmember:(INTERNAL) TText da stampare
|
|
TTextfile& _txt;
|
|
|
|
// @cmember:(INTERNAL) Array di immagini di stampare nel modulo sotto al testo
|
|
TArray _images;
|
|
|
|
// @cmember:(INTERNAL) Distanza in pixel tra una riga e la successiva
|
|
int _lead;
|
|
// @cmember:(INTERNAL) Numero di pixel dalla linea base al limite superiore del font
|
|
int _ascent;
|
|
// @cmember:(INTERNAL) Numero di pixel dalla linea base al limite inferiore del font
|
|
int _descent;
|
|
// @cmember:(INTERNAL) Dimensione dell'offset orizzontale
|
|
int _hofs;
|
|
// @cmember:(INTERNAL) Dimensione dell'offset verticale
|
|
int _vofs;
|
|
// @cmember:(INTERNAL) Altre caratteristihce del font (vedi XVT)
|
|
int _chary;
|
|
// @cmember:(INTERNAL) Dimensione del font di stampa
|
|
int _char_size;
|
|
// @cmember:(INTERNAL) Altre caratteristihce del font (vedi XVT)
|
|
bool _inited;
|
|
|
|
// @cmember:(INTERNAL) Permette di disegnare lo sfondo della riga <p j>-esima
|
|
void paint_background(long j);
|
|
// @cmember:(INTERNAL) Permette di disegnare la riga <p j>-esima
|
|
void paint_row(long j);
|
|
// @cmember:(INTERNAL) Permette di disegnare la parte di finestra per la pagina <p page>
|
|
bool print_band(int page, RCT&);
|
|
|
|
// @access Public Member
|
|
public:
|
|
|
|
// @cmember Ritorna se la stampa e' stata interrotta (viene ritornata anche della
|
|
// <mf TPrintwin::do_print>)
|
|
bool aborted() const
|
|
{ return _aborted; }
|
|
|
|
// @cmember Inizia la stampa (Ritorna FALSE se viene interrotta)
|
|
bool do_print();
|
|
|
|
// @cmember Costruttore
|
|
TPrintwin(TTextfile& txt);
|
|
// @cmember Distruttore
|
|
virtual ~TPrintwin();
|
|
};
|
|
|
|
|
|
#endif
|