mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-27 07:23:09 +02:00
libtuxtxt: minor clean-up, no code change
Signed-off-by: Thilo Graf <dbt@novatux.de> # Conflicts: # lib/libtuxtxt/tuxtxt.cpp
This commit is contained in:
@@ -271,6 +271,7 @@ void ClearFB(int /*color*/)
|
|||||||
//memset(lfb,0, var_screeninfo.yres*fix_screeninfo.line_length);
|
//memset(lfb,0, var_screeninfo.yres*fix_screeninfo.line_length);
|
||||||
CFrameBuffer::getInstance()->paintBackground();
|
CFrameBuffer::getInstance()->paintBackground();
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
//never used
|
//never used
|
||||||
void ClearB(fb_pixel_t color)
|
void ClearB(fb_pixel_t color)
|
||||||
@@ -279,6 +280,7 @@ void ClearB(fb_pixel_t color)
|
|||||||
FillRect(0, var_screeninfo.yres, var_screeninfo.xres, var_screeninfo.yres, color); /* backbuffer */
|
FillRect(0, var_screeninfo.yres, var_screeninfo.xres, var_screeninfo.yres, color); /* backbuffer */
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int GetCurFontWidth()
|
int GetCurFontWidth()
|
||||||
{
|
{
|
||||||
int mx = (displaywidth)%(40-nofirst); // # of unused pixels
|
int mx = (displaywidth)%(40-nofirst); // # of unused pixels
|
||||||
@@ -1066,34 +1068,34 @@ int eval_triplet(int iOData, tstCachedPage *pstCachedPage,
|
|||||||
|
|
||||||
int setnational(unsigned char sec)
|
int setnational(unsigned char sec)
|
||||||
{
|
{
|
||||||
switch (sec)
|
switch (sec)
|
||||||
{
|
{
|
||||||
case 0x08:
|
case 0x08:
|
||||||
return NAT_PL; //polish
|
return NAT_PL; //polish
|
||||||
case 0x16:
|
case 0x16:
|
||||||
case 0x36:
|
case 0x36:
|
||||||
return NAT_TR; //turkish
|
return NAT_TR; //turkish
|
||||||
case 0x1d:
|
case 0x1d:
|
||||||
return NAT_SR; //serbian, croatian, slovenian
|
return NAT_SR; //serbian, croatian, slovenian
|
||||||
case 0x20:
|
case 0x20:
|
||||||
return NAT_SC; // serbian, croatian
|
return NAT_SC; // serbian, croatian
|
||||||
case 0x24:
|
case 0x24:
|
||||||
return NAT_RB; // russian, bulgarian
|
return NAT_RB; // russian, bulgarian
|
||||||
case 0x25:
|
case 0x25:
|
||||||
return NAT_UA; // ukrainian
|
return NAT_UA; // ukrainian
|
||||||
case 0x22:
|
case 0x22:
|
||||||
return NAT_ET; // estonian
|
return NAT_ET; // estonian
|
||||||
case 0x23:
|
case 0x23:
|
||||||
return NAT_LV; // latvian, lithuanian
|
return NAT_LV; // latvian, lithuanian
|
||||||
case 0x37:
|
case 0x37:
|
||||||
return NAT_GR; // greek
|
return NAT_GR; // greek
|
||||||
case 0x55:
|
case 0x55:
|
||||||
return NAT_HB; // hebrew
|
return NAT_HB; // hebrew
|
||||||
case 0x47:
|
case 0x47:
|
||||||
case 0x57:
|
case 0x57:
|
||||||
return NAT_AR; // arabic
|
return NAT_AR; // arabic
|
||||||
}
|
}
|
||||||
return countryconversiontable[sec & 0x07];
|
return countryconversiontable[sec & 0x07];
|
||||||
}
|
}
|
||||||
|
|
||||||
/* evaluate level 2.5 information */
|
/* evaluate level 2.5 information */
|
||||||
@@ -1189,7 +1191,7 @@ void eval_l25()
|
|||||||
for (packet = 1; packet <= 4; packet++)
|
for (packet = 1; packet <= 4; packet++)
|
||||||
{
|
{
|
||||||
unsigned char *ptriplet = pagedata + 40*(packet-1);
|
unsigned char *ptriplet = pagedata + 40*(packet-1);
|
||||||
int idata = dehamming[*ptriplet];
|
int idata = dehamming[*ptriplet];
|
||||||
int triplet;
|
int triplet;
|
||||||
|
|
||||||
if (idata == 0xff || 0 == (idata & 1)) /* hamming error or no pointer data: ignore packet */
|
if (idata == 0xff || 0 == (idata & 1)) /* hamming error or no pointer data: ignore packet */
|
||||||
@@ -1670,6 +1672,7 @@ int tuxtx_main(int pid, int page, int source)
|
|||||||
stride = fbp->getStride() / sizeof(fb_pixel_t);
|
stride = fbp->getStride() / sizeof(fb_pixel_t);
|
||||||
memcpy(&var_screeninfo, var, sizeof(struct fb_var_screeninfo));
|
memcpy(&var_screeninfo, var, sizeof(struct fb_var_screeninfo));
|
||||||
fix_screeninfo.line_length = var_screeninfo.xres * sizeof(fb_pixel_t);
|
fix_screeninfo.line_length = var_screeninfo.xres * sizeof(fb_pixel_t);
|
||||||
|
|
||||||
/* set variable screeninfo for double buffering */
|
/* set variable screeninfo for double buffering */
|
||||||
var_screeninfo.yoffset = 0;
|
var_screeninfo.yoffset = 0;
|
||||||
#if 0
|
#if 0
|
||||||
@@ -1707,7 +1710,7 @@ int tuxtx_main(int pid, int page, int source)
|
|||||||
pthread_create(&ttx_sub_thread, 0, reader_thread, (void *) NULL);
|
pthread_create(&ttx_sub_thread, 0, reader_thread, (void *) NULL);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
//transpmode = 1;
|
|
||||||
/* main loop */
|
/* main loop */
|
||||||
do {
|
do {
|
||||||
if (GetRCCode() == 1)
|
if (GetRCCode() == 1)
|
||||||
@@ -1746,7 +1749,6 @@ int tuxtx_main(int pid, int page, int source)
|
|||||||
transpmode = 1; /* switch to normal mode */
|
transpmode = 1; /* switch to normal mode */
|
||||||
SwitchTranspMode();
|
SwitchTranspMode();
|
||||||
break; /* and evaluate key */
|
break; /* and evaluate key */
|
||||||
|
|
||||||
case RC_TTTV:
|
case RC_TTTV:
|
||||||
case RC_MUTE: /* regular toggle to transparent */
|
case RC_MUTE: /* regular toggle to transparent */
|
||||||
case RC_TEXT:
|
case RC_TEXT:
|
||||||
@@ -1773,7 +1775,7 @@ int tuxtx_main(int pid, int page, int source)
|
|||||||
if (boxed)
|
if (boxed)
|
||||||
{
|
{
|
||||||
subtitledelay++;
|
subtitledelay++;
|
||||||
// display subtitledelay
|
// display subtitledelay
|
||||||
PosY = StartY;
|
PosY = StartY;
|
||||||
char ns[10];
|
char ns[10];
|
||||||
SetPosX(1);
|
SetPosX(1);
|
||||||
@@ -1784,14 +1786,14 @@ int tuxtx_main(int pid, int page, int source)
|
|||||||
RenderCharFB(ns[4],&atrtable[ATR_WB]);
|
RenderCharFB(ns[4],&atrtable[ATR_WB]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
GetNextSubPage(1);
|
GetNextSubPage(1);
|
||||||
break;
|
break;
|
||||||
case RC_LEFT:
|
case RC_LEFT:
|
||||||
if (boxed)
|
if (boxed)
|
||||||
{
|
{
|
||||||
subtitledelay--;
|
subtitledelay--;
|
||||||
if (subtitledelay < 0) subtitledelay = 0;
|
if (subtitledelay < 0) subtitledelay = 0;
|
||||||
// display subtitledelay
|
// display subtitledelay
|
||||||
PosY = StartY;
|
PosY = StartY;
|
||||||
char ns[10];
|
char ns[10];
|
||||||
SetPosX(1);
|
SetPosX(1);
|
||||||
@@ -1822,16 +1824,31 @@ int tuxtx_main(int pid, int page, int source)
|
|||||||
case RC_9:
|
case RC_9:
|
||||||
PageInput(CRCInput::getNumericValue(RCCode));
|
PageInput(CRCInput::getNumericValue(RCCode));
|
||||||
break;
|
break;
|
||||||
case RC_RED: ColorKey(prev_100); break;
|
case RC_RED:
|
||||||
case RC_GREEN: ColorKey(prev_10); break;
|
ColorKey(prev_100);
|
||||||
case RC_YELLOW: ColorKey(next_10); break;
|
break;
|
||||||
case RC_BLUE: ColorKey(next_100); break;
|
case RC_GREEN:
|
||||||
|
ColorKey(prev_10);
|
||||||
|
break;
|
||||||
|
case RC_YELLOW:
|
||||||
|
ColorKey(next_10);
|
||||||
|
break;
|
||||||
|
case RC_BLUE:
|
||||||
|
ColorKey(next_100);
|
||||||
|
break;
|
||||||
case RC_TTZOOM:
|
case RC_TTZOOM:
|
||||||
case RC_PLUS: SwitchZoomMode(); break;
|
case RC_PLUS:
|
||||||
|
SwitchZoomMode();
|
||||||
|
break;
|
||||||
case RC_SPLIT:
|
case RC_SPLIT:
|
||||||
case RC_MINUS: SwitchScreenMode(-1);prevscreenmode = screenmode; break;
|
case RC_MINUS:
|
||||||
|
SwitchScreenMode(-1);
|
||||||
|
prevscreenmode = screenmode;
|
||||||
|
break;
|
||||||
case RC_TTTV:
|
case RC_TTTV:
|
||||||
case RC_MUTE: SwitchTranspMode(); break;
|
case RC_MUTE:
|
||||||
|
SwitchTranspMode();
|
||||||
|
break;
|
||||||
case RC_TEXT:
|
case RC_TEXT:
|
||||||
if(transpmode == 1)
|
if(transpmode == 1)
|
||||||
RCCode = RC_HOME;
|
RCCode = RC_HOME;
|
||||||
@@ -1839,8 +1856,12 @@ int tuxtx_main(int pid, int page, int source)
|
|||||||
break;
|
break;
|
||||||
case RC_TTREVEAL:
|
case RC_TTREVEAL:
|
||||||
case RC_INFO:
|
case RC_INFO:
|
||||||
case RC_HELP: SwitchHintMode(); break;
|
case RC_HELP:
|
||||||
case RC_DBOX: ConfigMenu(0); break;
|
SwitchHintMode();
|
||||||
|
break;
|
||||||
|
case RC_DBOX:
|
||||||
|
ConfigMenu(0);
|
||||||
|
break;
|
||||||
case RC_HOME:
|
case RC_HOME:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -1866,7 +1887,7 @@ int tuxtx_main(int pid, int page, int source)
|
|||||||
fbp->setBorderColor(old_border_color);
|
fbp->setBorderColor(old_border_color);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
printf("Tuxtxt: plugin ended\n");
|
printf("Tuxtxt: plugin ended\n");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2481,17 +2502,17 @@ skip_pid:
|
|||||||
//FIXME ??
|
//FIXME ??
|
||||||
for (byte = 0; byte < pid_table[pid_test].service_name_len; byte++)
|
for (byte = 0; byte < pid_table[pid_test].service_name_len; byte++)
|
||||||
{
|
{
|
||||||
if (bufSDT[sdt_scan+10 + bufSDT[sdt_scan + 8] + byte] == (unsigned char)'<EFBFBD>')
|
if (bufSDT[sdt_scan+10 + bufSDT[sdt_scan + 8] + byte] == (unsigned char)'?')
|
||||||
bufSDT[sdt_scan+10 + bufSDT[sdt_scan + 8] + byte] = 0x5B;
|
bufSDT[sdt_scan+10 + bufSDT[sdt_scan + 8] + byte] = 0x5B;
|
||||||
if (bufSDT[sdt_scan+10 + bufSDT[sdt_scan + 8] + byte] == (unsigned char)'<EFBFBD>')
|
if (bufSDT[sdt_scan+10 + bufSDT[sdt_scan + 8] + byte] == (unsigned char)'<EFBFBD>')
|
||||||
bufSDT[sdt_scan+10 + bufSDT[sdt_scan + 8] + byte] = 0x7B;
|
bufSDT[sdt_scan+10 + bufSDT[sdt_scan + 8] + byte] = 0x7B;
|
||||||
if (bufSDT[sdt_scan+10 + bufSDT[sdt_scan + 8] + byte] == (unsigned char)'<EFBFBD>')
|
if (bufSDT[sdt_scan+10 + bufSDT[sdt_scan + 8] + byte] == (unsigned char)'?')
|
||||||
bufSDT[sdt_scan+10 + bufSDT[sdt_scan + 8] + byte] = 0x5C;
|
bufSDT[sdt_scan+10 + bufSDT[sdt_scan + 8] + byte] = 0x5C;
|
||||||
if (bufSDT[sdt_scan+10 + bufSDT[sdt_scan + 8] + byte] == (unsigned char)'<EFBFBD>')
|
if (bufSDT[sdt_scan+10 + bufSDT[sdt_scan + 8] + byte] == (unsigned char)'<EFBFBD>')
|
||||||
bufSDT[sdt_scan+10 + bufSDT[sdt_scan + 8] + byte] = 0x7C;
|
bufSDT[sdt_scan+10 + bufSDT[sdt_scan + 8] + byte] = 0x7C;
|
||||||
if (bufSDT[sdt_scan+10 + bufSDT[sdt_scan + 8] + byte] == (unsigned char)'<EFBFBD>')
|
if (bufSDT[sdt_scan+10 + bufSDT[sdt_scan + 8] + byte] == (unsigned char)'?')
|
||||||
bufSDT[sdt_scan+10 + bufSDT[sdt_scan + 8] + byte] = 0x5D;
|
bufSDT[sdt_scan+10 + bufSDT[sdt_scan + 8] + byte] = 0x5D;
|
||||||
if (bufSDT[sdt_scan+10 + bufSDT[sdt_scan + 8] + byte] == (unsigned char)'<EFBFBD>')
|
if (bufSDT[sdt_scan+10 + bufSDT[sdt_scan + 8] + byte] == (unsigned char)'?')
|
||||||
bufSDT[sdt_scan+10 + bufSDT[sdt_scan + 8] + byte] = 0x7D;
|
bufSDT[sdt_scan+10 + bufSDT[sdt_scan + 8] + byte] = 0x7D;
|
||||||
if (bufSDT[sdt_scan+10 + bufSDT[sdt_scan + 8] + byte] == (unsigned char)'<EFBFBD>')
|
if (bufSDT[sdt_scan+10 + bufSDT[sdt_scan + 8] + byte] == (unsigned char)'<EFBFBD>')
|
||||||
bufSDT[sdt_scan+10 + bufSDT[sdt_scan + 8] + byte] = 0x7E;
|
bufSDT[sdt_scan+10 + bufSDT[sdt_scan + 8] + byte] = 0x7E;
|
||||||
@@ -3863,7 +3884,6 @@ void RenderCatchedPage()
|
|||||||
}
|
}
|
||||||
SetPosX(catch_col);
|
SetPosX(catch_col);
|
||||||
|
|
||||||
|
|
||||||
if (zoommode == 2)
|
if (zoommode == 2)
|
||||||
PosY = StartY + (catch_row-12)*fontheight*((zoom>>10)+1);
|
PosY = StartY + (catch_row-12)*fontheight*((zoom>>10)+1);
|
||||||
else
|
else
|
||||||
@@ -3944,7 +3964,7 @@ void SwitchScreenMode(int newscreenmode)
|
|||||||
ClearBB(clearbbcolor);
|
ClearBB(clearbbcolor);
|
||||||
|
|
||||||
/* set mode */
|
/* set mode */
|
||||||
if (screenmode) /* split */
|
if (screenmode) /* split */
|
||||||
{
|
{
|
||||||
ClearFB(clearbbcolor);
|
ClearFB(clearbbcolor);
|
||||||
|
|
||||||
@@ -3993,17 +4013,7 @@ void SwitchScreenMode(int newscreenmode)
|
|||||||
setfontwidth(fw);
|
setfontwidth(fw);
|
||||||
|
|
||||||
CFrameBuffer *f = CFrameBuffer::getInstance();
|
CFrameBuffer *f = CFrameBuffer::getInstance();
|
||||||
#if HAVE_SPARK_HARDWARE
|
|
||||||
if (!boxed && (f->get3DMode() == CFrameBuffer::Mode3D_off))
|
|
||||||
videoDecoder->Pig(tx, ty, tw, th,
|
|
||||||
f->getScreenWidth(true), f->getScreenHeight(true),
|
|
||||||
g_settings.screen_StartX_int,
|
|
||||||
g_settings.screen_StartY_int,
|
|
||||||
g_settings.screen_EndX_int,
|
|
||||||
g_settings.screen_EndY_int);
|
|
||||||
#else
|
|
||||||
videoDecoder->Pig(tx, ty, tw, th, f->getScreenWidth(true), f->getScreenHeight(true));
|
videoDecoder->Pig(tx, ty, tw, th, f->getScreenWidth(true), f->getScreenHeight(true));
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
else /* not split */
|
else /* not split */
|
||||||
{
|
{
|
||||||
@@ -4129,13 +4139,17 @@ void RenderDRCS( //FIX ME
|
|||||||
{
|
{
|
||||||
// memset(d + ax[x], f1, ax[x+1] - ax[x]);
|
// memset(d + ax[x], f1, ax[x+1] - ax[x]);
|
||||||
for (ltmp=0 ; ltmp <= (ax[x+1]-ax[x]); ltmp++)
|
for (ltmp=0 ; ltmp <= (ax[x+1]-ax[x]); ltmp++)
|
||||||
|
{
|
||||||
*(d + ax[x] + ltmp) = bgra[f1];
|
*(d + ax[x] + ltmp) = bgra[f1];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (ax[x+7] > ax[x+6])
|
if (ax[x+7] > ax[x+6])
|
||||||
{
|
{
|
||||||
// memset(d + ax[x+6], f2, ax[x+7] - ax[x+6]); /* 2nd byte 6 pixels to the right */
|
// memset(d + ax[x+6], f2, ax[x+7] - ax[x+6]); /* 2nd byte 6 pixels to the right */
|
||||||
for (ltmp=0 ; ltmp <= (ax[x+7]-ax[x+6]); ltmp++)
|
for (ltmp=0 ; ltmp <= (ax[x+7]-ax[x+6]); ltmp++)
|
||||||
|
{
|
||||||
*(d + ax[x+6] + ltmp) = bgra[f2];
|
*(d + ax[x+6] + ltmp) = bgra[f2];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
d += stride;
|
d += stride;
|
||||||
}
|
}
|
||||||
@@ -4249,26 +4263,26 @@ int ShapeCoord(int param, int curfontwidth, int curfontheight)
|
|||||||
{
|
{
|
||||||
switch (param)
|
switch (param)
|
||||||
{
|
{
|
||||||
case S_W13:
|
case S_W13:
|
||||||
return curfontwidth/3;
|
return curfontwidth/3;
|
||||||
case S_W12:
|
case S_W12:
|
||||||
return curfontwidth/2;
|
return curfontwidth/2;
|
||||||
case S_W23:
|
case S_W23:
|
||||||
return curfontwidth*2/3;
|
return curfontwidth*2/3;
|
||||||
case S_W11:
|
case S_W11:
|
||||||
return curfontwidth;
|
return curfontwidth;
|
||||||
case S_WM3:
|
case S_WM3:
|
||||||
return curfontwidth-3;
|
return curfontwidth-3;
|
||||||
case S_H13:
|
case S_H13:
|
||||||
return curfontheight/3;
|
return curfontheight/3;
|
||||||
case S_H12:
|
case S_H12:
|
||||||
return curfontheight/2;
|
return curfontheight/2;
|
||||||
case S_H23:
|
case S_H23:
|
||||||
return curfontheight*2/3;
|
return curfontheight*2/3;
|
||||||
case S_H11:
|
case S_H11:
|
||||||
return curfontheight;
|
return curfontheight;
|
||||||
default:
|
default:
|
||||||
return param;
|
return param;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4292,63 +4306,63 @@ void DrawShape(int x, int y, int shapenumber, int curfontwidth, int curfontheigh
|
|||||||
while (*p != S_END)
|
while (*p != S_END)
|
||||||
switch (*p++)
|
switch (*p++)
|
||||||
{
|
{
|
||||||
case S_FHL:
|
case S_FHL:
|
||||||
{
|
{
|
||||||
int offset = ShapeCoord(*p++, curfontwidth, curfontheight);
|
int offset = ShapeCoord(*p++, curfontwidth, curfontheight);
|
||||||
DrawHLine(x, y + offset, curfontwidth, fgcolor);
|
DrawHLine(x, y + offset, curfontwidth, fgcolor);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case S_FVL:
|
case S_FVL:
|
||||||
{
|
{
|
||||||
int offset = ShapeCoord(*p++, curfontwidth, curfontheight);
|
int offset = ShapeCoord(*p++, curfontwidth, curfontheight);
|
||||||
DrawVLine(x + offset, y, fontheight, fgcolor);
|
DrawVLine(x + offset, y, fontheight, fgcolor);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case S_FLH:
|
case S_FLH:
|
||||||
FlipHorz(x,y,curfontwidth, fontheight);
|
FlipHorz(x,y,curfontwidth, fontheight);
|
||||||
break;
|
break;
|
||||||
case S_FLV:
|
case S_FLV:
|
||||||
FlipVert(x,y,curfontwidth, fontheight);
|
FlipVert(x,y,curfontwidth, fontheight);
|
||||||
break;
|
break;
|
||||||
case S_BOX:
|
case S_BOX:
|
||||||
{
|
{
|
||||||
int xo = ShapeCoord(*p++, curfontwidth, curfontheight);
|
int xo = ShapeCoord(*p++, curfontwidth, curfontheight);
|
||||||
int yo = ShapeCoord(*p++, curfontwidth, curfontheight);
|
int yo = ShapeCoord(*p++, curfontwidth, curfontheight);
|
||||||
int w = ShapeCoord(*p++, curfontwidth, curfontheight);
|
int w = ShapeCoord(*p++, curfontwidth, curfontheight);
|
||||||
int h = ShapeCoord(*p++, curfontwidth, curfontheight);
|
int h = ShapeCoord(*p++, curfontwidth, curfontheight);
|
||||||
FillRect(x + xo, y + yo, w, h, fgcolor);
|
FillRect(x + xo, y + yo, w, h, fgcolor);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case S_TRA:
|
case S_TRA:
|
||||||
{
|
{
|
||||||
int x0 = ShapeCoord(*p++, curfontwidth, curfontheight);
|
int x0 = ShapeCoord(*p++, curfontwidth, curfontheight);
|
||||||
int y0 = ShapeCoord(*p++, curfontwidth, curfontheight);
|
int y0 = ShapeCoord(*p++, curfontwidth, curfontheight);
|
||||||
int l0 = ShapeCoord(*p++, curfontwidth, curfontheight);
|
int l0 = ShapeCoord(*p++, curfontwidth, curfontheight);
|
||||||
int x1 = ShapeCoord(*p++, curfontwidth, curfontheight);
|
int x1 = ShapeCoord(*p++, curfontwidth, curfontheight);
|
||||||
int y1 = ShapeCoord(*p++, curfontwidth, curfontheight);
|
int y1 = ShapeCoord(*p++, curfontwidth, curfontheight);
|
||||||
int l1 = ShapeCoord(*p++, curfontwidth, curfontheight);
|
int l1 = ShapeCoord(*p++, curfontwidth, curfontheight);
|
||||||
FillTrapez(x + x0, y + y0, l0, x1-x0, y1-y0, l1, fgcolor);
|
FillTrapez(x + x0, y + y0, l0, x1-x0, y1-y0, l1, fgcolor);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case S_BTR:
|
case S_BTR:
|
||||||
{
|
{
|
||||||
int x0 = ShapeCoord(*p++, curfontwidth, curfontheight);
|
int x0 = ShapeCoord(*p++, curfontwidth, curfontheight);
|
||||||
int y0 = ShapeCoord(*p++, curfontwidth, curfontheight);
|
int y0 = ShapeCoord(*p++, curfontwidth, curfontheight);
|
||||||
int l0 = ShapeCoord(*p++, curfontwidth, curfontheight);
|
int l0 = ShapeCoord(*p++, curfontwidth, curfontheight);
|
||||||
int x1 = ShapeCoord(*p++, curfontwidth, curfontheight);
|
int x1 = ShapeCoord(*p++, curfontwidth, curfontheight);
|
||||||
int y1 = ShapeCoord(*p++, curfontwidth, curfontheight);
|
int y1 = ShapeCoord(*p++, curfontwidth, curfontheight);
|
||||||
int l1 = ShapeCoord(*p++, curfontwidth, curfontheight);
|
int l1 = ShapeCoord(*p++, curfontwidth, curfontheight);
|
||||||
FillTrapez(x + x0, y + y0, l0, x1-x0, y1-y0, l1, bgcolor);
|
FillTrapez(x + x0, y + y0, l0, x1-x0, y1-y0, l1, bgcolor);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case S_LNK:
|
case S_LNK:
|
||||||
{
|
{
|
||||||
DrawShape(x, y, ShapeCoord(*p, curfontwidth, curfontheight), curfontwidth, curfontheight, fgcolor, bgcolor, 0);
|
DrawShape(x, y, ShapeCoord(*p, curfontwidth, curfontheight), curfontwidth, curfontheight, fgcolor, bgcolor, 0);
|
||||||
//p = aShapes[ShapeCoord(*p, curfontwidth, curfontheight) - 0x20];
|
//p = aShapes[ShapeCoord(*p, curfontwidth, curfontheight) - 0x20];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4374,34 +4388,34 @@ void RenderChar(int Char, tstPageAttr *Attribute, int zoom, int yoffset)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// G0+G2 set designation
|
// G0+G2 set designation
|
||||||
if (Attribute->setG0G2 != 0x3f)
|
if (Attribute->setG0G2 != 0x3f)
|
||||||
{
|
{
|
||||||
switch (Attribute->setG0G2)
|
switch (Attribute->setG0G2)
|
||||||
{
|
{
|
||||||
case 0x20 :
|
case 0x20 :
|
||||||
national_subset_local = NAT_SC;
|
national_subset_local = NAT_SC;
|
||||||
break;
|
break;
|
||||||
case 0x24 :
|
case 0x24 :
|
||||||
national_subset_local = NAT_RB;
|
national_subset_local = NAT_RB;
|
||||||
break;
|
break;
|
||||||
case 0x25 :
|
case 0x25 :
|
||||||
national_subset_local = NAT_UA;
|
national_subset_local = NAT_UA;
|
||||||
break;
|
break;
|
||||||
case 0x37:
|
case 0x37:
|
||||||
national_subset_local = NAT_GR;
|
national_subset_local = NAT_GR;
|
||||||
break;
|
break;
|
||||||
case 0x55:
|
case 0x55:
|
||||||
national_subset_local = NAT_HB;
|
national_subset_local = NAT_HB;
|
||||||
break;
|
break;
|
||||||
case 0x47:
|
case 0x47:
|
||||||
case 0x57:
|
case 0x57:
|
||||||
national_subset_local = NAT_AR;
|
national_subset_local = NAT_AR;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
national_subset_local = countryconversiontable[Attribute->setG0G2 & 0x07];
|
national_subset_local = countryconversiontable[Attribute->setG0G2 & 0x07];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Attribute->charset == C_G0S) // use secondary charset
|
if (Attribute->charset == C_G0S) // use secondary charset
|
||||||
national_subset_local = national_subset_secondary;
|
national_subset_local = national_subset_secondary;
|
||||||
@@ -4550,7 +4564,8 @@ void RenderChar(int Char, tstPageAttr *Attribute, int zoom, int yoffset)
|
|||||||
PosX += curfontwidth;
|
PosX += curfontwidth;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#if 0//old
|
#if 0
|
||||||
|
//old
|
||||||
else if (Attribute->charset == C_G2 && Char >= 0x20 && Char <= 0x7F)
|
else if (Attribute->charset == C_G2 && Char >= 0x20 && Char <= 0x7F)
|
||||||
{
|
{
|
||||||
if (national_subset_local == NAT_GR)
|
if (national_subset_local == NAT_GR)
|
||||||
@@ -4728,7 +4743,8 @@ void RenderChar(int Char, tstPageAttr *Attribute, int zoom, int yoffset)
|
|||||||
}
|
}
|
||||||
if (Char <= 0x20)
|
if (Char <= 0x20)
|
||||||
{
|
{
|
||||||
#if 0//TUXTXT_DEBUG
|
#if 0
|
||||||
|
//TUXTXT_DEBUG
|
||||||
printf("TuxTxt found control char: %x \"%c\" \n", Char, Char);
|
printf("TuxTxt found control char: %x \"%c\" \n", Char, Char);
|
||||||
#endif
|
#endif
|
||||||
FillRect(PosX, PosY + yoffset, curfontwidth, factor*fontheight, bgcolor);
|
FillRect(PosX, PosY + yoffset, curfontwidth, factor*fontheight, bgcolor);
|
||||||
@@ -4739,7 +4755,8 @@ void RenderChar(int Char, tstPageAttr *Attribute, int zoom, int yoffset)
|
|||||||
|
|
||||||
if (!(glyph = FT_Get_Char_Index(face, Char)))
|
if (!(glyph = FT_Get_Char_Index(face, Char)))
|
||||||
{
|
{
|
||||||
#if 1// TUXTXT_DEBUG
|
#if 1
|
||||||
|
// TUXTXT_DEBUG
|
||||||
printf("TuxTxt <FT_Get_Char_Index for Char %d %x \"%c\" failed\n", Char, Char, Char);
|
printf("TuxTxt <FT_Get_Char_Index for Char %d %x \"%c\" failed\n", Char, Char, Char);
|
||||||
#endif
|
#endif
|
||||||
FillRect(PosX, PosY + yoffset, curfontwidth, factor*fontheight, bgcolor);
|
FillRect(PosX, PosY + yoffset, curfontwidth, factor*fontheight, bgcolor);
|
||||||
@@ -5145,7 +5162,6 @@ void RenderPage()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* update page or timestring */
|
/* update page or timestring */
|
||||||
if (transpmode != 2 && tuxtxt_cache.pageupdate && tuxtxt_cache.page_receiving != tuxtxt_cache.page && inputcounter == 2)
|
if (transpmode != 2 && tuxtxt_cache.pageupdate && tuxtxt_cache.page_receiving != tuxtxt_cache.page && inputcounter == 2)
|
||||||
{
|
{
|
||||||
@@ -5588,7 +5604,7 @@ void CopyBB2FB()
|
|||||||
/* adapt background of backbuffer if changed */
|
/* adapt background of backbuffer if changed */
|
||||||
if (StartX > 0 && *lfb != *lbb) {
|
if (StartX > 0 && *lfb != *lbb) {
|
||||||
FillBorder(*lbb, true);
|
FillBorder(*lbb, true);
|
||||||
// ClearBB(*(lfb + var_screeninfo.xres * var_screeninfo.yoffset));
|
// ClearBB(*(lfb + var_screeninfo.xres * var_screeninfo.yoffset));
|
||||||
}
|
}
|
||||||
#if HAVE_SPARK_HARDWARE
|
#if HAVE_SPARK_HARDWARE
|
||||||
f->blit();
|
f->blit();
|
||||||
@@ -5633,6 +5649,7 @@ void CopyBB2FB()
|
|||||||
|
|
||||||
topsrc += screenwidth;
|
topsrc += screenwidth;
|
||||||
topdst += screenwidth;
|
topdst += screenwidth;
|
||||||
|
|
||||||
for (i=0; i < 24*fontheight; i++)
|
for (i=0; i < 24*fontheight; i++)
|
||||||
{
|
{
|
||||||
memmove(topdst, topsrc, width);
|
memmove(topdst, topsrc, width);
|
||||||
@@ -5649,7 +5666,9 @@ void CopyBB2FB()
|
|||||||
for (i = StartY; i>0;i--)
|
for (i = StartY; i>0;i--)
|
||||||
{
|
{
|
||||||
for (swtmp=0; swtmp<=screenwidth; swtmp++)
|
for (swtmp=0; swtmp<=screenwidth; swtmp++)
|
||||||
|
{
|
||||||
*(dst - i * stride + swtmp) = bgra[fillcolor];
|
*(dst - i * stride + swtmp) = bgra[fillcolor];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 12*fontheight; i; i--)
|
for (i = 12*fontheight; i; i--)
|
||||||
@@ -5664,7 +5683,9 @@ void CopyBB2FB()
|
|||||||
for (i = var_screeninfo.yres - StartY - 25*fontheight; i >= 0;i--)
|
for (i = var_screeninfo.yres - StartY - 25*fontheight; i >= 0;i--)
|
||||||
{
|
{
|
||||||
for (swtmp=0; swtmp<= screenwidth;swtmp++)
|
for (swtmp=0; swtmp<= screenwidth;swtmp++)
|
||||||
|
{
|
||||||
*(dst + stride * (fontheight + i) + swtmp) = bgra[fillcolor];
|
*(dst + stride * (fontheight + i) + swtmp) = bgra[fillcolor];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#if HAVE_SPARK_HARDWARE
|
#if HAVE_SPARK_HARDWARE
|
||||||
f->mark(0, 0, var_screeninfo.xres, var_screeninfo.yres);
|
f->mark(0, 0, var_screeninfo.xres, var_screeninfo.yres);
|
||||||
|
Reference in New Issue
Block a user