Defines | |
| #define | EVENODD_LINE_UNROLL_INIT() |
| #define | EVENODD_LINE_UNROLL_0(aScanline, aX, aSlope, aOffsets) |
| #define | EVENODD_LINE_UNROLL_1(aScanline, aX, aSlope, aOffsets) |
| #define | EVENODD_LINE_UNROLL_2(aScanline, aX, aSlope, aOffsets) |
| #define | EVENODD_LINE_UNROLL_3(aScanline, aX, aSlope, aOffsets) |
| #define | EVENODD_LINE_UNROLL_4(aScanline, aX, aSlope, aOffsets) |
| #define | EVENODD_LINE_UNROLL_5(aScanline, aX, aSlope, aOffsets) |
| #define | EVENODD_LINE_UNROLL_6(aScanline, aX, aSlope, aOffsets) |
| #define | EVENODD_LINE_UNROLL_7(aScanline, aX, aSlope, aOffsets) |
| #define | NONZERO_LINE_UNROLL_INIT() |
| #define | NONZERO_LINE_UNROLL_0(aWindingBuffer, aX, aSlope, aOffsets, aWinding) |
| #define | NONZERO_LINE_UNROLL_1(aWindingBuffer, aX, aSlope, aOffsets, aWinding) |
| #define | NONZERO_LINE_UNROLL_2(aWindingBuffer, aX, aSlope, aOffsets, aWinding) |
| #define | NONZERO_LINE_UNROLL_3(aWindingBuffer, aX, aSlope, aOffsets, aWinding) |
| #define | NONZERO_LINE_UNROLL_4(aWindingBuffer, aX, aSlope, aOffsets, aWinding) |
| #define | NONZERO_LINE_UNROLL_5(aWindingBuffer, aX, aSlope, aOffsets, aWinding) |
| #define | NONZERO_LINE_UNROLL_6(aWindingBuffer, aX, aSlope, aOffsets, aWinding) |
| #define | NONZERO_LINE_UNROLL_7(aWindingBuffer, aX, aSlope, aOffsets, aWinding) |
Scanline edge-flag algorithm for antialiasing
Copyright (c) 2005-2007 Kiia Kallio
http://mlab.uiah.fi/~kkallio/antialiasing/
This code is distributed under the three-clause BSD license. Read the LICENSE file or visit the URL above for details.
|
|
Value: __evenodd_line_xp__ = aX + aOffsets[0]; \
aX += aSlope; \
__evenodd_line_xp__ = FIXED_TO_INT(__evenodd_line_xp__); \
aScanline[__evenodd_line_xp__] ^= __evenodd_line_mask__; \
__evenodd_line_mask__ <<= 1;
|
|
|
Value: __evenodd_line_xp__ = aX + aOffsets[1]; \
aX += aSlope; \
__evenodd_line_xp__ = FIXED_TO_INT(__evenodd_line_xp__); \
aScanline[__evenodd_line_xp__] ^= __evenodd_line_mask__; \
__evenodd_line_mask__ <<= 1;
|
|
|
Value: __evenodd_line_xp__ = aX + aOffsets[2]; \
aX += aSlope; \
__evenodd_line_xp__ = FIXED_TO_INT(__evenodd_line_xp__); \
aScanline[__evenodd_line_xp__] ^= __evenodd_line_mask__; \
__evenodd_line_mask__ <<= 1;
|
|
|
Value: __evenodd_line_xp__ = aX + aOffsets[3]; \
aX += aSlope; \
__evenodd_line_xp__ = FIXED_TO_INT(__evenodd_line_xp__); \
aScanline[__evenodd_line_xp__] ^= __evenodd_line_mask__; \
__evenodd_line_mask__ <<= 1;
|
|
|
Value: __evenodd_line_xp__ = aX + aOffsets[4]; \
aX += aSlope; \
__evenodd_line_xp__ = FIXED_TO_INT(__evenodd_line_xp__); \
aScanline[__evenodd_line_xp__] ^= __evenodd_line_mask__; \
__evenodd_line_mask__ <<= 1;
|
|
|
Value: __evenodd_line_xp__ = aX + aOffsets[5]; \
aX += aSlope; \
__evenodd_line_xp__ = FIXED_TO_INT(__evenodd_line_xp__); \
aScanline[__evenodd_line_xp__] ^= __evenodd_line_mask__; \
__evenodd_line_mask__ <<= 1;
|
|
|
Value: __evenodd_line_xp__ = aX + aOffsets[6]; \
aX += aSlope; \
__evenodd_line_xp__ = FIXED_TO_INT(__evenodd_line_xp__); \
aScanline[__evenodd_line_xp__] ^= __evenodd_line_mask__; \
__evenodd_line_mask__ <<= 1;
|
|
|
Value: __evenodd_line_xp__ = aX + aOffsets[7]; \
aX += aSlope; \
__evenodd_line_xp__ = FIXED_TO_INT(__evenodd_line_xp__); \
aScanline[__evenodd_line_xp__] ^= __evenodd_line_mask__; \
__evenodd_line_mask__ <<= 1;
|
|
|
Value: SUBPIXEL_DATA __evenodd_line_mask__ = 1; \ int __evenodd_line_xp__; |
|
|
Value: __nonzero_line_xp__ = aX + aOffsets[0]; \
aX += aSlope; \
__nonzero_line_xp__ = FIXED_TO_INT(__nonzero_line_xp__); \
aWindingBuffer[__nonzero_line_xp__].mMask |= __nonzero_line_mask__; \
aWindingBuffer[__nonzero_line_xp__].mBuffer[0] += aWinding; \
__nonzero_line_mask__ <<= 1;
|
|
|
Value: __nonzero_line_xp__ = aX + aOffsets[1]; \
aX += aSlope; \
__nonzero_line_xp__ = FIXED_TO_INT(__nonzero_line_xp__); \
aWindingBuffer[__nonzero_line_xp__].mMask |= __nonzero_line_mask__; \
aWindingBuffer[__nonzero_line_xp__].mBuffer[1] += aWinding; \
__nonzero_line_mask__ <<= 1;
|
|
|
Value: __nonzero_line_xp__ = aX + aOffsets[2]; \
aX += aSlope; \
__nonzero_line_xp__ = FIXED_TO_INT(__nonzero_line_xp__); \
aWindingBuffer[__nonzero_line_xp__].mMask |= __nonzero_line_mask__; \
aWindingBuffer[__nonzero_line_xp__].mBuffer[2] += aWinding; \
__nonzero_line_mask__ <<= 1;
|
|
|
Value: __nonzero_line_xp__ = aX + aOffsets[3]; \
aX += aSlope; \
__nonzero_line_xp__ = FIXED_TO_INT(__nonzero_line_xp__); \
aWindingBuffer[__nonzero_line_xp__].mMask |= __nonzero_line_mask__; \
aWindingBuffer[__nonzero_line_xp__].mBuffer[3] += aWinding; \
__nonzero_line_mask__ <<= 1;
|
|
|
Value: __nonzero_line_xp__ = aX + aOffsets[4]; \
aX += aSlope; \
__nonzero_line_xp__ = FIXED_TO_INT(__nonzero_line_xp__); \
aWindingBuffer[__nonzero_line_xp__].mMask |= __nonzero_line_mask__; \
aWindingBuffer[__nonzero_line_xp__].mBuffer[4] += aWinding; \
__nonzero_line_mask__ <<= 1;
|
|
|
Value: __nonzero_line_xp__ = aX + aOffsets[5]; \
aX += aSlope; \
__nonzero_line_xp__ = FIXED_TO_INT(__nonzero_line_xp__); \
aWindingBuffer[__nonzero_line_xp__].mMask |= __nonzero_line_mask__; \
aWindingBuffer[__nonzero_line_xp__].mBuffer[5] += aWinding; \
__nonzero_line_mask__ <<= 1;
|
|
|
Value: __nonzero_line_xp__ = aX + aOffsets[6]; \
aX += aSlope; \
__nonzero_line_xp__ = FIXED_TO_INT(__nonzero_line_xp__); \
aWindingBuffer[__nonzero_line_xp__].mMask |= __nonzero_line_mask__; \
aWindingBuffer[__nonzero_line_xp__].mBuffer[6] += aWinding; \
__nonzero_line_mask__ <<= 1;
|
|
|
Value: __nonzero_line_xp__ = aX + aOffsets[7]; \
aX += aSlope; \
__nonzero_line_xp__ = FIXED_TO_INT(__nonzero_line_xp__); \
aWindingBuffer[__nonzero_line_xp__].mMask |= __nonzero_line_mask__; \
aWindingBuffer[__nonzero_line_xp__].mBuffer[7] += aWinding; \
__nonzero_line_mask__ <<= 1;
|
|
|
Value: SUBPIXEL_DATA __nonzero_line_mask__ = 1; \ int __nonzero_line_xp__; |
1.4.6-NO