📄 m1b_lin.c
字号:
if(pxBit == 0)
{
dstBgnByte++;
pxBit = 0x80;
}
}
}
return;
}
/* Y major top->bottom, right->left masked, OR. */
void M1BMOYMRL(void)
{
int i;
byte pxBit;
pxBit = (byte) (0x80 >> (dRect.Xmin & 0x07));
dstBgnByte = dRect.Xmin >> 3;
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + dstBgnByte;
*dstPtr = *dstPtr | pxBit;
rowTablePtr[0]++;
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
pxBit = (pxBit << 1);
if(pxBit == 0)
{
dstBgnByte--;
pxBit = 0x01;
}
}
}
return;
}
/* X major top->bottom, left->right masked, OR. */
/* #define M1BMOXMLR M1BMOH */
/* Diagonal top->bottom, left->right masked, OR. */
/* #define M1BMODLR M1BMOH */
/* Horizontal left->right masked, OR. */
void M1BMOH(void)
{
int i;
byte pxBit;
pxBit = (byte) (0x80 >> (dRect.Xmin & 0x07));
dstBgnByte = dRect.Xmin >> 3;
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + dstBgnByte;
*dstPtr = *dstPtr | pxBit;
pxBit = (pxBit >> 1);
if(pxBit == 0)
{
dstBgnByte++;
pxBit = 0x80;
}
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
rowTablePtr[0]++;
}
}
return;
}
/* X major top->bottom, right->left masked, OR. */
/* #define M1BMOXMRL M1BMODRL */
/* Diagonal top->bottom, right->left masked, OR. */
void M1BMODRL(void)
{
int i;
byte pxBit;
pxBit = (byte) (0x80 >> (dRect.Xmin & 0x07));
dstBgnByte = dRect.Xmin >> 3;
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + dstBgnByte;
*dstPtr = *dstPtr | pxBit;
pxBit = (pxBit << 1);
if(pxBit == 0)
{
dstBgnByte--;
pxBit = 0x01;
}
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
rowTablePtr[0]++;
}
}
return;
}
/* Y major top->bottom, left->right masked, OR NOT dest. */
/* #define M1BMOYMLR_ND M1BMOV_ND */
/* Y major top->bottom, vertical masked, OR NOT dest. */
void M1BMOV_ND(void)
{
int i;
byte pxBit;
pxBit = (byte) (0x80 >> (dRect.Xmin & 0x07));
dstBgnByte = dRect.Xmin >> 3;
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + dstBgnByte;
*dstPtr = *dstPtr ^ pxBit;
if(lclPenColor) *dstPtr = *dstPtr | pxBit;
rowTablePtr[0]++;
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
pxBit = (pxBit >> 1);
if(pxBit == 0)
{
dstBgnByte++;
pxBit = 0x80;
}
}
}
return;
}
/* Y major top->bottom, right->left masked, OR NOT dest. */
void M1BMOYMRL_ND(void)
{
int i;
byte pxBit;
pxBit = (byte) (0x80 >> (dRect.Xmin & 0x07));
dstBgnByte = dRect.Xmin >> 3;
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + dstBgnByte;
*dstPtr = *dstPtr ^ pxBit;
if(lclPenColor) *dstPtr = *dstPtr | pxBit;
rowTablePtr[0]++;
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
pxBit = (pxBit << 1);
if(pxBit == 0)
{
dstBgnByte--;
pxBit = 0x01;
}
}
}
return;
}
/* X major top->bottom, left->right masked, OR NOT dest. */
/* #define M1BMOXMLR_ND M1BMOH_ND */
/* Diagonal top->bottom, left->right masked, OR NOT dest. */
/* #define M1BMODLR_ND M1BMOH_ND */
/* Horizontal left->right masked, OR NOT dest. */
void M1BMOH_ND(void)
{
int i;
byte pxBit;
pxBit = (byte) (0x80 >> (dRect.Xmin & 0x07));
dstBgnByte = dRect.Xmin >> 3;
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + dstBgnByte;
*dstPtr = *dstPtr ^ pxBit;
if(lclPenColor) *dstPtr = *dstPtr | pxBit;
pxBit = (pxBit >> 1);
if(pxBit == 0)
{
dstBgnByte++;
pxBit = 0x80;
}
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
rowTablePtr[0]++;
}
}
return;
}
/* X major top->bottom, right->left masked, OR NOT dest. */
/* #define M1BMOXMRL_ND M1BMODRL_ND */
/* Diagonal top->bottom, right->left masked, OR NOT dest. */
void M1BMODRL_ND(void)
{
int i;
byte pxBit;
pxBit = (byte) (0x80 >> (dRect.Xmin & 0x07));
dstBgnByte = dRect.Xmin >> 3;
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + dstBgnByte;
*dstPtr = *dstPtr ^ pxBit;
if(lclPenColor) *dstPtr = *dstPtr | pxBit;
pxBit = (pxBit << 1);
if(pxBit == 0)
{
dstBgnByte--;
pxBit = 0x01;
}
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
rowTablePtr[0]++;
}
}
return;
}
/* Y major top->bottom, left->right masked, AND. */
/* #define M1BMAYMLR M1BMAV */
/* Y major top->bottom, vertical masked, AND. */
void M1BMAV(void)
{
int i;
byte pxBit;
pxBit = (byte) (0x80 >> (dRect.Xmin & 0x07));
dstBgnByte = dRect.Xmin >> 3;
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + dstBgnByte;
*dstPtr = *dstPtr & ~pxBit;
rowTablePtr[0]++;
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
pxBit = (pxBit >> 1);
if(pxBit == 0)
{
dstBgnByte++;
pxBit = 0x80;
}
}
}
return;
}
/* Y major top->bottom, right->left masked, AND. */
void M1BMAYMRL(void)
{
int i;
byte pxBit;
pxBit = (byte) (0x80 >> (dRect.Xmin & 0x07));
dstBgnByte = dRect.Xmin >> 3;
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + dstBgnByte;
*dstPtr = *dstPtr & ~pxBit;
rowTablePtr[0]++;
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
pxBit = (pxBit << 1);
if(pxBit == 0)
{
dstBgnByte--;
pxBit = 0x01;
}
}
}
return;
}
/* X major top->bottom, left->right masked, AND. */
/* #define M1BMAXMLR M1BMAH */
/* Diagonal top->bottom, left->right masked, AND. */
/* #define M1BMADLR M1BMAH */
/* Horizontal left->right masked, AND. */
void M1BMAH(void)
{
int i;
byte pxBit;
pxBit = (byte) (0x80 >> (dRect.Xmin & 0x07));
dstBgnByte = dRect.Xmin >> 3;
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + dstBgnByte;
*dstPtr = *dstPtr & ~pxBit;
pxBit = (pxBit >> 1);
if(pxBit == 0)
{
dstBgnByte++;
pxBit = 0x80;
}
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
rowTablePtr[0]++;
}
}
return;
}
/* X major top->bottom, right->left masked, AND. */
/* #define M1BMAXMRL M1BMADRL */
/* Diagonal top->bottom, right->left masked, AND. */
void M1BMADRL(void)
{
int i;
byte pxBit;
pxBit = (byte) (0x80 >> (dRect.Xmin & 0x07));
dstBgnByte = dRect.Xmin >> 3;
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + dstBgnByte;
*dstPtr = *dstPtr & ~pxBit;
pxBit = (pxBit << 1);
if(pxBit == 0)
{
dstBgnByte--;
pxBit = 0x01;
}
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
rowTablePtr[0]++;
}
}
return;
}
/* Y major top->bottom, left->right masked, AND NOT dest. */
/* #define M1BMAYMLR_ND M1BMAV_ND */
/* Y major top->bottom, vertical masked, AND NOT dest. */
void M1BMAV_ND(void)
{
int i;
byte pxBit;
pxBit = (byte) (0x80 >> (dRect.Xmin & 0x07));
dstBgnByte = dRect.Xmin >> 3;
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + dstBgnByte;
*dstPtr = *dstPtr ^ pxBit;
if(!(lclPenColor)) *dstPtr = *dstPtr & ~pxBit;
rowTablePtr[0]++;
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
pxBit = (pxBit >> 1);
if(pxBit == 0)
{
dstBgnByte++;
pxBit = 0x80;
}
}
}
return;
}
/* Y major top->bottom, right->left masked, AND NOT dest. */
void M1BMAYMRL_ND(void)
{
int i;
byte pxBit;
pxBit = (byte) (0x80 >> (dRect.Xmin & 0x07));
dstBgnByte = dRect.Xmin >> 3;
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + dstBgnByte;
*dstPtr = *dstPtr ^ pxBit;
if(!(lclPenColor)) *dstPtr = *dstPtr & ~pxBit;
rowTablePtr[0]++;
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
pxBit = (pxBit << 1);
if(pxBit == 0)
{
dstBgnByte--;
pxBit = 0x01;
}
}
}
return;
}
/* X major top->bottom, left->right masked, AND NOT dest. */
/* #define M1BMAXMLR_ND M1BMAH_ND */
/* Diagonal top->bottom, left->right masked, AND NOT dest. */
/* #define M1BMADLR_ND M1BMAH_ND */
/* Horizontal left->right masked, AND NOT dest. */
void M1BMAH_ND(void)
{
int i;
byte pxBit;
pxBit = (byte) (0x80 >> (dRect.Xmin & 0x07));
dstBgnByte = dRect.Xmin >> 3;
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + dstBgnByte;
*dstPtr = *dstPtr ^ pxBit;
if(!(lclPenColor)) *dstPtr = *dstPtr & ~pxBit;
pxBit = (pxBit >> 1);
if(pxBit == 0)
{
dstBgnByte++;
pxBit = 0x80;
}
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
rowTablePtr[0]++;
}
}
return;
}
/* X major top->bottom, right->left masked, AND NOT dest. */
/* #define M1BMAXMRL_ND M1BMADRL_ND */
/* Diagonal top->bottom, right->left masked, AND NOT dest. */
void M1BMADRL_ND(void)
{
int i;
byte pxBit;
pxBit = (byte) (0x80 >> (dRect.Xmin & 0x07));
dstBgnByte = dRect.Xmin >> 3;
for (i = 0; i <= majorAxisLengthM1; i++)
{
dstPtr = (byte *) *rowTablePtr[0] + dstBgnByte;
*dstPtr = *dstPtr ^ pxBit;
if(!(lclPenColor)) *dstPtr = *dstPtr & ~pxBit;
pxBit = (pxBit << 1);
if(pxBit == 0)
{
dstBgnByte--;
pxBit = 0x01;
}
errTermL += errTermAdjUpL;
if (errTermL >= 0)
{ /* minor axis advance */
errTermL -= errTermAdjDownL;
rowTablePtr[0]++;
}
}
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -