campo-sirio/include/printwin.h

91 lines
2.5 KiB
C
Raw Normal View History

#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 EXTERNAL
// @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)Viila
// @access Private Member
{
// @cmember Indica se la stampa e' stata interrotta
bool _aborted;
// @cmember Descrizione completa dello stato della stampante
PRINT_RCD* _printrcd;
// @cmember Lunghezza del modulo di stampa
int _formlen;
// @cmember Larghezza del modulo di stampa
int _formwidth;
// @cmember Lunghezza reale (vale per stampanti Generico/Solo testo) del modulo di stampa
int _realformlen;
// @cmember L'intero background della pagina (vedi <c TPrintapp>)
TArray* _bg;
// @cmember TText da stampare
TTextfile& _txt;
// @cmember Array di immagini di stampare nel modulo sotto al testo
TArray _images;
// @cmember Distanza in pixel tra una riga e la successiva
int _lead;
// @cmember Numero di pixel dalla linea base al limite superiore del font
int _ascent;
// @cmember Numero di pixel dalla linea base al limite inferiore del font
int _descent;
// @cmember Dimensione dell'offset orizzontale
int _hofs;
// @cmember Dimensione dell'offset verticale
int _vofs;
// @cmember Altre caratteristihce del font (vedi XVT)
int _chary;
// @cmember Dimensione del font di stampa
int _char_size;
// @cmember Altre caratteristihce del font (vedi XVT)
bool _inited;
// @cmember Permette di disegnare lo sfondo della riga <p j>-esima
void paint_background(long j);
// @cmember Permette di disegnare la riga <p j>-esima
void paint_row(long j);
// @cmember 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