Flutter Engine
The Flutter Engine
Classes | Namespaces | Enumerations | Functions | Variables
Tessellation.h File Reference
#include "include/core/SkPaint.h"
#include "include/core/SkPoint.h"
#include "include/core/SkStrokeRec.h"
#include "include/gpu/GrTypes.h"
#include "include/private/base/SkAssert.h"
#include <math.h>
#include <algorithm>
#include <cstddef>
#include <cstdint>

Go to the source code of this file.

Classes

struct  skgpu::tess::StrokeParams
 

Namespaces

namespace  skgpu
 
namespace  skgpu::tess
 

Enumerations

enum class  skgpu::tess::PatchAttribs {
  skgpu::tess::kNone = 0 , skgpu::tess::kJoinControlPoint = 1 << 0 , skgpu::tess::kFanPoint = 1 << 1 , skgpu::tess::kStrokeParams = 1 << 2 ,
  skgpu::tess::kColor = 1 << 3 , skgpu::tess::kPaintDepth = 1 << 4 , skgpu::tess::kExplicitCurveType = 1 << 5 , skgpu::tess::kSsboIndex = 1 << 7 ,
  skgpu::tess::kWideColorIfEnabled = 1 << 6
}
 

Functions

SkPath skgpu::tess::PreChopPathCurves (float tessellationPrecision, const SkPath &path, const SkMatrix &matrix, const SkRect &viewport)
 
static constexpr int skgpu::tess::NumCurveTrianglesAtResolveLevel (int resolveLevel)
 
constexpr size_t skgpu::tess::PatchAttribsStride (PatchAttribs attribs)
 
constexpr size_t skgpu::tess::PatchStride (PatchAttribs attribs)
 
int skgpu::tess::FindCubicConvex180Chops (const SkPoint pts[], float T[2], bool *areCusps)
 
bool skgpu::tess::ConicHasCusp (const SkPoint p[3])
 
float skgpu::tess::GetJoinType (const SkStrokeRec &stroke)
 
bool skgpu::tess::StrokesHaveEqualParams (const SkStrokeRec &a, const SkStrokeRec &b)
 
constexpr int skgpu::tess::NumFixedEdgesInJoin (SkPaint::Join joinType)
 
constexpr int skgpu::tess::NumFixedEdgesInJoin (const StrokeParams &strokeParams)
 
float skgpu::tess::CalcNumRadialSegmentsPerRadian (float approxDevStrokeRadius)
 

Variables

static constexpr float skgpu::tess::kPrecision = 4
 
static constexpr int skgpu::tess::kMaxResolveLevel = 5
 
static constexpr int skgpu::tess::kMaxParametricSegments = 1 << kMaxResolveLevel
 
static constexpr int skgpu::tess::kMaxParametricSegments_p2 = kMaxParametricSegments * kMaxParametricSegments
 
static constexpr int skgpu::tess::kMaxParametricSegments_p4
 
static constexpr float skgpu::tess::kMaxSegmentsPerCurve = 1024
 
static constexpr float skgpu::tess::kMaxSegmentsPerCurve_p2 = kMaxSegmentsPerCurve * kMaxSegmentsPerCurve
 
static constexpr float skgpu::tess::kMaxSegmentsPerCurve_p4 = kMaxSegmentsPerCurve_p2 * kMaxSegmentsPerCurve_p2
 
static constexpr float skgpu::tess::kCubicCurveType = 0
 
static constexpr float skgpu::tess::kConicCurveType = 1
 
static constexpr float skgpu::tess::kTriangularConicCurveType = 2