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__; |