📄 lcd_lin.c
字号:
errTermL -= errTermAdjDownL;
dRect.Xmin++;
}
}
return;
}
/* Y major top->bottom, right->left masked, XOR. */
void IMXYMRL(void)
{
int i;
byte lclMask;
lclMask = lclPortMask & lclPenColor; /* we'll leave all
masked-off bits unchanged */
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + ((dRect.Xmin & 0xfffe) << 1)
+ (dRect.Xmin & 1);
*dstPtr = (*dstPtr ^ lclMask);
rowTablePtr[0]++;
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
dRect.Xmin--;
}
}
return;
}
/* X major top->bottom, left->right masked, XOR. */
/* #define IMXXMLR IMXH */
/* Diagonal top->bottom, left->right masked, XOR. */
/* #define IMXDLR IMXH */
/* Horizontal left->right masked, XOR. */
void IMXH(void)
{
int i;
byte lclMask;
lclMask = lclPortMask & lclPenColor; /* we'll leave all
masked-off bits unchanged */
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + ((dRect.Xmin & 0xfffe) << 1)
+ (dRect.Xmin & 1);
*dstPtr = (*dstPtr ^ lclMask);
dRect.Xmin++;
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
rowTablePtr[0]++;
}
}
return;
}
/* X major top->bottom, right->left masked, XOR. */
/* #define IMXXMRL IMXDRL */
/* Diagonal top->bottom, right->left masked, XOR. */
void IMXDRL(void)
{
int i;
byte lclMask;
lclMask = lclPortMask & lclPenColor; /* we'll leave all
masked-off bits unchanged */
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + ((dRect.Xmin & 0xfffe) << 1)
+ (dRect.Xmin & 1);
*dstPtr = (*dstPtr ^ lclMask);
dRect.Xmin--;
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
rowTablePtr[0]++;
}
}
return;
}
/* Y major top->bottom, left->right masked, OR. */
/* #define IMOYMLR IMOV */
/* Y major top->bottom, vertical masked, OR. */
void IMOV(void)
{
int i;
byte lclMask;
lclMask = lclPortMask & lclPenColor; /* we'll leave all
masked-off bits unchanged */
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + ((dRect.Xmin & 0xfffe) << 1)
+ (dRect.Xmin & 1);
*dstPtr = (*dstPtr | lclMask);
rowTablePtr[0]++;
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
dRect.Xmin++;
}
}
return;
}
/* Y major top->bottom, right->left masked, OR. */
void IMOYMRL(void)
{
int i;
byte lclMask;
lclMask = lclPortMask & lclPenColor; /* we'll leave all
masked-off bits unchanged */
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + ((dRect.Xmin & 0xfffe) << 1)
+ (dRect.Xmin & 1);
*dstPtr = (*dstPtr | lclMask);
rowTablePtr[0]++;
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
dRect.Xmin--;
}
}
return;
}
/* X major top->bottom, left->right masked, OR. */
/* #define IMOXMLR IMOH */
/* Diagonal top->bottom, left->right masked, OR. */
/* #define IMODLR IMOH */
/* Horizontal left->right masked, OR. */
void IMOH(void)
{
int i;
byte lclMask;
lclMask = lclPortMask & lclPenColor; /* we'll leave all
masked-off bits unchanged */
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + ((dRect.Xmin & 0xfffe) << 1)
+ (dRect.Xmin & 1);
*dstPtr = (*dstPtr | lclMask);
dRect.Xmin++;
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
rowTablePtr[0]++;
}
}
return;
}
/* X major top->bottom, right->left masked, OR. */
/* #define IMOXMRL IMODRL */
/* Diagonal top->bottom, right->left masked, OR. */
void IMODRL(void)
{
int i;
byte lclMask;
lclMask = lclPortMask & lclPenColor; /* we'll leave all
masked-off bits unchanged */
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + ((dRect.Xmin & 0xfffe) << 1)
+ (dRect.Xmin & 1);
*dstPtr = (*dstPtr | lclMask);
dRect.Xmin--;
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
rowTablePtr[0]++;
}
}
return;
}
/* Y major top->bottom, left->right masked, OR NOT dest. */
/* #define IMOYMLR_ND IMOV_ND */
/* Y major top->bottom, vertical masked, OR NOT dest. */
void IMOV_ND(void)
{
int i;
byte lclMask;
lclMask = lclPortMask & lclPenColor; /* we'll leave all
masked-off bits unchanged */
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + ((dRect.Xmin & 0xfffe) << 1)
+ (dRect.Xmin & 1);
*dstPtr = (*dstPtr ^ lclPortMask) | lclMask;
rowTablePtr[0]++;
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
dRect.Xmin++;
}
}
return;
}
/* Y major top->bottom, right->left masked, OR NOT dest. */
void IMOYMRL_ND(void)
{
int i;
byte lclMask;
lclMask = lclPortMask & lclPenColor; /* we'll leave all
masked-off bits unchanged */
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + ((dRect.Xmin & 0xfffe) << 1)
+ (dRect.Xmin & 1);
*dstPtr = (*dstPtr ^ lclPortMask) | lclMask;
rowTablePtr[0]++;
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
dRect.Xmin--;
}
}
return;
}
/* X major top->bottom, left->right masked, OR NOT dest. */
/* #define IMOXMLR_ND IMOH_ND */
/* Diagonal top->bottom, left->right masked, OR NOT dest. */
/* #define IMODLR_ND IMOH_ND */
/* Horizontal left->right masked, OR NOT dest. */
void IMOH_ND(void)
{
int i;
byte lclMask;
lclMask = lclPortMask & lclPenColor; /* we'll leave all
masked-off bits unchanged */
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + ((dRect.Xmin & 0xfffe) << 1)
+ (dRect.Xmin & 1);
*dstPtr = (*dstPtr ^ lclPortMask) | lclMask;
dRect.Xmin++;
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
rowTablePtr[0]++;
}
}
return;
}
/* X major top->bottom, right->left masked, OR NOT dest. */
/* #define IMOXMRL_ND IMODRL_ND */
/* Diagonal top->bottom, right->left masked, OR NOT dest. */
void IMODRL_ND(void)
{
int i;
byte lclMask;
lclMask = lclPortMask & lclPenColor; /* we'll leave all
masked-off bits unchanged */
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + ((dRect.Xmin & 0xfffe) << 1)
+ (dRect.Xmin & 1);
*dstPtr = (*dstPtr ^ lclPortMask) | lclMask;
dRect.Xmin--;
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
rowTablePtr[0]++;
}
}
return;
}
/* Y major top->bottom, left->right masked, AND. */
/* #define IMAYMLR IMAV */
/* Y major top->bottom, vertical masked, AND. */
void IMAV(void)
{
int i;
byte lclMask;
lclMask = (~lclPortMask) | lclPenColor; /* we'll leave all
masked-off bits unchanged */
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + ((dRect.Xmin & 0xfffe) << 1)
+ (dRect.Xmin & 1);
*dstPtr = (*dstPtr & lclMask);
rowTablePtr[0]++;
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
dRect.Xmin++;
}
}
return;
}
/* Y major top->bottom, right->left masked, AND. */
void IMAYMRL(void)
{
int i;
byte lclMask;
lclMask = (~lclPortMask) | lclPenColor; /* we'll leave all
masked-off bits unchanged */
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + ((dRect.Xmin & 0xfffe) << 1)
+ (dRect.Xmin & 1);
*dstPtr = (*dstPtr & lclMask);
rowTablePtr[0]++;
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
dRect.Xmin--;
}
}
return;
}
/* X major top->bottom, left->right masked, AND. */
/* #define IMAXMLR IMAH */
/* Diagonal top->bottom, left->right masked, AND. */
/* #define IMADLR IMAH */
/* Horizontal left->right masked, AND. */
void IMAH(void)
{
int i;
byte lclMask;
lclMask = (~lclPortMask) | lclPenColor; /* we'll leave all
masked-off bits unchanged */
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + ((dRect.Xmin & 0xfffe) << 1)
+ (dRect.Xmin & 1);
*dstPtr = (*dstPtr & lclMask);
dRect.Xmin++;
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
rowTablePtr[0]++;
}
}
return;
}
/* X major top->bottom, right->left masked, AND. */
/* #define IMAXMRL IMADRL */
/* Diagonal top->bottom, right->left masked, AND. */
void IMADRL(void)
{
int i;
byte lclMask;
lclMask = (~lclPortMask) | lclPenColor; /* we'll leave all
masked-off bits unchanged */
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + ((dRect.Xmin & 0xfffe) << 1)
+ (dRect.Xmin & 1);
*dstPtr = (*dstPtr & lclMask);
dRect.Xmin--;
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
rowTablePtr[0]++;
}
}
return;
}
/* Y major top->bottom, left->right masked, AND NOT dest. */
/* #define IMAYMLR_ND IMAV_ND */
/* Y major top->bottom, vertical masked, AND NOT dest. */
void IMAV_ND(void)
{
int i;
byte lclMask;
lclMask = (~lclPortMask) | lclPenColor; /* we'll leave all
masked-off bits unchanged */
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + ((dRect.Xmin & 0xfffe) << 1)
+ (dRect.Xmin & 1);
*dstPtr = (*dstPtr ^ lclPortMask) & lclMask;
rowTablePtr[0]++;
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
dRect.Xmin++;
}
}
return;
}
/* Y major top->bottom, right->left masked, AND NOT dest. */
void IMAYMRL_ND(void)
{
int i;
byte lclMask;
lclMask = (~lclPortMask) | lclPenColor; /* we'll leave all
masked-off bits unchanged */
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + ((dRect.Xmin & 0xfffe) << 1)
+ (dRect.Xmin & 1);
*dstPtr = (*dstPtr ^ lclPortMask) & lclMask;
rowTablePtr[0]++;
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
dRect.Xmin--;
}
}
return;
}
/* X major top->bottom, left->right masked, AND NOT dest. */
/* #define IMAXMLR_ND IMAH_ND */
/* Diagonal top->bottom, left->right masked, AND NOT dest. */
/* #define IMADLR_ND IMAH_ND */
/* Horizontal left->right masked, AND NOT dest. */
void IMAH_ND(void)
{
int i;
byte lclMask;
lclMask = (~lclPortMask) | lclPenColor; /* we'll leave all
masked-off bits unchanged */
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + ((dRect.Xmin & 0xfffe) << 1)
+ (dRect.Xmin & 1);
*dstPtr = (*dstPtr ^ lclPortMask) & lclMask;
dRect.Xmin++;
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
rowTablePtr[0]++;
}
}
return;
}
/* X major top->bottom, right->left masked, AND NOT dest. */
/* #define IMAXMRL_ND IMADRL_ND */
/* Diagonal top->bottom, right->left masked, AND NOT dest. */
void IMADRL_ND(void)
{
int i;
byte lclMask;
lclMask = (~lclPortMask) | lclPenColor; /* we'll leave all
masked-off bits unchanged */
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + ((dRect.Xmin & 0xfffe) << 1)
+ (dRect.Xmin & 1);
*dstPtr = (*dstPtr ^ lclPortMask) & lclMask;
dRect.Xmin--;
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
rowTablePtr[0]++;
}
}
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -