campo-sirio/include/printwin.h
villa c56bf2bce0 Aggiunti commenti per docs
git-svn-id: svn://10.65.10.50/trunk@1954 c028cbd2-c16b-5b4b-a496-9718f37d4682
1995-10-13 09:23:08 +00:00

61 lines
1.6 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
// Implementazione di una finestra XVT per la stampa: scrivendoci su tutto l'output
// va sulla stampante corrente. Usata direttamente da TPrinter.
class TPrintwin : public TWindow
{
bool _aborted; // stampa abortita
PRINT_RCD* _printrcd; // record di stampa XVT
int _formlen; // indovina
int _formwidth; // indovina
TArray* _bg; // l'intero background della pagina (vedi TPrintapp)
TTextfile& _txt; // il TText da stampare
TArray _images; // bitmaps da stampare sotto al testo
// un'orrenda quantita' di dettagli relativi ai font e alle loro dimensioni
int _lead, _ascent, _descent;
int _hofs, _vofs;
int _chary;
int _char_size;
// tutto ok per stampare
bool _inited;
// pitta lo sfondo della riga j
void paint_background(long j);
// pitta la riga j
void paint_row(long j);
// pitta la fetta di finestra che XVT gli lascia pittare per la pagina data
// (dipende dal driver, ma di solito pitta l'intera pagina)
bool print_band(int page, RCT&);
public:
// check if aborted; also returned by do_print
bool aborted() const { return _aborted; }
// starts printing; FALSE if aborted; when possible starts concurrent thread
// (not possible in WIN 3.1)
bool do_print();
TPrintwin(TTextfile& txt);
virtual ~TPrintwin();
};
#endif