Files correlati : Ricompilazione Demo : [ ] Commento : Roba buona per i nuovi report git-svn-id: svn://10.65.10.50/trunk@12000 c028cbd2-c16b-5b4b-a496-9718f37d4682
94 lines
2.9 KiB
C++
Executable File
94 lines
2.9 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 restituito dal driver
|
|
int _formlen;
|
|
// @cmember:(INTERNAL) Lunghezza del modulo di stampa settato sulla stampante
|
|
int _pagelen;
|
|
// @cmember:(INTERNAL) Larghezza del modulo di stampa
|
|
int _formwidth;
|
|
|
|
// @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) linee voute da stampare (per offset)
|
|
bool _blank_lines_to_print;
|
|
|
|
// @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 un'immagine alla riga y
|
|
void paint_image(int y, const char* cp);
|
|
|
|
// @access Public Member
|
|
public:
|
|
// @cmember:(INTERNAL) Permette di disegnare la parte di finestra per la pagina <p page>
|
|
bool print_band(int page, const RCT& rct);
|
|
|
|
// @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(word page_from, word page_to, word copies);
|
|
|
|
// @cmember Costruttore
|
|
TPrintwin(TTextfile& txt);
|
|
// @cmember Distruttore
|
|
virtual ~TPrintwin();
|
|
};
|
|
|
|
|
|
#endif
|