Flutter Engine
The Flutter Engine
|
#include "src/gpu/ganesh/geometry/GrQuadUtils.h"
#include "include/core/SkPoint.h"
#include "include/core/SkRect.h"
#include "include/core/SkScalar.h"
#include "include/core/SkTypes.h"
#include "include/gpu/GrTypes.h"
#include "include/private/base/SkFloatingPoint.h"
#include "include/private/gpu/ganesh/GrTypesPriv.h"
#include "src/base/SkVx.h"
#include "src/core/SkPathPriv.h"
#include "src/gpu/ganesh/geometry/GrQuad.h"
#include <algorithm>
#include <cmath>
Go to the source code of this file.
Namespaces | |
namespace | GrQuadUtils |
Macros | |
#define | AI SK_ALWAYS_INLINE |
Typedefs | |
using | float4 = skvx::float4 |
using | mask4 = skvx::int4 |
Functions | |
template<typename T > | |
static AI skvx::Vec< 4, T > | next_cw (const skvx::Vec< 4, T > &v) |
template<typename T > | |
static AI skvx::Vec< 4, T > | next_ccw (const skvx::Vec< 4, T > &v) |
static AI float4 | next_diag (const float4 &v) |
static AI void | correct_bad_edges (const mask4 &bad, float4 *e1, float4 *e2, float4 *e3) |
static AI void | correct_bad_coords (const mask4 &bad, float4 *c1, float4 *c2, float4 *c3) |
static void | interpolate_local (float alpha, int v0, int v1, int v2, int v3, float lx[4], float ly[4], float lw[4]) |
static bool | crop_rect_edge (const SkRect &clipDevRect, int v0, int v1, int v2, int v3, float x[4], float y[4], float lx[4], float ly[4], float lw[4]) |
static GrQuadAAFlags | crop_rect (const SkRect &clipDevRect, float x[4], float y[4], float lx[4], float ly[4], float lw[4]) |
static GrQuadAAFlags | crop_simple_rect (const SkRect &clipDevRect, float x[4], float y[4], float lx[4], float ly[4]) |
static bool | is_simple_rect (const GrQuad &quad) |
static bool | barycentric_coords (float x0, float y0, float x1, float y1, float x2, float y2, const float4 &testX, const float4 &testY, float4 *u, float4 *v, float4 *w) |
static mask4 | inside_triangle (const float4 &u, const float4 &v, const float4 &w) |
void | GrQuadUtils::ResolveAAType (GrAAType requestedAAType, GrQuadAAFlags requestedEdgeFlags, const GrQuad &quad, GrAAType *outAAType, GrQuadAAFlags *outEdgeFlags) |
int | GrQuadUtils::ClipToW0 (DrawQuad *quad, DrawQuad *extraVertices) |
bool | GrQuadUtils::CropToRect (const SkRect &cropRect, GrAA cropAA, DrawQuad *quad, bool computeLocal) |
bool | GrQuadUtils::WillUseHairline (const GrQuad &quad, GrAAType aaType, GrQuadAAFlags edgeFlags) |
Variables | |
static constexpr float | kTolerance = 1e-9f |
static constexpr float | kDistTolerance = 1e-2f |
static constexpr float | kDist2Tolerance = kDistTolerance * kDistTolerance |
static constexpr float | kInvDistTolerance = 1.f / kDistTolerance |
#define AI SK_ALWAYS_INLINE |
Definition at line 26 of file GrQuadUtils.cpp.
using float4 = skvx::float4 |
Definition at line 23 of file GrQuadUtils.cpp.
using mask4 = skvx::int4 |
Definition at line 24 of file GrQuadUtils.cpp.
|
static |
Definition at line 247 of file GrQuadUtils.cpp.
|
static |
Definition at line 66 of file GrQuadUtils.cpp.
|
static |
Definition at line 54 of file GrQuadUtils.cpp.
|
static |
Definition at line 156 of file GrQuadUtils.cpp.
|
static |
Definition at line 98 of file GrQuadUtils.cpp.
|
static |
Definition at line 186 of file GrQuadUtils.cpp.
Definition at line 319 of file GrQuadUtils.cpp.
|
static |
Definition at line 78 of file GrQuadUtils.cpp.
|
static |
Definition at line 234 of file GrQuadUtils.cpp.
Definition at line 43 of file GrQuadUtils.cpp.
Definition at line 38 of file GrQuadUtils.cpp.
Definition at line 47 of file GrQuadUtils.cpp.
|
staticconstexpr |
Definition at line 32 of file GrQuadUtils.cpp.
|
staticconstexpr |
Definition at line 31 of file GrQuadUtils.cpp.
|
staticconstexpr |
Definition at line 33 of file GrQuadUtils.cpp.
|
staticconstexpr |
Definition at line 29 of file GrQuadUtils.cpp.