| 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
|
|
|