Make glcd_icon5x8() not calling back drvthis->chr() as this the call-back
function is not configurable and interferes with the Freetype renderer.
This commit is contained in:
@@ -1776,79 +1776,82 @@ unsigned char glcd_iso8859_1[256][8] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static int
|
static int
|
||||||
glcd_icon5x8(Driver *drvthis, int x, int y, int icon)
|
glcd_icon5x8(int icon)
|
||||||
{
|
{
|
||||||
|
int icon_char;
|
||||||
|
|
||||||
switch (icon) {
|
switch (icon) {
|
||||||
case ICON_BLOCK_FILLED:
|
case ICON_BLOCK_FILLED:
|
||||||
drvthis->chr(drvthis, x, y, 0x98);
|
icon_char = 0x98;
|
||||||
break;
|
break;
|
||||||
case ICON_HEART_FILLED:
|
case ICON_HEART_FILLED:
|
||||||
drvthis->chr(drvthis, x, y, 0x80);
|
icon_char = 0x80;
|
||||||
break;
|
break;
|
||||||
case ICON_HEART_OPEN:
|
case ICON_HEART_OPEN:
|
||||||
drvthis->chr(drvthis, x, y, 0x81);
|
icon_char = 0x81;
|
||||||
break;
|
break;
|
||||||
case ICON_ARROW_UP:
|
case ICON_ARROW_UP:
|
||||||
drvthis->chr(drvthis, x, y, 0x82);
|
icon_char = 0x82;
|
||||||
break;
|
break;
|
||||||
case ICON_ARROW_DOWN:
|
case ICON_ARROW_DOWN:
|
||||||
drvthis->chr(drvthis, x, y, 0x83);
|
icon_char = 0x83;
|
||||||
break;
|
break;
|
||||||
case ICON_ARROW_LEFT:
|
case ICON_ARROW_LEFT:
|
||||||
drvthis->chr(drvthis, x, y, 0x84);
|
icon_char = 0x84;
|
||||||
break;
|
break;
|
||||||
case ICON_ARROW_RIGHT:
|
case ICON_ARROW_RIGHT:
|
||||||
drvthis->chr(drvthis, x, y, 0x85);
|
icon_char = 0x85;
|
||||||
break;
|
break;
|
||||||
case ICON_CHECKBOX_OFF:
|
case ICON_CHECKBOX_OFF:
|
||||||
drvthis->chr(drvthis, x, y, 0x86);
|
icon_char = 0x86;
|
||||||
break;
|
break;
|
||||||
case ICON_CHECKBOX_ON:
|
case ICON_CHECKBOX_ON:
|
||||||
drvthis->chr(drvthis, x, y, 0x87);
|
icon_char = 0x87;
|
||||||
break;
|
break;
|
||||||
case ICON_CHECKBOX_GRAY:
|
case ICON_CHECKBOX_GRAY:
|
||||||
drvthis->chr(drvthis, x, y, 0x88);
|
icon_char = 0x88;
|
||||||
break;
|
break;
|
||||||
case ICON_SELECTOR_AT_LEFT:
|
case ICON_SELECTOR_AT_LEFT:
|
||||||
drvthis->chr(drvthis, x, y, 0x89);
|
icon_char = 0x89;
|
||||||
break;
|
break;
|
||||||
case ICON_SELECTOR_AT_RIGHT:
|
case ICON_SELECTOR_AT_RIGHT:
|
||||||
drvthis->chr(drvthis, x, y, 0x8a);
|
icon_char = 0x8a;
|
||||||
break;
|
break;
|
||||||
case ICON_ELLIPSIS:
|
case ICON_ELLIPSIS:
|
||||||
drvthis->chr(drvthis, x, y, 0x8b);
|
icon_char = 0x8b;
|
||||||
break;
|
break;
|
||||||
case ICON_STOP:
|
case ICON_STOP:
|
||||||
drvthis->chr(drvthis, x, y, 0x8c);
|
icon_char = 0x8c;
|
||||||
break;
|
break;
|
||||||
case ICON_PAUSE:
|
case ICON_PAUSE:
|
||||||
drvthis->chr(drvthis, x, y, 0x8d);
|
icon_char = 0x8d;
|
||||||
break;
|
break;
|
||||||
case ICON_PLAY:
|
case ICON_PLAY:
|
||||||
drvthis->chr(drvthis, x, y, 0x89);
|
icon_char = 0x89;
|
||||||
break;
|
break;
|
||||||
case ICON_PLAYR:
|
case ICON_PLAYR:
|
||||||
drvthis->chr(drvthis, x, y, 0x8a);
|
icon_char = 0x8a;
|
||||||
break;
|
break;
|
||||||
case ICON_FF:
|
case ICON_FF:
|
||||||
drvthis->chr(drvthis, x, y, 0xab);
|
icon_char = 0xab;
|
||||||
break;
|
break;
|
||||||
case ICON_FR:
|
case ICON_FR:
|
||||||
drvthis->chr(drvthis, x, y, 0xbb);
|
icon_char = 0xbb;
|
||||||
break;
|
break;
|
||||||
case ICON_NEXT:
|
case ICON_NEXT:
|
||||||
drvthis->chr(drvthis, x, y, 0x8e);
|
icon_char = 0x8e;
|
||||||
break;
|
break;
|
||||||
case ICON_PREV:
|
case ICON_PREV:
|
||||||
drvthis->chr(drvthis, x, y, 0x8f);
|
icon_char = 0x8f;
|
||||||
break;
|
break;
|
||||||
case ICON_REC:
|
case ICON_REC:
|
||||||
drvthis->chr(drvthis, x, y, 0xac);
|
icon_char = 0xac;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return -1;
|
icon_char = -1;
|
||||||
}
|
}
|
||||||
return 0;
|
|
||||||
|
return icon_char;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -411,11 +411,17 @@ i2500vfd_hbar(Driver *drvthis, int x, int y, int len, int promille, int pattern)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////
|
||||||
// Reprogrammes character dest to contain an icon given by
|
// Gets an icon character from the font definition and calls
|
||||||
// which. Calls set_char() to do this.
|
// chr() to draw it.
|
||||||
//
|
//
|
||||||
MODULE_EXPORT int
|
MODULE_EXPORT int
|
||||||
i2500vfd_icon (Driver *drvthis, int x, int y, int icon)
|
i2500vfd_icon (Driver *drvthis, int x, int y, int icon)
|
||||||
{
|
{
|
||||||
return (glcd_icon5x8(drvthis, x, y, icon));
|
int icon_char;
|
||||||
|
|
||||||
|
if ((icon_char = glcd_icon5x8(icon)) != -1) {
|
||||||
|
i2500vfd_chr(drvthis, x, y, icon_char);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -576,7 +576,13 @@ mdm166a_hbar(Driver *drvthis, int x, int y, int len, int promille, int pattern)
|
|||||||
MODULE_EXPORT int
|
MODULE_EXPORT int
|
||||||
mdm166a_icon(Driver *drvthis, int x, int y, int icon)
|
mdm166a_icon(Driver *drvthis, int x, int y, int icon)
|
||||||
{
|
{
|
||||||
return (glcd_icon5x8(drvthis, x, y, icon));
|
int icon_char;
|
||||||
|
|
||||||
|
if ((icon_char = glcd_icon5x8(icon)) != -1) {
|
||||||
|
mdm166a_chr(drvthis, x, y, icon_char);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -512,5 +512,11 @@ sed1520_hbar(Driver *drvthis, int x, int y, int len, int promille, int options)
|
|||||||
MODULE_EXPORT int
|
MODULE_EXPORT int
|
||||||
sed1520_icon(Driver * drvthis, int x, int y, int icon)
|
sed1520_icon(Driver * drvthis, int x, int y, int icon)
|
||||||
{
|
{
|
||||||
return (glcd_icon5x8(drvthis, x, y, icon));
|
int icon_char;
|
||||||
|
|
||||||
|
if ((icon_char = glcd_icon5x8(icon)) != -1) {
|
||||||
|
sed1520_chr(drvthis, x, y, icon_char);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -448,9 +448,14 @@ t6963_hbar(Driver *drvthis, int x, int y, int len, int promille, int options)
|
|||||||
MODULE_EXPORT int
|
MODULE_EXPORT int
|
||||||
t6963_icon(Driver *drvthis, int x, int y, int icon)
|
t6963_icon(Driver *drvthis, int x, int y, int icon)
|
||||||
{
|
{
|
||||||
|
int icon_char;
|
||||||
debug(RPT_DEBUG, "T6963: set icon %d", icon);
|
debug(RPT_DEBUG, "T6963: set icon %d", icon);
|
||||||
|
|
||||||
return (glcd_icon5x8(drvthis, x, y, icon));
|
if ((icon_char = glcd_icon5x8(icon)) != -1) {
|
||||||
|
t6963_chr(drvthis, x, y, icon_char);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|||||||
Reference in New Issue
Block a user