📄 cfb8bit.h
字号:
((CARD32 *) (dst))[QuadPixel0] = (pixel); \ break; \ } \ switch ((bits & 0xf0) >> 4) { \ case 0: \ break; \ case 1: \ ((CARD8 *) (dst))[SinglePixel4] = (pixel); \ break; \ case 2: \ ((CARD8 *) (dst))[SinglePixel5] = (pixel); \ break; \ case 3: \ ((CARD16 *) (dst))[DoublePixel2] = (pixel); \ break; \ case 4: \ ((CARD8 *) (dst))[SinglePixel6] = (pixel); \ break; \ case 5: \ ((CARD8 *) (dst))[SinglePixel4] = (pixel); \ ((CARD8 *) (dst))[SinglePixel6] = (pixel); \ break; \ case 6: \ ((CARD8 *) (dst))[SinglePixel5] = (pixel); \ ((CARD8 *) (dst))[SinglePixel6] = (pixel); \ break; \ case 7: \ ((CARD16 *) (dst))[DoublePixel2] = (pixel); \ ((CARD8 *) (dst))[SinglePixel6] = (pixel); \ break; \ case 8: \ ((CARD8 *) (dst))[SinglePixel7] = (pixel); \ break; \ case 9: \ ((CARD8 *) (dst))[SinglePixel4] = (pixel); \ ((CARD8 *) (dst))[SinglePixel7] = (pixel); \ break; \ case 10: \ ((CARD8 *) (dst))[SinglePixel5] = (pixel); \ ((CARD8 *) (dst))[SinglePixel7] = (pixel); \ break; \ case 11: \ ((CARD16 *) (dst))[DoublePixel2] = (pixel); \ ((CARD8 *) (dst))[SinglePixel7] = (pixel); \ break; \ case 12: \ ((CARD16 *) (dst))[DoublePixel3] = (pixel); \ break; \ case 13: \ ((CARD8 *) (dst))[SinglePixel4] = (pixel); \ ((CARD16 *) (dst))[DoublePixel3] = (pixel); \ break; \ case 14: \ ((CARD8 *) (dst))[SinglePixel5] = (pixel); \ ((CARD16 *) (dst))[DoublePixel3] = (pixel); \ break; \ case 15: \ ((CARD32 *) (dst))[QuadPixel1] = (pixel); \ break; \ } \ }#endif /* PGSZ == 64 */#if PGSZ == 32#define SwitchBitGroup(dst,pixel,bits) { \ switch (bits) { \ case 0: \ break; \ case 1: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel0] = (pixel);) \ break; \ case 2: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel1] = (pixel);) \ break; \ case 3: \ SwitchBitsLoop (((CARD16 *) (dst))[DoublePixel0] = (pixel);) \ break; \ case 4: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel2] = (pixel);) \ break; \ case 5: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel0] = (pixel); \ ((CARD8 *) (dst))[SinglePixel2] = (pixel);) \ break; \ case 6: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel1] = (pixel); \ ((CARD8 *) (dst))[SinglePixel2] = (pixel);) \ break; \ case 7: \ SwitchBitsLoop (((CARD16 *) (dst))[DoublePixel0] = (pixel); \ ((CARD8 *) (dst))[SinglePixel2] = (pixel);) \ break; \ case 8: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel3] = (pixel);) \ break; \ case 9: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel0] = (pixel); \ ((CARD8 *) (dst))[SinglePixel3] = (pixel);) \ break; \ case 10: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel1] = (pixel); \ ((CARD8 *) (dst))[SinglePixel3] = (pixel);) \ break; \ case 11: \ SwitchBitsLoop (((CARD16 *) (dst))[DoublePixel0] = (pixel); \ ((CARD8 *) (dst))[SinglePixel3] = (pixel);) \ break; \ case 12: \ SwitchBitsLoop (((CARD16 *) (dst))[DoublePixel1] = (pixel);) \ break; \ case 13: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel0] = (pixel); \ ((CARD16 *) (dst))[DoublePixel1] = (pixel);) \ break; \ case 14: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel1] = (pixel); \ ((CARD16 *) (dst))[DoublePixel1] = (pixel);) \ break; \ case 15: \ SwitchBitsLoop (((CARD32 *) (dst))[0] = (pixel);) \ break; \ } \}#else /* PGSZ == 64 */#define SwitchBitGroup(dst,pixel,bits) { \ if ( bits == 0xff ) \ SwitchBitsLoop (((PixelGroup *) (dst))[OctaPixel0] = (pixel);) \ else { \ switch (bits & 0x0f) { \ case 0: \ break; \ case 1: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel0] = (pixel);) \ break; \ case 2: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel1] = (pixel);) \ break; \ case 3: \ SwitchBitsLoop (((CARD16 *) (dst))[DoublePixel0] = (pixel);)\ break; \ case 4: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel2] = (pixel);) \ break; \ case 5: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel0] = (pixel); \ ((CARD8 *) (dst))[SinglePixel2] = (pixel);) \ break; \ case 6: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel1] = (pixel); \ ((CARD8 *) (dst))[SinglePixel2] = (pixel);) \ break; \ case 7: \ SwitchBitsLoop (((CARD16 *) (dst))[DoublePixel0] = (pixel); \ ((CARD8 *) (dst))[SinglePixel2] = (pixel);) \ break; \ case 8: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel3] = (pixel);) \ break; \ case 9: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel0] = (pixel); \ ((CARD8 *) (dst))[SinglePixel3] = (pixel);) \ break; \ case 10: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel1] = (pixel); \ ((CARD8 *) (dst))[SinglePixel3] = (pixel);) \ break; \ case 11: \ SwitchBitsLoop (((CARD16 *) (dst))[DoublePixel0] = (pixel); \ ((CARD8 *) (dst))[SinglePixel3] = (pixel);) \ break; \ case 12: \ SwitchBitsLoop (((CARD16 *) (dst))[DoublePixel1] = (pixel);)\ break; \ case 13: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel0] = (pixel); \ ((CARD16 *) (dst))[DoublePixel1] = (pixel);)\ break; \ case 14: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel1] = (pixel); \ ((CARD16 *) (dst))[DoublePixel1] = (pixel);)\ break; \ case 15: \ SwitchBitsLoop (((CARD32 *) (dst))[QuadPixel0] = (pixel);) \ break; \ } \ switch ((bits & 0xf0) >> 4) { \ case 0: \ break; \ case 1: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel4] = (pixel);) \ break; \ case 2: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel5] = (pixel);) \ break; \ case 3: \ SwitchBitsLoop (((CARD16 *) (dst))[DoublePixel2] = (pixel);)\ break; \ case 4: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel6] = (pixel);) \ break; \ case 5: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel4] = (pixel); \ ((CARD8 *) (dst))[SinglePixel6] = (pixel);) \ break; \ case 6: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel5] = (pixel); \ ((CARD8 *) (dst))[SinglePixel6] = (pixel);) \ break; \ case 7: \ SwitchBitsLoop (((CARD16 *) (dst))[DoublePixel2] = (pixel); \ ((CARD8 *) (dst))[SinglePixel6] = (pixel);) \ break; \ case 8: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel7] = (pixel);) \ break; \ case 9: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel4] = (pixel); \ ((CARD8 *) (dst))[SinglePixel7] = (pixel);) \ break; \ case 10: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel5] = (pixel); \ ((CARD8 *) (dst))[SinglePixel7] = (pixel);) \ break; \ case 11: \ SwitchBitsLoop (((CARD16 *) (dst))[DoublePixel2] = (pixel); \ ((CARD8 *) (dst))[SinglePixel7] = (pixel);) \ break; \ case 12: \ SwitchBitsLoop (((CARD16 *) (dst))[DoublePixel3] = (pixel);)\ break; \ case 13: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel4] = (pixel); \ ((CARD16 *) (dst))[DoublePixel3] = (pixel);)\ break; \ case 14: \ SwitchBitsLoop (((CARD8 *) (dst))[SinglePixel5] = (pixel); \ ((CARD16 *) (dst))[DoublePixel3] = (pixel);)\ break; \ case 15: \ SwitchBitsLoop (((CARD32 *) (dst))[QuadPixel1] = (pixel);) \ break; \ } \ } \}#endif /* PGSZ == 64 */#endif /* PSZ == 8 */#if PSZ == 16#if PGSZ == 32#define WriteBitGroup(dst,pixel,bits) \ switch (bits) { \ case 0: \ break; \ case 1: \ ((CARD16 *) (dst))[SinglePixel0] = (pixel); \ break; \ case 2: \ ((CARD16 *) (dst))[SinglePixel1] = (pixel); \ break; \ case 3: \ ((CARD32 *) (dst))[DoublePixel0] = (pixel); \ break; \ case 4: \ ((CARD16 *) (dst))[SinglePixel2] = (pixel); \ break; \ case 5: \ ((CARD16 *) (dst))[SinglePixel0] = (pixel); \ ((CARD16 *) (dst))[SinglePixel2] = (pixel); \ break; \ case 6: \ ((CARD16 *) (dst))[SinglePixel1] = (pixel); \ ((CARD16 *) (dst))[SinglePixel2] = (pixel); \ break; \ case 7: \ ((CARD32 *) (dst))[DoublePixel0] = (pixel); \ ((CARD16 *) (dst))[SinglePixel2] = (pixel); \ break; \ case 8: \ ((CARD16 *) (dst))[SinglePixel3] = (pixel); \ break; \ case 9: \ ((CARD16 *) (dst))[SinglePixel0] = (pixel); \ ((CARD16 *) (dst))[SinglePixel3] = (pixel); \ break; \ case 10: \ ((CARD16 *) (dst))[SinglePixel1] = (pixel); \ ((CARD16 *) (dst))[SinglePixel3] = (pixel); \ break; \ case 11: \ ((CARD32 *) (dst))[DoublePixel0] = (pixel); \ ((CARD16 *) (dst))[SinglePixel3] = (pixel); \ break; \ case 12: \ ((CARD32 *) (dst))[DoublePixel1] = (pixel); \ break; \ case 13: \ ((CARD16 *) (dst))[SinglePixel0] = (pixel); \ ((CARD32 *) (dst))[DoublePixel1] = (pixel); \ break; \ case 14: \ ((CARD16 *) (dst))[SinglePixel1] = (pixel); \ ((CARD32 *) (dst))[DoublePixel1] = (pixel); \ break; \ case 15: \ ((CARD32 *) (dst))[DoublePixel0] = (pixel); \ ((CARD32 *) (dst))[DoublePixel1] = (pixel); \ break; \ }#else /* PGSZ == 64 */#define WriteBitGroup(dst,pixel,bits) \ if ( bits == 0xff ) { \ ((PixelGroup *) (dst))[QuadPixel0] = (pixel); \ ((PixelGroup *) (dst))[QuadPixel1] = (pixel); \ } \ else { \ switch (bits & 0x0f) { \ case 0: \ break; \ case 1: \ ((CARD16 *) (dst))[SinglePixel0] = (pixel); \ break; \ case 2: \ ((CARD16 *) (dst))[SinglePixel1] = (pixel); \ break; \ case 3: \ ((CARD32 *) (dst))[DoublePixel0] = (pixel); \ break; \ case 4: \ ((CARD16 *) (dst))[SinglePixel2] = (pixel); \ break; \ case 5: \ ((CARD16 *) (dst))[SinglePixel0] = (pixel); \ ((CARD16 *) (dst))[SinglePixel2] = (pixel); \ break; \ case 6: \ ((CARD16 *) (dst))[SinglePixel1] = (pixel); \ ((CARD16 *) (dst))[SinglePixel2] = (pixel); \ break; \ case 7: \ ((CARD32 *) (dst))[DoublePixel0] = (pixel); \ ((CARD16 *) (dst))[SinglePixel2] = (pixel); \ break; \ case 8: \ ((CARD16 *) (dst))[SinglePixel3] = (pixel); \ break; \ case 9: \ ((CARD16 *) (dst))[SinglePixel0] = (pixel); \ ((CARD16 *) (dst))[SinglePixel3] = (pixel); \ break; \ case 10: \ ((CARD16 *) (dst))[SinglePixel1] = (pixel); \ ((CARD16 *) (dst))[SinglePixel3] = (pixel); \ break; \ case 11: \ ((CARD32 *) (dst))[DoublePixel0] = (pixel); \ ((CARD16 *) (dst))[SinglePixel3] = (pixel); \ break; \ case 12: \ ((CARD32 *) (dst))[DoublePixel1] = (pixel); \ break; \ case 13: \ ((CARD16 *) (dst))[SinglePixel0] = (pixel); \ ((CARD32 *) (dst))[DoublePixel1] = (pixel); \ break; \ case 14: \ ((CARD16 *) (dst))[SinglePixel1] = (pixel); \ ((CARD32 *) (dst))[DoublePixel1] = (pixel); \ break; \ case 15: \ ((CARD32 *) (dst))[DoublePixel0] = (pixel); \ ((CARD32 *) (dst))[DoublePixel1] = (pixel); \ break; \ } \ switch ((bits & 0xf0) >> 4) { \ case 0: \ break; \ case 1: \ ((CARD16 *) (dst))[SinglePixel4] = (pixel); \ break; \ case 2: \ ((CARD16 *) (dst))[SinglePixel5] = (pixel); \ break; \ case 3: \ ((CARD32 *) (dst))[DoublePixel2] = (pixel); \ break; \ case 4: \ ((CARD16 *) (dst))[SinglePixel6] = (pixel); \ break; \ case 5: \ ((CARD16 *) (dst))[SinglePixel4] = (pixel); \ ((CARD16 *) (dst))[SinglePixel6] = (pixel); \ break; \ case 6: \ ((CARD16 *) (dst))[SinglePixel5] = (pixel); \
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -