set_char() based on bit array instead of char array
This commit is contained in:
+231
-304
@@ -45,6 +45,27 @@
|
|||||||
#include "report.h"
|
#include "report.h"
|
||||||
#include "lcd_lib.h"
|
#include "lcd_lib.h"
|
||||||
|
|
||||||
|
#define b______ 0x00
|
||||||
|
#define b____X_ 0x03
|
||||||
|
#define b____XX 0x03
|
||||||
|
#define b___X__ 0x04
|
||||||
|
#define b___XX_ 0x06
|
||||||
|
#define b__X___ 0x08
|
||||||
|
#define b__XX__ 0x09
|
||||||
|
#define b__X_X_ 0x0A
|
||||||
|
#define b__XXX_ 0x0E
|
||||||
|
#define b__XXXX 0x0F
|
||||||
|
#define b_X____ 0x10
|
||||||
|
#define b_X___X 0x11
|
||||||
|
#define b_X_X_X 0x15
|
||||||
|
#define b_X_XX_ 0x16
|
||||||
|
#define b_XX___ 0x18
|
||||||
|
#define b_XX_XX 0x1B
|
||||||
|
#define b_XXX__ 0x1C
|
||||||
|
#define b_XXX_X 0x1D
|
||||||
|
#define b_XXXX_ 0x1E
|
||||||
|
#define b_XXXXX 0x1F
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* ===================== IOWarrior low level routines ====================== */
|
/* ===================== IOWarrior low level routines ====================== */
|
||||||
@@ -625,71 +646,10 @@ IOWarrior_init_vbar(Driver *drvthis)
|
|||||||
{
|
{
|
||||||
PrivateData *p = drvthis->private_data;
|
PrivateData *p = drvthis->private_data;
|
||||||
|
|
||||||
char a[CELLWIDTH*CELLHEIGHT] = {
|
|
||||||
0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0,
|
|
||||||
1, 1, 1, 1, 1 };
|
|
||||||
char b[CELLWIDTH*CELLHEIGHT] = {
|
|
||||||
0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0,
|
|
||||||
1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1 };
|
|
||||||
char c[CELLWIDTH*CELLHEIGHT] = {
|
|
||||||
0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0,
|
|
||||||
1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1 };
|
|
||||||
char d[CELLWIDTH*CELLHEIGHT] = {
|
|
||||||
0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0,
|
|
||||||
1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1 };
|
|
||||||
char e[CELLWIDTH*CELLHEIGHT] = {
|
|
||||||
0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0,
|
|
||||||
1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1 };
|
|
||||||
char f[CELLWIDTH*CELLHEIGHT] = {
|
|
||||||
0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0,
|
|
||||||
1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1 };
|
|
||||||
char g[CELLWIDTH*CELLHEIGHT] = {
|
|
||||||
0, 0, 0, 0, 0,
|
|
||||||
1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1 };
|
|
||||||
|
|
||||||
if (p->ccmode != vbar) {
|
if (p->ccmode != vbar) {
|
||||||
|
unsigned char vBar[CELLHEIGHT];
|
||||||
|
int i;
|
||||||
|
|
||||||
if (p->ccmode != standard) {
|
if (p->ccmode != standard) {
|
||||||
/* Not supported(yet) */
|
/* Not supported(yet) */
|
||||||
report(RPT_WARNING, "%s: init_vbar: cannot combine two modes using user defined characters",
|
report(RPT_WARNING, "%s: init_vbar: cannot combine two modes using user defined characters",
|
||||||
@@ -698,13 +658,12 @@ char g[CELLWIDTH*CELLHEIGHT] = {
|
|||||||
}
|
}
|
||||||
p->ccmode = vbar;
|
p->ccmode = vbar;
|
||||||
|
|
||||||
IOWarrior_set_char(drvthis, 1, a);
|
memset(vBar, 0x00, sizeof(vBar));
|
||||||
IOWarrior_set_char(drvthis, 2, b);
|
|
||||||
IOWarrior_set_char(drvthis, 3, c);
|
for (i = 1; i < 8; i++) {
|
||||||
IOWarrior_set_char(drvthis, 4, d);
|
vBar[8-i] = 0xFF;
|
||||||
IOWarrior_set_char(drvthis, 5, e);
|
IOWarrior_set_char(drvthis, i, vBar);
|
||||||
IOWarrior_set_char(drvthis, 6, f);
|
}
|
||||||
IOWarrior_set_char(drvthis, 7, g);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -717,53 +676,10 @@ IOWarrior_init_hbar(Driver *drvthis)
|
|||||||
{
|
{
|
||||||
PrivateData *p = drvthis->private_data;
|
PrivateData *p = drvthis->private_data;
|
||||||
|
|
||||||
char a[CELLWIDTH*CELLHEIGHT] = {
|
|
||||||
1, 0, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 0 };
|
|
||||||
char b[CELLWIDTH*CELLHEIGHT] = {
|
|
||||||
1, 1, 0, 0, 0,
|
|
||||||
1, 1, 0, 0, 0,
|
|
||||||
1, 1, 0, 0, 0,
|
|
||||||
1, 1, 0, 0, 0,
|
|
||||||
1, 1, 0, 0, 0,
|
|
||||||
1, 1, 0, 0, 0,
|
|
||||||
1, 1, 0, 0, 0,
|
|
||||||
1, 1, 0, 0, 0 };
|
|
||||||
char c[CELLWIDTH*CELLHEIGHT] = {
|
|
||||||
1, 1, 1, 0, 0,
|
|
||||||
1, 1, 1, 0, 0,
|
|
||||||
1, 1, 1, 0, 0,
|
|
||||||
1, 1, 1, 0, 0,
|
|
||||||
1, 1, 1, 0, 0,
|
|
||||||
1, 1, 1, 0, 0,
|
|
||||||
1, 1, 1, 0, 0,
|
|
||||||
1, 1, 1, 0, 0 };
|
|
||||||
char d[CELLWIDTH*CELLHEIGHT] = {
|
|
||||||
1, 1, 1, 1, 0,
|
|
||||||
1, 1, 1, 1, 0,
|
|
||||||
1, 1, 1, 1, 0,
|
|
||||||
1, 1, 1, 1, 0,
|
|
||||||
1, 1, 1, 1, 0,
|
|
||||||
1, 1, 1, 1, 0,
|
|
||||||
1, 1, 1, 1, 0,
|
|
||||||
1, 1, 1, 1, 0 };
|
|
||||||
char e[CELLWIDTH*CELLHEIGHT] = {
|
|
||||||
1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1 };
|
|
||||||
|
|
||||||
if (p->ccmode != hbar) {
|
if (p->ccmode != hbar) {
|
||||||
|
unsigned char hBar[CELLHEIGHT];
|
||||||
|
int i;
|
||||||
|
|
||||||
if (p->ccmode != standard) {
|
if (p->ccmode != standard) {
|
||||||
/* Not supported(yet) */
|
/* Not supported(yet) */
|
||||||
report(RPT_WARNING, "%s: init_hbar: cannot combine two modes using user defined characters",
|
report(RPT_WARNING, "%s: init_hbar: cannot combine two modes using user defined characters",
|
||||||
@@ -773,11 +689,10 @@ char e[CELLWIDTH*CELLHEIGHT] = {
|
|||||||
|
|
||||||
p->ccmode = hbar;
|
p->ccmode = hbar;
|
||||||
|
|
||||||
IOWarrior_set_char(drvthis, 1, a);
|
for (i = 1; i <= CELLWIDTH; i++) {
|
||||||
IOWarrior_set_char(drvthis, 2, b);
|
memset(hBar, 0xFF & ~((1 << (CELLWIDTH-i)) - 1), sizeof(hBar));
|
||||||
IOWarrior_set_char(drvthis, 3, c);
|
IOWarrior_set_char(drvthis, i, hBar);
|
||||||
IOWarrior_set_char(drvthis, 4, d);
|
}
|
||||||
IOWarrior_set_char(drvthis, 5, e);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -831,79 +746,79 @@ static void
|
|||||||
IOWarrior_init_num(Driver *drvthis)
|
IOWarrior_init_num(Driver *drvthis)
|
||||||
{
|
{
|
||||||
PrivateData *p = drvthis->private_data;
|
PrivateData *p = drvthis->private_data;
|
||||||
|
unsigned char bignum_ccs[8][CELLHEIGHT] = {
|
||||||
char bignum_ccs[8][CELLWIDTH*CELLHEIGHT] = {
|
[0]
|
||||||
{ 1, 1, 0, 0, 0,
|
{ b_XX___,
|
||||||
1, 1, 0, 0, 0,
|
b_XX___,
|
||||||
1, 1, 0, 0, 0,
|
b_XX___,
|
||||||
1, 1, 0, 0, 0,
|
b_XX___,
|
||||||
0, 0, 0, 0, 0,
|
b______,
|
||||||
0, 0, 0, 0, 0,
|
b______,
|
||||||
0, 0, 0, 0, 0,
|
b______,
|
||||||
0, 0, 0, 0, 0 },
|
b______ },
|
||||||
|
[1]
|
||||||
{ 0, 0, 0, 1, 1,
|
{ b____XX,
|
||||||
0, 0, 0, 1, 1,
|
b____XX,
|
||||||
0, 0, 0, 1, 1,
|
b____XX,
|
||||||
0, 0, 0, 1, 1,
|
b____XX,
|
||||||
1, 1, 0, 0, 0,
|
b_XX___,
|
||||||
1, 1, 0, 0, 0,
|
b_XX___,
|
||||||
1, 1, 0, 0, 0,
|
b_XX___,
|
||||||
1, 1, 0, 0, 0 },
|
b_XX___ },
|
||||||
|
[2]
|
||||||
{ 1, 1, 0, 1, 1,
|
{ b_XX_XX,
|
||||||
1, 1, 0, 1, 1,
|
b_XX_XX,
|
||||||
1, 1, 0, 1, 1,
|
b_XX_XX,
|
||||||
1, 1, 0, 1, 1,
|
b_XX_XX,
|
||||||
0, 0, 0, 0, 0,
|
b______,
|
||||||
0, 0, 0, 0, 0,
|
b______,
|
||||||
0, 0, 0, 0, 0,
|
b______,
|
||||||
0, 0, 0, 0, 0 },
|
b______ },
|
||||||
|
[3]
|
||||||
{ 0, 0, 0, 0, 0,
|
{ b______,
|
||||||
0, 0, 0, 0, 0,
|
b______,
|
||||||
0, 0, 0, 0, 0,
|
b______,
|
||||||
0, 0, 0, 0, 0,
|
b______,
|
||||||
1, 1, 0, 0, 0,
|
b_XX___,
|
||||||
1, 1, 0, 0, 0,
|
b_XX___,
|
||||||
1, 1, 0, 0, 0,
|
b_XX___,
|
||||||
1, 1, 0, 0, 0 },
|
b_XX___ },
|
||||||
|
[4]
|
||||||
{ 1, 1, 0, 0, 0,
|
{ b_XX___,
|
||||||
1, 1, 0, 0, 0,
|
b_XX___,
|
||||||
1, 1, 0, 0, 0,
|
b_XX___,
|
||||||
1, 1, 0, 0, 0,
|
b_XX___,
|
||||||
0, 0, 0, 1, 1,
|
b____XX,
|
||||||
0, 0, 0, 1, 1,
|
b____XX,
|
||||||
0, 0, 0, 1, 1,
|
b____XX,
|
||||||
0, 0, 0, 1, 1 },
|
b____XX },
|
||||||
|
[5]
|
||||||
{ 0, 0, 0, 0, 0,
|
{ b______,
|
||||||
0, 0, 0, 0, 0,
|
b______,
|
||||||
0, 0, 0, 0, 0,
|
b______,
|
||||||
0, 0, 0, 0, 0,
|
b______,
|
||||||
1, 1, 0, 1, 1,
|
b_XX_XX,
|
||||||
1, 1, 0, 1, 1,
|
b_XX_XX,
|
||||||
1, 1, 0, 1, 1,
|
b_XX_XX,
|
||||||
1, 1, 0, 1, 1 },
|
b_XX_XX },
|
||||||
|
[6]
|
||||||
{ 1, 1, 0, 0, 0,
|
{ b_XX___,
|
||||||
1, 1, 0, 0, 0,
|
b_XX___,
|
||||||
1, 1, 0, 0, 0,
|
b_XX___,
|
||||||
1, 1, 0, 0, 0,
|
b_XX___,
|
||||||
1, 1, 0, 0, 0,
|
b_XX___,
|
||||||
1, 1, 0, 0, 0,
|
b_XX___,
|
||||||
1, 1, 0, 0, 0,
|
b_XX___,
|
||||||
1, 1, 0, 0, 0 },
|
b_XX___ },
|
||||||
|
[7]
|
||||||
{ 0, 0, 0, 1, 1,
|
{ b____XX,
|
||||||
0, 0, 0, 1, 1,
|
b____XX,
|
||||||
0, 0, 0, 1, 1,
|
b____XX,
|
||||||
0, 0, 0, 1, 1,
|
b____XX,
|
||||||
0, 0, 0, 0, 0,
|
b______,
|
||||||
0, 0, 0, 0, 0,
|
b______,
|
||||||
0, 0, 0, 0, 0,
|
b______,
|
||||||
0, 0, 0, 0, 0 }
|
b______ }
|
||||||
};
|
};
|
||||||
|
|
||||||
if (p->ccmode != bignum) {
|
if (p->ccmode != bignum) {
|
||||||
@@ -1068,7 +983,7 @@ IOWarrior_get_free_chars (Driver *drvthis)
|
|||||||
* values > 0 mean "on" and values <= 0 are "off".
|
* values > 0 mean "on" and values <= 0 are "off".
|
||||||
*/
|
*/
|
||||||
MODULE_EXPORT void
|
MODULE_EXPORT void
|
||||||
IOWarrior_set_char(Driver *drvthis, int n, char *dat)
|
IOWarrior_set_char(Driver *drvthis, int n, unsigned char *dat)
|
||||||
{
|
{
|
||||||
PrivateData *p = drvthis->private_data;
|
PrivateData *p = drvthis->private_data;
|
||||||
|
|
||||||
@@ -1081,14 +996,10 @@ int row;
|
|||||||
|
|
||||||
for (row = 0; row < p->cellheight; row++) {
|
for (row = 0; row < p->cellheight; row++) {
|
||||||
int letter = 0;
|
int letter = 0;
|
||||||
int col;
|
|
||||||
|
|
||||||
if (p->lastline || (row < p->cellheight - 1)) {
|
if (p->lastline || (row < p->cellheight - 1))
|
||||||
for (col = 0; col < p->cellwidth; col++) {
|
letter = dat[row] & 0x1F;
|
||||||
letter <<= 1;
|
|
||||||
letter |= (dat[(row * p->cellwidth) + col] > 0) ? 1 : 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (p->cc[n].cache[row] != letter)
|
if (p->cc[n].cache[row] != letter)
|
||||||
p->cc[n].clean = 0; /* only mark dirty if really different */
|
p->cc[n].clean = 0; /* only mark dirty if really different */
|
||||||
p->cc[n].cache[row] = letter;
|
p->cc[n].cache[row] = letter;
|
||||||
@@ -1102,107 +1013,123 @@ int row;
|
|||||||
MODULE_EXPORT int
|
MODULE_EXPORT int
|
||||||
IOWarrior_icon(Driver *drvthis, int x, int y, int icon)
|
IOWarrior_icon(Driver *drvthis, int x, int y, int icon)
|
||||||
{
|
{
|
||||||
char heart_open[CELLWIDTH*CELLHEIGHT] = {
|
static unsigned char block_filled[] =
|
||||||
1, 1, 1, 1, 1,
|
{ b_XXXXX,
|
||||||
1, 0, 1, 0, 1,
|
b_XXXXX,
|
||||||
0, 0, 0, 0, 0,
|
b_XXXXX,
|
||||||
0, 0, 0, 0, 0,
|
b_XXXXX,
|
||||||
0, 0, 0, 0, 0,
|
b_XXXXX,
|
||||||
1, 0, 0, 0, 1,
|
b_XXXXX,
|
||||||
1, 1, 0, 1, 1,
|
b_XXXXX,
|
||||||
1, 1, 1, 1, 1 };
|
b_XXXXX };
|
||||||
char heart_filled[CELLWIDTH*CELLHEIGHT] = {
|
static unsigned char heart_open[] =
|
||||||
1, 1, 1, 1, 1,
|
{ b_XXXXX,
|
||||||
1, 0, 1, 0, 1,
|
b_X_X_X,
|
||||||
0, 1, 0, 1, 0,
|
b______,
|
||||||
0, 1, 1, 1, 0,
|
b______,
|
||||||
0, 1, 1, 1, 0,
|
b______,
|
||||||
1, 0, 1, 0, 1,
|
b_X___X,
|
||||||
1, 1, 0, 1, 1,
|
b_XX_XX,
|
||||||
1, 1, 1, 1, 1 };
|
b_XXXXX };
|
||||||
char arrow_up[CELLWIDTH*CELLHEIGHT] = {
|
static unsigned char heart_filled[] =
|
||||||
0, 0, 1, 0, 0,
|
{ b_XXXXX,
|
||||||
0, 1, 1, 1, 0,
|
b_X_X_X,
|
||||||
1, 0, 1, 0, 1,
|
b__X_X_,
|
||||||
0, 0, 1, 0, 0,
|
b__XXX_,
|
||||||
0, 0, 1, 0, 0,
|
b__XXX_,
|
||||||
0, 0, 1, 0, 0,
|
b_X_X_X,
|
||||||
0, 0, 1, 0, 0,
|
b_XX_XX,
|
||||||
0, 0, 0, 0, 0 };
|
b_XXXXX };
|
||||||
char arrow_down[CELLWIDTH*CELLHEIGHT] = {
|
static unsigned char arrow_up[] =
|
||||||
0, 0, 1, 0, 0,
|
{ b___X__,
|
||||||
0, 0, 1, 0, 0,
|
b__XXX_,
|
||||||
0, 0, 1, 0, 0,
|
b_X_X_X,
|
||||||
0, 0, 1, 0, 0,
|
b___X__,
|
||||||
1, 0, 1, 0, 1,
|
b___X__,
|
||||||
0, 1, 1, 1, 0,
|
b___X__,
|
||||||
0, 0, 1, 0, 0,
|
b___X__,
|
||||||
0, 0, 0, 0, 0 };
|
b______ };
|
||||||
char checkbox_off[CELLWIDTH*CELLHEIGHT] = {
|
static unsigned char arrow_down[] =
|
||||||
0, 0, 0, 0, 0,
|
{ b___X__,
|
||||||
0, 0, 0, 0, 0,
|
b___X__,
|
||||||
1, 1, 1, 1, 1,
|
b___X__,
|
||||||
1, 0, 0, 0, 1,
|
b___X__,
|
||||||
1, 0, 0, 0, 1,
|
b_X_X_X,
|
||||||
1, 0, 0, 0, 1,
|
b__XXX_,
|
||||||
1, 1, 1, 1, 1,
|
b___X__,
|
||||||
0, 0, 0, 0, 0 };
|
b______ };
|
||||||
char checkbox_on[CELLWIDTH*CELLHEIGHT] = {
|
static unsigned char arrow_left[] =
|
||||||
0, 0, 1, 0, 0,
|
{ b______,
|
||||||
0, 0, 1, 0, 0,
|
b___X__,
|
||||||
1, 1, 1, 0, 1,
|
b__X___,
|
||||||
1, 0, 1, 1, 0,
|
b_XXXXX,
|
||||||
1, 0, 1, 0, 1,
|
b__X___,
|
||||||
1, 0, 0, 0, 1,
|
b___X__,
|
||||||
1, 1, 1, 1, 1,
|
b______,
|
||||||
0, 0, 0, 0, 0 };
|
b______ };
|
||||||
char checkbox_gray[CELLWIDTH*CELLHEIGHT] = {
|
static unsigned char arrow_right[] =
|
||||||
0, 0, 0, 0, 0,
|
{ b______,
|
||||||
0, 0, 0, 0, 0,
|
b___X__,
|
||||||
1, 1, 1, 1, 1,
|
b____X_,
|
||||||
1, 0, 1, 0, 1,
|
b_XXXXX,
|
||||||
1, 1, 0, 1, 1,
|
b____X_,
|
||||||
1, 0, 1, 0, 1,
|
b___X__,
|
||||||
1, 1, 1, 1, 1,
|
b______,
|
||||||
0, 0, 0, 0, 0 };
|
b______ };
|
||||||
char block_filled[CELLWIDTH*CELLHEIGHT] = {
|
static unsigned char checkbox_off[] =
|
||||||
1, 1, 1, 1, 1,
|
{ b______,
|
||||||
1, 1, 1, 1, 1,
|
b______,
|
||||||
1, 1, 1, 1, 1,
|
b_XXXXX,
|
||||||
1, 1, 1, 1, 1,
|
b_X___X,
|
||||||
1, 1, 1, 1, 1,
|
b_X___X,
|
||||||
1, 1, 1, 1, 1,
|
b_X___X,
|
||||||
1, 1, 1, 1, 1,
|
b_XXXXX,
|
||||||
1, 1, 1, 1, 1 };
|
b______ };
|
||||||
/*
|
static unsigned char checkbox_on[] =
|
||||||
char selector_left[CELLWIDTH*CELLHEIGHT] = {
|
{ b___X__,
|
||||||
0, 1, 0, 0, 0,
|
b___X__,
|
||||||
0, 1, 1, 0, 0,
|
b_XXX_X,
|
||||||
0, 1, 1, 1, 0,
|
b_X_XX_,
|
||||||
0, 1, 1, 1, 1,
|
b_X_X_X,
|
||||||
0, 1, 1, 1, 0,
|
b_X___X,
|
||||||
0, 1, 1, 0, 0,
|
b_XXXXX,
|
||||||
0, 1, 0, 0, 0,
|
b______ };
|
||||||
0, 0, 0, 0, 0 };
|
static unsigned char checkbox_gray[] =
|
||||||
char selector_right[CELLWIDTH*CELLHEIGHT] = {
|
{ b______,
|
||||||
0, 0, 0, 1, 0,
|
b______,
|
||||||
0, 0, 1, 1, 0,
|
b_XXXXX,
|
||||||
0, 1, 1, 1, 0,
|
b_X_X_X,
|
||||||
1, 1, 1, 1, 0,
|
b_XX_XX,
|
||||||
0, 1, 1, 1, 0,
|
b_X_X_X,
|
||||||
0, 0, 1, 1, 0,
|
b_XXXXX,
|
||||||
0, 0, 0, 1, 0,
|
b______ };
|
||||||
0, 0, 0, 0, 0 };
|
static unsigned char selector_left[] =
|
||||||
char ellipsis[CELLWIDTH*CELLHEIGHT] = {
|
{ b__X___,
|
||||||
0, 0, 0, 0, 0,
|
b__XX__,
|
||||||
0, 0, 0, 0, 0,
|
b__XXX_,
|
||||||
0, 0, 0, 0, 0,
|
b__XXXX,
|
||||||
0, 0, 0, 0, 0,
|
b__XXX_,
|
||||||
0, 0, 0, 0, 0,
|
b__XX__,
|
||||||
0, 0, 0, 0, 0,
|
b__X___,
|
||||||
1, 0, 1, 0, 1,
|
b______ };
|
||||||
0, 0, 0, 0, 0 };
|
static unsigned char selector_right[] =
|
||||||
*/
|
{ b____X_,
|
||||||
|
b___XX_,
|
||||||
|
b__XXX_,
|
||||||
|
b_XXXX_,
|
||||||
|
b__XXX_,
|
||||||
|
b___XX_,
|
||||||
|
b____X_,
|
||||||
|
b______ };
|
||||||
|
static unsigned char ellipsis[] =
|
||||||
|
{ b______,
|
||||||
|
b______,
|
||||||
|
b______,
|
||||||
|
b______,
|
||||||
|
b______,
|
||||||
|
b______,
|
||||||
|
b_X_X_X,
|
||||||
|
b______ };
|
||||||
|
|
||||||
/* Yes we know, this is a VERY BAD implementation */
|
/* Yes we know, this is a VERY BAD implementation */
|
||||||
switch (icon) {
|
switch (icon) {
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ MODULE_EXPORT void IOWarrior_vbar(Driver *drvthis, int x, int y, int len, int pr
|
|||||||
MODULE_EXPORT void IOWarrior_hbar(Driver *drvthis, int x, int y, int len, int promille, int options);
|
MODULE_EXPORT void IOWarrior_hbar(Driver *drvthis, int x, int y, int len, int promille, int options);
|
||||||
MODULE_EXPORT void IOWarrior_num(Driver *drvthis, int x, int num);
|
MODULE_EXPORT void IOWarrior_num(Driver *drvthis, int x, int num);
|
||||||
MODULE_EXPORT int IOWarrior_get_free_chars(Driver *drvthis);
|
MODULE_EXPORT int IOWarrior_get_free_chars(Driver *drvthis);
|
||||||
MODULE_EXPORT void IOWarrior_set_char(Driver *drvthis, int n, char *dat);
|
MODULE_EXPORT void IOWarrior_set_char(Driver *drvthis, int n, unsigned char *dat);
|
||||||
MODULE_EXPORT int IOWarrior_icon(Driver *drvthis, int x, int y, int icon);
|
MODULE_EXPORT int IOWarrior_icon(Driver *drvthis, int x, int y, int icon);
|
||||||
MODULE_EXPORT void IOWarrior_output(Driver *drvthis, int on);
|
MODULE_EXPORT void IOWarrior_output(Driver *drvthis, int on);
|
||||||
MODULE_EXPORT const char *IOWarrior_get_info(Driver *drvthis);
|
MODULE_EXPORT const char *IOWarrior_get_info(Driver *drvthis);
|
||||||
|
|||||||
Reference in New Issue
Block a user