diff options
author | scuri <scuri> | 2009-11-27 22:44:15 +0000 |
---|---|---|
committer | scuri <scuri> | 2009-11-27 22:44:15 +0000 |
commit | d96819756a30e82b52798487343a4fcbdec11a88 (patch) | |
tree | 628d1c0bc03ee7eb443dba2850d34b589f2d32c1 /src/sim/sim.h | |
parent | c4ca69d3fa84dca98dce71c7a71b61413d6be165 (diff) |
Fixed: polygon filling in the IMAGERGB driver when the segments contain horizontal lines.
Diffstat (limited to 'src/sim/sim.h')
-rw-r--r-- | src/sim/sim.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/sim/sim.h b/src/sim/sim.h index 9d96a8a..8421f53 100644 --- a/src/sim/sim.h +++ b/src/sim/sim.h @@ -43,8 +43,11 @@ typedef struct _simLineSegment unsigned short ErrorInc, ErrorAcc; } simLineSegment; -void simAddSegment(simLineSegment* segment, int x1, int y1, int x2, int y2, int *y_max, int *y_min); -int simSegmentInc(simLineSegment* segment, cdCanvas* canvas, int y); +int simAddSegment(simLineSegment* segment, int x1, int y1, int x2, int y2, int *y_max, int *y_min); +int simSegmentInc(simLineSegment* segment); + +int simPolyFindHorizontalIntervals(simLineSegment *segments, int n_seg, int* xx, int *hh, int y, int height); +void simPolyMakeSegments(simLineSegment *segments, int *n_seg, cdPoint* poly, int n, int *max_hh, int *y_max, int *y_min); void simPolyFill(cdSimulation* simulation, cdPoint* poly, int n); void simLineThin(cdCanvas* canvas, int x1, int y1, int x2, int y2); |