campo-sirio/ba/ba8303.h
guy 6011c75885 Patch level : 2.1 nopatch
Files correlati     : ba8.exe
Ricompilazione Demo : [ ]
Commento            :

Salvataggio dello stato dell'arte im materia di report


git-svn-id: svn://10.65.10.50/trunk@11932 c028cbd2-c16b-5b4b-a496-9718f37d4682
2004-04-01 15:42:45 +00:00

68 lines
1.6 KiB
C++
Executable File

#ifndef __REPRINT_H
#define __REPRINT_H
#ifndef __REPORT_H
#include "ba8302.h"
#endif
class TPage_printer : public TWindow
{
protected:
PRINT_RCD* _rcd;
long _pw, _ph, _phr, _pvr; // Printer width, height, horizontal and vertical resolution
word _copies, _pagefrom, _pageto, _page;
bool _page_is_open;
virtual word pages() const { return 0; }
virtual bool print_loop() pure;
protected:
virtual const char* form_name() const;
virtual const char* font_name() const;
virtual int font_size() const;
virtual bool ask_pages();
virtual bool open_page();
virtual bool close_page();
bool page_in_range() const;
public:
bool main_loop(); // Internal use only
virtual bool print(); // Use this
TPage_printer();
virtual ~TPage_printer();
};
class TReport_printer : public TPage_printer
{
TReport& _report;
TPoint _delta;
double _kx, _ky;
long _logical_page_height;
long _logical_foot_pos;
bool _is_last_page, _page_break_allowed;
protected:
virtual const char* form_name() const;
virtual const char* font_name() const;
virtual int font_size() const;
virtual PNT log2dev(long x, long y) const;
virtual TPoint dev2log(const PNT& p) const;
virtual bool print_loop();
virtual bool open_page();
virtual bool close_page();
long print_section(TReport_section& rs);
long print_section(char type, int level);
public:
TReport_printer(TReport& r) : _report(r) { }
};
void advanced_draw_rect(TWindow& win, const RCT& r, int border, COLOR fore, COLOR back);
void advanced_draw_text(TWindow& win, const char* text, const RCT& r,
char halign, char valign);
#endif