Index: skia/sgl/SkEdge.h |
=================================================================== |
--- skia/sgl/SkEdge.h (revision 16859) |
+++ skia/sgl/SkEdge.h (working copy) |
@@ -1,93 +0,0 @@ |
-/* libs/graphics/sgl/SkEdge.h |
-** |
-** Copyright 2006, The Android Open Source Project |
-** |
-** Licensed under the Apache License, Version 2.0 (the "License"); |
-** you may not use this file except in compliance with the License. |
-** You may obtain a copy of the License at |
-** |
-** http://www.apache.org/licenses/LICENSE-2.0 |
-** |
-** Unless required by applicable law or agreed to in writing, software |
-** distributed under the License is distributed on an "AS IS" BASIS, |
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
-** See the License for the specific language governing permissions and |
-** limitations under the License. |
-*/ |
- |
-#ifndef SkEdge_DEFINED |
-#define SkEdge_DEFINED |
- |
-#include "SkRect.h" |
- |
-struct SkEdge { |
- enum Type { |
- kLine_Type, |
- kQuad_Type, |
- kCubic_Type |
- }; |
- |
- SkEdge* fNext; |
- SkEdge* fPrev; |
- |
- SkFixed fX; |
- SkFixed fDX; |
- int32_t fFirstY; |
- int32_t fLastY; |
- int8_t fCurveCount; // only used by kQuad(+) and kCubic(-) |
- uint8_t fCurveShift; // appled to all Dx/DDx/DDDx except for fCubicDShift exception |
- uint8_t fCubicDShift; // applied to fCDx and fCDy only in cubic |
- int8_t fWinding; // 1 or -1 |
- |
- int setLine(const SkPoint& p0, const SkPoint& p1, const SkIRect* clip, |
- int shiftUp); |
- inline int updateLine(SkFixed ax, SkFixed ay, SkFixed bx, SkFixed by); |
- void chopLineWithClip(const SkIRect& clip); |
- |
- inline bool intersectsClip(const SkIRect& clip) const { |
- SkASSERT(fFirstY < clip.fBottom); |
- return fLastY >= clip.fTop; |
- } |
- |
-#ifdef SK_DEBUG |
- void dump() const { |
- #ifdef SK_CAN_USE_FLOAT |
- SkDebugf("edge: firstY:%d lastY:%d x:%g dx:%g w:%d\n", fFirstY, fLastY, SkFixedToFloat(fX), SkFixedToFloat(fDX), fWinding); |
- #else |
- SkDebugf("edge: firstY:%d lastY:%d x:%x dx:%x w:%d\n", fFirstY, fLastY, fX, fDX, fWinding); |
- #endif |
- } |
- |
- void validate() const { |
- SkASSERT(fPrev && fNext); |
- SkASSERT(fPrev->fNext == this); |
- SkASSERT(fNext->fPrev == this); |
- |
- SkASSERT(fFirstY <= fLastY); |
- SkASSERT(SkAbs32(fWinding) == 1); |
- } |
-#endif |
-}; |
- |
-struct SkQuadraticEdge : public SkEdge { |
- SkFixed fQx, fQy; |
- SkFixed fQDx, fQDy; |
- SkFixed fQDDx, fQDDy; |
- SkFixed fQLastX, fQLastY; |
- |
- int setQuadratic(const SkPoint pts[3], const SkIRect* clip, int shiftUp); |
- int updateQuadratic(); |
-}; |
- |
-struct SkCubicEdge : public SkEdge { |
- SkFixed fCx, fCy; |
- SkFixed fCDx, fCDy; |
- SkFixed fCDDx, fCDDy; |
- SkFixed fCDDDx, fCDDDy; |
- SkFixed fCLastX, fCLastY; |
- |
- int setCubic(const SkPoint pts[4], const SkIRect* clip, int shiftUp); |
- int updateCubic(); |
-}; |
- |
-#endif |