diff --git a/cg/cg3400.cpp b/cg/cg3400.cpp index 03725e62d..6f73dded1 100755 --- a/cg/cg3400.cpp +++ b/cg/cg3400.cpp @@ -866,28 +866,37 @@ void CG3400_application::fill_page(int riga) { TString256 rigas; // char frm[4]; - word r_l = 0; + int r_l = printer().rows_left() - RIGHE_FOOTER; - r_l = printer().rows_left() - RIGHE_FOOTER; // Se sono rimaste righe da riempire if (r_l) { rigas.fill('=', _stampa_width); rigas.cut(_stampa_width+1); // sprintf(frm, "%%%3ds", _stampa_width); - set_row(riga, "%s", (const char*) rigas); - rigas = ""; - if (--r_l) + set_row(riga++, "%s", (const char*) rigas); + // rigas = ""; + // if (--r_l) + // { + // int j=0; + // Calcola una specie di coefficiente angolare + // int alfa = _stampa_width / r_l; + // for (int i = riga+1; i < r_l; i++, j++) + // { + // if (j*alfa >= _stampa_width-alfa) break; // non uscire dai margini + // rigas.format("@%dg======", j*alfa); + // set_row(i, "%s", (const char*)rigas); + // } + // } + int j=0; + // Calcola una specie di coefficiente angolare + int alfa = _stampa_width / r_l; + + while (--r_l && j + alfa < _stampa_width) { - int j=0; - // Calcola una specie di coefficiente angolare - int alfa = _stampa_width / r_l; - for (word i = riga+1; i < r_l; i++, j++) - { - if (j*alfa >= _stampa_width-alfa) break; // non uscire dai margini - rigas.format("@%dg======", j*alfa); - set_row(i, "%s", (const char*)rigas); - } + rigas.format("@%dg======", j); + set_row(riga++, "%s", (const char*)rigas); + j += alfa; } } }