Index: experimental/Intersection/SkAntiEdge.h |
diff --git a/experimental/Intersection/SkAntiEdge.h b/experimental/Intersection/SkAntiEdge.h |
deleted file mode 100644 |
index 17baca6d4df6ec8da1998141ba3b99d2b341c4d4..0000000000000000000000000000000000000000 |
--- a/experimental/Intersection/SkAntiEdge.h |
+++ /dev/null |
@@ -1,76 +0,0 @@ |
-/* |
- * Copyright 2011 Google Inc. |
- * |
- * Use of this source code is governed by a BSD-style license that can be |
- * found in the LICENSE file. |
- */ |
-#ifndef SkAntiEdge_DEFINED |
-#define SkAntiEdge_DEFINED |
- |
-#include "SkFixed.h" |
-#include "SkTDArray.h" |
- |
-struct SkBitmap; |
-struct SkPoint; |
- |
-struct SkAntiEdge { |
- SkAntiEdge* fNext; // list in walking order (y, then x, then diag) |
- SkAntiEdge* fPrev; // reverse in walking order |
- SkAntiEdge* fLink; // list in connected order, top to bottom |
- |
- SkFixed fFirstX; // starting X |
- SkFixed fFirstY; // starting Y |
- SkFixed fLastX; // ending X |
- SkFixed fLastY; // ending Y |
- SkFixed fX0; // computed edge current value (may be off end) |
- SkFixed fY0; |
- SkFixed fX; // edge current value (always on edge) |
- SkFixed fY; |
- SkFixed fDX; // change in X per unit step in Y |
- SkFixed fDY; // change in Y per unit step in X |
- SkFixed fWalkX; // unit step position (integer after initial step) |
- SkFixed fWalkY; |
- uint16_t fPartialY; // initial partial coverage in Y (0 .. SkFixed1] |
- int16_t fWindingSum; // winding including contributions to the left |
- int8_t fWinding; // 1 or -1 (could be 2 bits) |
- bool fFinished : 1; |
- unsigned fDXFlipped : 1; // used as bool and to adjust calculations (0/1) |
- bool fLinkSet : 1; // set if edge has been attached to another edge |
- |
- void calcLine(); |
- bool setLine(const SkPoint& p0, const SkPoint& p1); |
- uint16_t advanceX(SkFixed left); |
- uint16_t advanceFlippedX(SkFixed left); |
- void advanceY(SkFixed top); |
-// FIXME: mark DEBUG |
- void pointInLine(SkFixed x, SkFixed y); |
- void pointOnLine(SkFixed x, SkFixed y); |
- void validate(); |
-}; |
- |
-class SkAntiEdgeBuilder { |
-public: |
-void process(const SkPoint* points, int ptCount, |
- uint8_t* result, int pixelCol, int pixelRow); |
-private: |
- int build(const SkPoint pts[], int count); |
- void calc(); |
- void link(); |
- void sort(); |
- void sort(SkTDArray<SkAntiEdge*>&); |
- void split(); |
- void split(SkAntiEdge* edge, SkFixed y); |
- void walk(uint8_t* result, int rowBytes, int height); |
- SkAntiEdge fHeadEdge; |
- SkAntiEdge fTailEdge; |
- SkTDArray<SkAntiEdge> fEdges; |
- SkTDArray<SkAntiEdge*> fList; |
-}; |
- |
-void SkAntiEdge_Test(); |
-void CreateSweep(SkBitmap* , float width); |
-void CreateHorz(SkBitmap* ); |
-void CreateVert(SkBitmap* ); |
-void CreateAngle(SkBitmap* sweep, float angle); |
- |
-#endif |