partite.h Cambiato nome da imptotpag a imptotdoc
viswin.cpp Corretto scrolling linee verticali git-svn-id: svn://10.65.10.50/trunk@2309 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
ca01e5440e
commit
089ac07b38
@ -31,7 +31,7 @@
|
||||
#define PART_CAMBIO "CAMBIO"
|
||||
#define PART_DATACAM "DATACAM"
|
||||
#define PART_IMPORTOVAL "IMPORTOVAL"
|
||||
#define PART_IMPTOTPAG "IMPTOTPAG"
|
||||
#define PART_IMPTOTDOC "IMPTOTDOC"
|
||||
#define PART_RITENUTE "RITENUTE"
|
||||
#define PART_ABBUONI "ABBUONI"
|
||||
#define PART_DIFFCAM "DIFFCAM"
|
||||
|
@ -685,66 +685,87 @@ void TViswin::paint_background (
|
||||
return;
|
||||
|
||||
const int rw = (int) (j % (long) _formlen);
|
||||
TString & rwd = (TString &)(*_bg)[rw];
|
||||
int cnt = 0;
|
||||
char ch;
|
||||
const TString& rwd = (TString &)(*_bg)[rw];
|
||||
|
||||
const int ox = (int)origin().x;
|
||||
const int mx = ox + columns();
|
||||
|
||||
char curcol = 'n';
|
||||
char curpen = 'n';
|
||||
char curpat = 'n';
|
||||
char curwid = '1';
|
||||
|
||||
unsigned int x1, x2, y1, y2, id;
|
||||
int x1, x2, y1, y2, id;
|
||||
PNT b, e;
|
||||
while (ch = rwd[cnt++])
|
||||
int cnt = 0;
|
||||
char ch;
|
||||
while ((ch = rwd[cnt++]) != '\0')
|
||||
{
|
||||
switch (ch)
|
||||
{
|
||||
case 'v': // verticale intera
|
||||
|
||||
x1 = (byte)rwd[cnt++] + (X_OFFSET -1);
|
||||
b.h = e.h = tabx(x1) + tabx(1) / 2;
|
||||
b.v = taby(row);
|
||||
e.v = taby(row + 1);
|
||||
xvt_dwin_draw_set_pos (win (), b);
|
||||
xvt_dwin_draw_line (win (), e);
|
||||
x1 = (byte)rwd[cnt++];
|
||||
if (x1 >= ox && x1 <= mx)
|
||||
{
|
||||
x1 += (X_OFFSET -1) - ox;
|
||||
b.h = e.h = tabx(2*x1+1) / 2;
|
||||
b.v = taby(row);
|
||||
e.v = taby(row + 1);
|
||||
xvt_dwin_draw_set_pos (win (), b);
|
||||
xvt_dwin_draw_line (win (), e);
|
||||
}
|
||||
break;
|
||||
case 'o': // verticale pezzo sopra
|
||||
|
||||
x1 = (byte)rwd[cnt++] + (X_OFFSET -1);
|
||||
b.h = e.h = tabx(x1) + tabx(1) / 2;
|
||||
b.v = taby(row);
|
||||
e.v = taby(row + 1) - taby(1) / 2;
|
||||
xvt_dwin_draw_set_pos (win (), b);
|
||||
xvt_dwin_draw_line (win (), e);
|
||||
x1 = (byte)rwd[cnt++];
|
||||
if (x1 >= ox && x1 <= mx)
|
||||
{
|
||||
x1 += (X_OFFSET -1) - ox;
|
||||
b.h = e.h = tabx(2*x1+1) / 2;
|
||||
b.v = taby(row);
|
||||
e.v = taby(2*row+1) / 2;
|
||||
xvt_dwin_draw_set_pos (win (), b);
|
||||
xvt_dwin_draw_line (win (), e);
|
||||
}
|
||||
break;
|
||||
case 'u': // verticale pezzo sotto
|
||||
|
||||
x1 = (byte) rwd[cnt++] + (X_OFFSET -1);
|
||||
b.h = e.h = tabx(x1) + tabx(1) / 2;
|
||||
b.v = taby(row) + taby(1) / 2;
|
||||
e.v = taby(row + 1);
|
||||
xvt_dwin_draw_set_pos (win (), b);
|
||||
xvt_dwin_draw_line (win (), e);
|
||||
x1 = (byte)rwd[cnt++];
|
||||
if (x1 >= ox && x1 <= mx)
|
||||
{
|
||||
x1 += (X_OFFSET -1) - ox;
|
||||
b.h = e.h = tabx(2*x1+1) / 2;
|
||||
b.v = taby(2*row+1) / 2;
|
||||
e.v = taby(row + 1);
|
||||
xvt_dwin_draw_set_pos (win (), b);
|
||||
xvt_dwin_draw_line (win (), e);
|
||||
}
|
||||
break;
|
||||
case 'h': // orizzontale intera
|
||||
|
||||
x1 = (byte) rwd[cnt++] + (X_OFFSET -1) - int(origin().x);
|
||||
x2 = (byte) rwd[cnt++] + (X_OFFSET -1) - int(origin().x);
|
||||
b.v = e.v = taby(row) + taby(1) / 2;
|
||||
x1 = (byte) rwd[cnt++] + (X_OFFSET -1) - ox;
|
||||
x2 = (byte) rwd[cnt++] + (X_OFFSET -1) - ox;
|
||||
b.v = e.v = taby(2*row+1) / 2;
|
||||
b.h = tabx(x1);
|
||||
e.h = tabx(x2 + 1);
|
||||
xvt_dwin_draw_set_pos (win (), b);
|
||||
xvt_dwin_draw_line (win (), e);
|
||||
break;
|
||||
case 'r': // orizzontale scorciata agli estremi
|
||||
x1 = (byte) rwd[cnt++] + (X_OFFSET -1);
|
||||
x2 = (byte) rwd[cnt++] + (X_OFFSET -1);
|
||||
b.v = e.v = taby(row) + taby(1) / 2;
|
||||
b.h = tabx(x1) + tabx(1) / 2;
|
||||
e.h = tabx(x2) + tabx(1) / 2;
|
||||
xvt_dwin_draw_set_pos (win (), b);
|
||||
xvt_dwin_draw_line (win (), e);
|
||||
x1 = (byte) rwd[cnt++];
|
||||
x2 = (byte) rwd[cnt++];
|
||||
if (x1 <= mx && x2 >= ox)
|
||||
{
|
||||
x1 += (X_OFFSET -1) - ox;
|
||||
if (x1 < X_OFFSET) x1 = X_OFFSET;
|
||||
x2 += (X_OFFSET -1) - ox;
|
||||
b.v = e.v = taby(2*row+1) / 2;
|
||||
b.h = tabx(2*x1+1) / 2;
|
||||
e.h = tabx(2*x2+1) / 2;
|
||||
xvt_dwin_draw_set_pos (win (), b);
|
||||
xvt_dwin_draw_line (win (), e);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'i':
|
||||
@ -817,14 +838,13 @@ void TViswin::paint_background (
|
||||
|
||||
void TViswin::paint_row (long j)
|
||||
{
|
||||
// int or = (int)origin().x;
|
||||
long y = origin ().y;
|
||||
TPoint p1, p2;
|
||||
if (need_paint_sel (FALSE))
|
||||
adjust_selection (p1, p2);
|
||||
int row = (int) (j + (long)Y_OFFSET - y);
|
||||
char fill[] = " "
|
||||
" ";
|
||||
|
||||
const long y = origin ().y;
|
||||
const int row = (int) (j + (long)Y_OFFSET - y);
|
||||
|
||||
autoscroll(FALSE);
|
||||
set_font(PRINT_FONT, XVT_FS_NONE, PRINT_HEIGHT);
|
||||
set_mode(M_COPY);
|
||||
@ -852,7 +872,7 @@ void TViswin::paint_row (long j)
|
||||
|
||||
const char *cp;
|
||||
int pos = 0;
|
||||
_txt.read_line (j, origin ().x);
|
||||
_txt.read_line (j, origin().x);
|
||||
while ((cp = _txt.piece ()) != NULL)
|
||||
{
|
||||
#if XVT_OS != XVT_OS_SCOUNIX
|
||||
@ -864,14 +884,15 @@ void TViswin::paint_row (long j)
|
||||
#else
|
||||
set_color (COLOR_BLACK, COLOR_WHITE);
|
||||
#endif
|
||||
printat (X_OFFSET + pos, row, "%s", cp);
|
||||
printat (X_OFFSET+pos, row, "%s", cp);
|
||||
|
||||
pos += strlen (cp);
|
||||
}
|
||||
if (_scrolling && (pos < _textcolumns))
|
||||
{
|
||||
set_color (COLOR_BLACK, COLOR_WHITE);
|
||||
printat (X_OFFSET + pos, row, "%s", fill);
|
||||
TString80 fill; fill.spaces(80);
|
||||
printat (X_OFFSET+pos, row, fill);
|
||||
}
|
||||
|
||||
#if XVT_OS == XVT_OS_WIN // paint page limits
|
||||
|
Loading…
x
Reference in New Issue
Block a user