Correzione MI3381. Relativa alla stampa delle linee in modo testo

pur mantenendo la stampante in modo grafico.


git-svn-id: svn://10.65.10.50/trunk@4438 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
angelo 1997-05-28 12:49:40 +00:00
parent 2e9e8948ec
commit 9871fb3c75
2 changed files with 12 additions and 5 deletions

View File

@ -35,6 +35,7 @@ HIDDEN int LEN_SPACES(WINDOW win, int x)
void TPrintwin::paint_background(long j) void TPrintwin::paint_background(long j)
{ {
const bool isbackground = _bg->items() > 0 && printer().isgraphics(); const bool isbackground = _bg->items() > 0 && printer().isgraphics();
const bool fink_mode = printer().get_fink_mode();
int rw = (int)(j % _formlen); int rw = (int)(j % _formlen);
int cnt = 0; char ch; int cnt = 0; char ch;
@ -46,12 +47,12 @@ void TPrintwin::paint_background(long j)
unsigned int x1, y1, x2, y2, id; unsigned int x1, y1, x2, y2, id;
PNT b, e; PNT b, e;
if (!printer().isgraphics()) if (!fink_mode)
{ {
const char* line = printer().background_chars(rw); const char* line = printer().background_chars(rw);
set_color (COLOR_BLACK, COLOR_WHITE); set_color (COLOR_BLACK, COLOR_WHITE);
xvt_dwin_draw_text(win(), _hofs , (rw*_chary + _chary - _descent + _vofs), (char*)line, -1); xvt_dwin_draw_text(win(), _hofs , (rw*_chary + _chary - _descent + _vofs), (char*)line, -1);
return; // return;
} }
if (!isbackground) return; if (!isbackground) return;
@ -59,6 +60,8 @@ void TPrintwin::paint_background(long j)
while (ch = rwd[cnt++]) while (ch = rwd[cnt++])
{ {
if (!fink_mode && (ch == 'v' || ch == 'o' || ch == 'u' || ch == 'h' || ch == 'r'))
continue;
switch(ch) switch(ch)
{ {
case 'v': // verticale intera case 'v': // verticale intera

View File

@ -687,19 +687,21 @@ void TViswin::paint_background(
long j, // @parm Numero della riga di cui stampare il background long j, // @parm Numero della riga di cui stampare il background
int row) // @parm Numero della riga a video sulla quale viene stampato il background int row) // @parm Numero della riga a video sulla quale viene stampato il background
{ {
const bool isbackground = _bg->items() > 0 && printer().isgraphics();
const bool fink_mode = printer().get_fink_mode();
const int rw = (int)(j % (long)_formlen); const int rw = (int)(j % (long)_formlen);
const int ox = (int)origin().x; const int ox = (int)origin().x;
const int mx = ox + columns(); const int mx = ox + columns();
if (!printer().isgraphics()) if (!fink_mode)
{ {
const char* line = printer().background_chars(rw); const char* line = printer().background_chars(rw);
set_color (COLOR_BLACK, COLOR_WHITE); set_color (COLOR_BLACK, COLOR_WHITE);
if (line != NULL && (int)strlen(line) > ox) if (line != NULL && (int)strlen(line) > ox)
printat (X_OFFSET, row, "%s", &line[ox]); printat (X_OFFSET, row, "%s", &line[ox]);
return; // return;
} }
if (_bg->items() == 0) if (!isbackground)
return; return;
const TString& rwd = (TString &)(*_bg)[rw]; const TString& rwd = (TString &)(*_bg)[rw];
@ -719,6 +721,8 @@ void TViswin::paint_background(
while ((ch = rwd[cnt++]) != '\0') while ((ch = rwd[cnt++]) != '\0')
{ {
if (!fink_mode && (ch == 'v' || ch == 'o' || ch == 'u' || ch == 'h' || ch == 'r'))
continue;
switch (ch) switch (ch)
{ {
case 'v': // verticale intera case 'v': // verticale intera