8#ifndef SkScanPriv_DEFINED
9#define SkScanPriv_DEFINED
16#define SK_SUPERSAMPLE_SHIFT 2
21 bool skipRejectTest =
false,
bool boundsPreClipped =
false);
30 SkRectClipCheckBlitter fRectClipCheckBlitter;
37 SkBlitter* blitter,
int start_y,
int stop_y,
int shiftEdgesUp,
38 bool pathContainedInClip);
44template<
class EdgeType>
46 edge->fPrev->fNext = edge->fNext;
47 edge->fNext->fPrev = edge->fPrev;
50template<
class EdgeType>
52 edge->fPrev = afterMe;
53 edge->fNext = afterMe->fNext;
54 afterMe->fNext->fPrev = edge;
55 afterMe->fNext = edge;
58template<
class EdgeType>
65 if (
prev->fNext != edge) {
75template<
class EdgeType>
static float prev(float f)
static SkPath clip(const SkPath &path, const SkHalfPlane &plane)
void sk_fill_path(const SkPath &path, const SkIRect &clipRect, SkBlitter *blitter, int start_y, int stop_y, int shiftEdgesUp, bool pathContainedInClip)
static void remove_edge(EdgeType *edge)
void backward_insert_edge_based_on_x(EdgeType *edge)
static void insert_edge_after(EdgeType *edge, EdgeType *afterMe)
EdgeType * backward_insert_start(EdgeType *prev, SkFixed x)
void sk_blit_above(SkBlitter *, const SkIRect &avoid, const SkRegion &clip)
void sk_blit_below(SkBlitter *, const SkIRect &avoid, const SkRegion &clip)
SkBlitter * getBlitter() const
const SkIRect * getClipRect() const