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)
{
const bool isbackground = _bg->items() > 0 && printer().isgraphics();
const bool fink_mode = printer().get_fink_mode();
int rw = (int)(j % _formlen);
int cnt = 0; char ch;
@ -46,12 +47,12 @@ void TPrintwin::paint_background(long j)
unsigned int x1, y1, x2, y2, id;
PNT b, e;
if (!printer().isgraphics())
if (!fink_mode)
{
const char* line = printer().background_chars(rw);
set_color (COLOR_BLACK, COLOR_WHITE);
xvt_dwin_draw_text(win(), _hofs , (rw*_chary + _chary - _descent + _vofs), (char*)line, -1);
return;
// return;
}
if (!isbackground) return;
@ -59,6 +60,8 @@ void TPrintwin::paint_background(long j)
while (ch = rwd[cnt++])
{
if (!fink_mode && (ch == 'v' || ch == 'o' || ch == 'u' || ch == 'h' || ch == 'r'))
continue;
switch(ch)
{
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
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 ox = (int)origin().x;
const int mx = ox + columns();
if (!printer().isgraphics())
if (!fink_mode)
{
const char* line = printer().background_chars(rw);
set_color (COLOR_BLACK, COLOR_WHITE);
if (line != NULL && (int)strlen(line) > ox)
printat (X_OFFSET, row, "%s", &line[ox]);
return;
// return;
}
if (_bg->items() == 0)
if (!isbackground)
return;
const TString& rwd = (TString &)(*_bg)[rw];
@ -719,6 +721,8 @@ void TViswin::paint_background(
while ((ch = rwd[cnt++]) != '\0')
{
if (!fink_mode && (ch == 'v' || ch == 'o' || ch == 'u' || ch == 'h' || ch == 'r'))
continue;
switch (ch)
{
case 'v': // verticale intera