6a6d5d9d35
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
91 lines
2.5 KiB
C++
Executable File
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
|