Rif. mod. 96/3. Variazioni per effettuare correttamente l'offset
sulle stampe; correzioni sulla parse_background() per scrivere correttamente le linee verticali in grafica. git-svn-id: svn://10.65.10.50/trunk@2385 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
f07efd3c84
commit
0b75887d1c
@ -50,7 +50,7 @@ void TPrintwin::paint_background(long j)
|
||||
{
|
||||
const char* line = printer().background_chars(rw);
|
||||
set_color (COLOR_BLACK, COLOR_WHITE);
|
||||
printat (_hofs, (int)j, "%s", line);
|
||||
xvt_dwin_draw_text(win(), _hofs , (rw*_chary + _chary - _descent + _vofs), (char*)line, -1);
|
||||
return;
|
||||
}
|
||||
if (!isbackground) return;
|
||||
@ -64,21 +64,21 @@ void TPrintwin::paint_background(long j)
|
||||
case 'v': // verticale intera
|
||||
x1 = (byte)rwd[cnt++]-1;
|
||||
b.h = e.h = LEN_SPACES(win(), x1)+LEN_SPACES(win(), 1)/2+_hofs;
|
||||
b.v = rw * _chary + _vofs; e.v = rw * _chary + _vofs;
|
||||
b.v = rw * _chary + _vofs; e.v = (rw+1) * _chary + _vofs;
|
||||
xvt_dwin_draw_set_pos(win(),b);
|
||||
xvt_dwin_draw_line(win(),e);
|
||||
break;
|
||||
case 'o': // verticale pezzo sopra
|
||||
x1 = (byte)rwd[cnt++]-1;
|
||||
b.h = e.h = LEN_SPACES(win(), x1)+LEN_SPACES(win(), 1)/2 + _hofs;
|
||||
b.v = rw * _chary + _vofs; e.v = rw * _chary - _chary/2 + _vofs;
|
||||
b.v = rw * _chary + _vofs; e.v = rw * _chary + _chary/2 + _vofs;
|
||||
xvt_dwin_draw_set_pos(win(),b);
|
||||
xvt_dwin_draw_line(win(),e);
|
||||
break;
|
||||
case 'u': // verticale pezzo sotto
|
||||
x1 = (byte)rwd[cnt++]-1;
|
||||
b.h = e.h = LEN_SPACES(win(), x1)+LEN_SPACES(win(), 1)/2 + _hofs;
|
||||
b.v = rw*_chary + _chary/2 + _vofs; e.v = rw * _chary + _vofs;
|
||||
b.v = rw*_chary + _chary/2 + _vofs; e.v = (rw+1) * _chary + _vofs;
|
||||
xvt_dwin_draw_set_pos(win(),b);
|
||||
xvt_dwin_draw_line(win(),e);
|
||||
break;
|
||||
@ -304,12 +304,15 @@ TPrintwin::TPrintwin(TTextfile& txt)
|
||||
|
||||
#if XVT_OS != XVT_OS_SCOUNIX
|
||||
p.set_win_formlen(prwin); // Calcola offset e altre misure pagina
|
||||
|
||||
|
||||
int abs_column=p.get_column_offset();
|
||||
int segno = abs_column>=0 ? 1 : -1;
|
||||
abs_column*=segno;
|
||||
xvt_dwin_get_font_metrics(prwin, &_lead, &_ascent, &_descent);
|
||||
_bg = &p.getbgdesc();
|
||||
_chary = p.get_dots_per_line();
|
||||
_hofs = p.get_horz_offset();
|
||||
_vofs = p.get_vert_offset();
|
||||
_hofs = p.get_horz_offset() + segno*LEN_SPACES(prwin,abs_column);
|
||||
_vofs = p.get_vert_offset() + p.get_line_offset()*_chary;
|
||||
#endif
|
||||
|
||||
_formlen = p.formlen();
|
||||
|
Loading…
x
Reference in New Issue
Block a user