1 parent
27fb732418
commit
c4863ca194
3 files changed
+13
-13
No files matched your search
@@ -53,7 +53,7 @@ static uint64_t flatnessQuad(uint32_t p[3][2]) {
|
|||||||
static void bezierCubicFlattenRec(uint32_t x0, uint32_t y0, uint32_t x1,
|
static void bezierCubicFlattenRec(uint32_t x0, uint32_t y0, uint32_t x1,
|
||||||
uint32_t y1, uint32_t x2, uint32_t y2,
|
uint32_t y1, uint32_t x2, uint32_t y2,
|
||||||
uint32_t x3, uint32_t y3, uint64_t flatnessSq,
|
uint32_t x3, uint32_t y3, uint64_t flatnessSq,
|
||||||
int depth, CgeScanlineLineToCallback lineTo,
|
int depth, CgeScanlineLineToCb lineTo,
|
||||||
void *userData) {
|
void *userData) {
|
||||||
uint32_t a[4][2] = {{x0, y0}, {x1, y1}, {x2, y2}, {x3, y3}};
|
uint32_t a[4][2] = {{x0, y0}, {x1, y1}, {x2, y2}, {x3, y3}};
|
||||||
uint32_t b[3][2];
|
uint32_t b[3][2];
|
||||||
@@ -89,7 +89,7 @@ static void bezierCubicFlattenRec(uint32_t x0, uint32_t y0, uint32_t x1,
|
|||||||
static void bezierQuadFlattenRec(uint32_t x0, uint32_t y0, uint32_t x1,
|
static void bezierQuadFlattenRec(uint32_t x0, uint32_t y0, uint32_t x1,
|
||||||
uint32_t y1, uint32_t x2, uint32_t y2,
|
uint32_t y1, uint32_t x2, uint32_t y2,
|
||||||
uint64_t flatnessSq, int depth,
|
uint64_t flatnessSq, int depth,
|
||||||
CgeScanlineLineToCallback lineTo,
|
CgeScanlineLineToCb lineTo,
|
||||||
void *userData) {
|
void *userData) {
|
||||||
uint32_t a[3][2] = {{x0, y0}, {x1, y1}, {x2, y2}};
|
uint32_t a[3][2] = {{x0, y0}, {x1, y1}, {x2, y2}};
|
||||||
uint32_t b[2][2];
|
uint32_t b[2][2];
|
||||||
@@ -115,7 +115,7 @@ static void bezierQuadFlattenRec(uint32_t x0, uint32_t y0, uint32_t x1,
|
|||||||
void CgeScanlineBezierCubicFlatten(uint32_t x0, uint32_t y0, uint32_t x1,
|
void CgeScanlineBezierCubicFlatten(uint32_t x0, uint32_t y0, uint32_t x1,
|
||||||
uint32_t y1, uint32_t x2, uint32_t y2,
|
uint32_t y1, uint32_t x2, uint32_t y2,
|
||||||
uint32_t x3, uint32_t y3, uint32_t flatness,
|
uint32_t x3, uint32_t y3, uint32_t flatness,
|
||||||
CgeScanlineLineToCallback lineTo,
|
CgeScanlineLineToCb lineTo,
|
||||||
void *userData) {
|
void *userData) {
|
||||||
uint64_t flatnessSq = (uint64_t)flatness * (uint64_t)flatness;
|
uint64_t flatnessSq = (uint64_t)flatness * (uint64_t)flatness;
|
||||||
if (flatnessSq < 1)
|
if (flatnessSq < 1)
|
||||||
@@ -127,7 +127,7 @@ void CgeScanlineBezierCubicFlatten(uint32_t x0, uint32_t y0, uint32_t x1,
|
|||||||
void CgeScanlineBezierQuadFlatten(uint32_t x0, uint32_t y0, uint32_t x1,
|
void CgeScanlineBezierQuadFlatten(uint32_t x0, uint32_t y0, uint32_t x1,
|
||||||
uint32_t y1, uint32_t x2, uint32_t y2,
|
uint32_t y1, uint32_t x2, uint32_t y2,
|
||||||
uint32_t flatness,
|
uint32_t flatness,
|
||||||
CgeScanlineLineToCallback lineTo,
|
CgeScanlineLineToCb lineTo,
|
||||||
void *userData) {
|
void *userData) {
|
||||||
uint64_t flatnessSq = (uint64_t)flatness * (uint64_t)flatness;
|
uint64_t flatnessSq = (uint64_t)flatness * (uint64_t)flatness;
|
||||||
if (flatnessSq < 1)
|
if (flatnessSq < 1)
|
||||||
|
|||||||
+7
-7
@@ -42,10 +42,10 @@ typedef struct CgeScanlineSpan {
|
|||||||
uint32_t end;
|
uint32_t end;
|
||||||
} CgeScanlineSpan;
|
} CgeScanlineSpan;
|
||||||
|
|
||||||
typedef void (*CgeScanlineRowCallback)(uint32_t y, CgeScanlineSpan *spans,
|
typedef void (*CgeScanlineRowCb)(uint32_t y, CgeScanlineSpan *spans,
|
||||||
size_t size, void *userData);
|
size_t size, void *userData);
|
||||||
|
|
||||||
typedef void (*CgeScanlineLineToCallback)(uint32_t x0, uint32_t y0,
|
typedef void (*CgeScanlineLineToCb)(uint32_t x0, uint32_t y0,
|
||||||
uint32_t x1, uint32_t y1,
|
uint32_t x1, uint32_t y1,
|
||||||
void *userData);
|
void *userData);
|
||||||
|
|
||||||
@@ -56,7 +56,7 @@ typedef struct CgeScanlineState {
|
|||||||
size_t aetCapacity;
|
size_t aetCapacity;
|
||||||
CgeScanlineSpan *span;
|
CgeScanlineSpan *span;
|
||||||
size_t spanCapacity;
|
size_t spanCapacity;
|
||||||
CgeScanlineRowCallback callback;
|
CgeScanlineRowCb callback;
|
||||||
void *userData;
|
void *userData;
|
||||||
int flags;
|
int flags;
|
||||||
|
|
||||||
@@ -70,7 +70,7 @@ typedef struct CgeScanlineState {
|
|||||||
int CgeScanlineStateInit(CgeScanlineState *state, CgeScanlineEdge *edge,
|
int CgeScanlineStateInit(CgeScanlineState *state, CgeScanlineEdge *edge,
|
||||||
size_t edgeSize, CgeScanlineEdgeTable *aet,
|
size_t edgeSize, CgeScanlineEdgeTable *aet,
|
||||||
size_t aetCapacity, CgeScanlineSpan *span,
|
size_t aetCapacity, CgeScanlineSpan *span,
|
||||||
size_t spanCapacity, CgeScanlineRowCallback callback,
|
size_t spanCapacity, CgeScanlineRowCb callback,
|
||||||
void *userData, int flags);
|
void *userData, int flags);
|
||||||
|
|
||||||
int CgeScanlineStateNext(CgeScanlineState *state, int *result);
|
int CgeScanlineStateNext(CgeScanlineState *state, int *result);
|
||||||
@@ -79,19 +79,19 @@ int CgeScanlineEdgeAdd(CgeScanlineEdge *edge, uint32_t aX, uint32_t aY,
|
|||||||
uint32_t bX, uint32_t bY);
|
uint32_t bX, uint32_t bY);
|
||||||
|
|
||||||
int CgeScanlineSpans(CgeScanlineEdge *edge, size_t edgeSize,
|
int CgeScanlineSpans(CgeScanlineEdge *edge, size_t edgeSize,
|
||||||
CgeScanlineRowCallback callback, void *userData,
|
CgeScanlineRowCb callback, void *userData,
|
||||||
int flags);
|
int flags);
|
||||||
|
|
||||||
void CgeScanlineBezierCubicFlatten(uint32_t x0, uint32_t y0, uint32_t x1,
|
void CgeScanlineBezierCubicFlatten(uint32_t x0, uint32_t y0, uint32_t x1,
|
||||||
uint32_t y1, uint32_t x2, uint32_t y2,
|
uint32_t y1, uint32_t x2, uint32_t y2,
|
||||||
uint32_t x3, uint32_t y3, uint32_t flatness,
|
uint32_t x3, uint32_t y3, uint32_t flatness,
|
||||||
CgeScanlineLineToCallback lineTo,
|
CgeScanlineLineToCb lineTo,
|
||||||
void *userData);
|
void *userData);
|
||||||
|
|
||||||
void CgeScanlineBezierQuadFlatten(uint32_t x0, uint32_t y0, uint32_t x1,
|
void CgeScanlineBezierQuadFlatten(uint32_t x0, uint32_t y0, uint32_t x1,
|
||||||
uint32_t y1, uint32_t x2, uint32_t y2,
|
uint32_t y1, uint32_t x2, uint32_t y2,
|
||||||
uint32_t flatness,
|
uint32_t flatness,
|
||||||
CgeScanlineLineToCallback lineTo,
|
CgeScanlineLineToCb lineTo,
|
||||||
void *userData);
|
void *userData);
|
||||||
|
|
||||||
size_t CgeScanlineBezierCubicEdges(CgeScanlineEdge *edge, size_t edgeSize,
|
size_t CgeScanlineBezierCubicEdges(CgeScanlineEdge *edge, size_t edgeSize,
|
||||||
|
|||||||
+2
-2
@@ -161,7 +161,7 @@ static size_t spansNonZero(CgeScanlineEdge *edge, CgeScanlineEdgeTable *aet,
|
|||||||
int CgeScanlineStateInit(CgeScanlineState *state, CgeScanlineEdge *edge,
|
int CgeScanlineStateInit(CgeScanlineState *state, CgeScanlineEdge *edge,
|
||||||
size_t edgeSize, CgeScanlineEdgeTable *aet,
|
size_t edgeSize, CgeScanlineEdgeTable *aet,
|
||||||
size_t aetCapacity, CgeScanlineSpan *span,
|
size_t aetCapacity, CgeScanlineSpan *span,
|
||||||
size_t spanCapacity, CgeScanlineRowCallback callback,
|
size_t spanCapacity, CgeScanlineRowCb callback,
|
||||||
void *userData, int flags) {
|
void *userData, int flags) {
|
||||||
uint32_t yMin, yMax;
|
uint32_t yMin, yMax;
|
||||||
size_t i;
|
size_t i;
|
||||||
@@ -236,7 +236,7 @@ int CgeScanlineStateNext(CgeScanlineState *state, int *result) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int CgeScanlineSpans(CgeScanlineEdge *edge, size_t edgeSize,
|
int CgeScanlineSpans(CgeScanlineEdge *edge, size_t edgeSize,
|
||||||
CgeScanlineRowCallback callback, void *userData,
|
CgeScanlineRowCb callback, void *userData,
|
||||||
int flags) {
|
int flags) {
|
||||||
CgeScanlineEdgeTable *aet;
|
CgeScanlineEdgeTable *aet;
|
||||||
CgeScanlineSpan *spans;
|
CgeScanlineSpan *spans;
|
||||||
|
|||||||
Reference in new issue
Block a user