Flutter Engine
The Flutter Engine
|
#include "src/gpu/ganesh/geometry/GrTriangulator.h"
#include "include/core/SkPathTypes.h"
#include "include/core/SkRect.h"
#include "include/private/base/SkDebug.h"
#include "include/private/base/SkFloatingPoint.h"
#include "include/private/base/SkMath.h"
#include "include/private/base/SkTPin.h"
#include "src/base/SkVx.h"
#include "src/core/SkGeometry.h"
#include "src/core/SkPointPriv.h"
#include "src/gpu/BufferWriter.h"
#include "src/gpu/ganesh/GrColor.h"
#include "src/gpu/ganesh/GrEagerVertexAllocator.h"
#include "src/gpu/ganesh/geometry/GrPathUtils.h"
#include <algorithm>
#include <cstddef>
#include <limits>
#include <memory>
#include <tuple>
#include <utility>
Go to the source code of this file.
Macros | |
#define | TESS_LOG(...) |
#define | DUMP_MESH(M) |
Typedefs | |
using | EdgeType = GrTriangulator::EdgeType |
using | Vertex = GrTriangulator::Vertex |
using | VertexList = GrTriangulator::VertexList |
using | Line = GrTriangulator::Line |
using | Edge = GrTriangulator::Edge |
using | EdgeList = GrTriangulator::EdgeList |
using | Poly = GrTriangulator::Poly |
using | MonotonePoly = GrTriangulator::MonotonePoly |
using | Comparator = GrTriangulator::Comparator |
typedef bool(* | CompareFunc) (const SkPoint &a, const SkPoint &b) |
Functions | |
template<class T , T *T::* Prev, T *T::* Next> | |
static void | list_insert (T *t, T *prev, T *next, T **head, T **tail) |
template<class T , T *T::* Prev, T *T::* Next> | |
static void | list_remove (T *t, T **head, T **tail) |
static bool | sweep_lt_horiz (const SkPoint &a, const SkPoint &b) |
static bool | sweep_lt_vert (const SkPoint &a, const SkPoint &b) |
static skgpu::VertexWriter | emit_vertex (Vertex *v, bool emitCoverage, skgpu::VertexWriter data) |
static skgpu::VertexWriter | emit_triangle (Vertex *v0, Vertex *v1, Vertex *v2, bool emitCoverage, skgpu::VertexWriter data) |
static void | round (SkPoint *p) |
static SkScalar | double_to_clamped_scalar (double d) |
static bool | edge_line_needs_recursion (const SkPoint &p0, const SkPoint &p1) |
static bool | recursive_edge_intersect (const Line &u, SkPoint u0, SkPoint u1, const Line &v, SkPoint v0, SkPoint v1, SkPoint *p, double *s, double *t) |
static bool | coincident (const SkPoint &a, const SkPoint &b) |
static SkScalar | quad_error_at (const SkPoint pts[3], SkScalar t, SkScalar u) |
static bool | apply_fill_type (SkPathFillType fillType, int winding) |
static bool | apply_fill_type (SkPathFillType fillType, Poly *poly) |
static void | remove_edge_above (Edge *edge) |
static void | remove_edge_below (Edge *edge) |
static bool | rewind (EdgeList *activeEdges, Vertex **current, Vertex *dst, const Comparator &c) |
static bool | rewind_if_necessary (Edge *edge, EdgeList *activeEdges, Vertex **current, const Comparator &c) |
static bool | top_collinear (Edge *left, Edge *right) |
static bool | bottom_collinear (Edge *left, Edge *right) |
static SkPoint | clamp (SkPoint p, SkPoint min, SkPoint max, const Comparator &c) |
template<CompareFunc sweep_lt> | |
static void | sorted_merge (VertexList *front, VertexList *back, VertexList *result) |
template<CompareFunc sweep_lt> | |
static void | merge_sort (VertexList *vertices) |
static int | get_contour_count (const SkPath &path, SkScalar tolerance) |
#define DUMP_MESH | ( | M | ) |
Definition at line 38 of file GrTriangulator.cpp.
#define TESS_LOG | ( | ... | ) |
Definition at line 37 of file GrTriangulator.cpp.
using Comparator = GrTriangulator::Comparator |
Definition at line 49 of file GrTriangulator.cpp.
Definition at line 82 of file GrTriangulator.cpp.
using Edge = GrTriangulator::Edge |
Definition at line 45 of file GrTriangulator.cpp.
using EdgeList = GrTriangulator::EdgeList |
Definition at line 46 of file GrTriangulator.cpp.
using EdgeType = GrTriangulator::EdgeType |
Definition at line 41 of file GrTriangulator.cpp.
using Line = GrTriangulator::Line |
Definition at line 44 of file GrTriangulator.cpp.
Definition at line 48 of file GrTriangulator.cpp.
using Poly = GrTriangulator::Poly |
Definition at line 47 of file GrTriangulator.cpp.
using Vertex = GrTriangulator::Vertex |
Definition at line 42 of file GrTriangulator.cpp.
using VertexList = GrTriangulator::VertexList |
Definition at line 43 of file GrTriangulator.cpp.
|
inlinestatic |
Definition at line 614 of file GrTriangulator.cpp.
|
inlinestatic |
Definition at line 634 of file GrTriangulator.cpp.
Definition at line 949 of file GrTriangulator.cpp.
|
static |
Definition at line 1152 of file GrTriangulator.cpp.
Definition at line 464 of file GrTriangulator.cpp.
|
inlinestatic |
Definition at line 143 of file GrTriangulator.cpp.
Definition at line 170 of file GrTriangulator.cpp.
|
static |
Definition at line 108 of file GrTriangulator.cpp.
|
inlinestatic |
Definition at line 96 of file GrTriangulator.cpp.
Definition at line 1718 of file GrTriangulator.cpp.
|
static |
Definition at line 1354 of file GrTriangulator.cpp.
Definition at line 484 of file GrTriangulator.cpp.
|
static |
Definition at line 182 of file GrTriangulator.cpp.
|
static |
Definition at line 724 of file GrTriangulator.cpp.
|
static |
Definition at line 732 of file GrTriangulator.cpp.
|
static |
Definition at line 745 of file GrTriangulator.cpp.
|
static |
Definition at line 776 of file GrTriangulator.cpp.
|
inlinestatic |
Definition at line 138 of file GrTriangulator.cpp.
|
static |
Definition at line 1318 of file GrTriangulator.cpp.