campo-sirio/include/printwin.h
angelo 6a6d5d9d35 Rif. mod. 95 /45: Modifiche per stampare su Generico/Solo testo,
gestione posizionamenti e altre modifiche minori.
  printer.h : aggiunto metodo TPrinter.is_generic(), ritorna TRUE se
			  la stampante e' generico/solo testo
  printwin.h,
  printwin.cpp: aggiunto membro TPrintwin._realformlen, modificato il
				costruttore e metodo TPrintwin::paint_row(), per
				correggere il buco di TTY.DRV (mangia una riga...)
  form.h,
  form.cpp : aggiunto metodo TForm::arrange_form() per gestire i
			 posizionamenti; aggiunti i membri _ipy, _ipx, _fpx e _char_to_pos
             aggiunto metodo TForm_string::edit() per disabilitare la gestione
			 del testo fisso. Modificata la TForm_number::update() aggiungendo
			 la possibilita' di specificare la lunghezza della picture in
			 lettere. Rimosso il controllo sulla lunghezza del foglio fisico.
			 Aggiunta la gestione dei nuovi membri su file e su maschera.


git-svn-id: svn://10.65.10.50/trunk@2028 c028cbd2-c16b-5b4b-a496-9718f37d4682
1995-10-27 08:28:13 +00:00

91 lines
2.5 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 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