Inherits skgpu::graphite::IntersectionTree::Node.
Definition at line 61 of file IntersectionTree.cpp.
◆ LeafNode()
skgpu::graphite::IntersectionTree::LeafNode::LeafNode |
( |
| ) |
|
|
inline |
Definition at line 67 of file IntersectionTree.cpp.
67 {
69
70
71
72 constexpr static float infinity = std::numeric_limits<float>::infinity();
77 }
static constexpr int kMaxRectsInList
◆ addNonIntersecting()
Node * skgpu::graphite::IntersectionTree::LeafNode::addNonIntersecting |
( |
Rect |
rect, |
|
|
SkArenaAlloc * |
arena |
|
) |
| |
|
inlineoverride |
Definition at line 110 of file IntersectionTree.cpp.
110 {
112
113 return this->split(arena)->addNonIntersecting(
rect, arena);
114 }
115 this->appendToList(
rect);
116 return this;
117 }
sk_sp< SkBlender > blender SkRect rect
◆ intersects()
bool skgpu::graphite::IntersectionTree::LeafNode::intersects |
( |
Rect |
rect | ) |
|
|
inlineoverride |
Definition at line 88 of file IntersectionTree.cpp.
88 {
89
90
91
94 auto comp = Rect::ComplementRect(
rect).fVals;
95 for (
int i = 0;
i < fNumRects;
i += 4) {
100 if (
any((l < comp[0]) &
101 (t < comp[1]) &
102 (nr < comp[2]) &
103 (nb < comp[3]))) {
104 return true;
105 }
106 }
107 return false;
108 }
SIT bool any(const Vec< 1, T > &x)
static SKVX_ALWAYS_INLINE Vec Load(const void *ptr)
◆ popAll()
void skgpu::graphite::IntersectionTree::LeafNode::popAll |
( |
| ) |
|
|
inline |
Definition at line 79 of file IntersectionTree.cpp.
79 {
80 fNumRects = 0;
81 fSplittableBounds = -std::numeric_limits<float>::infinity();
82 fRectValsSum = 0;
83
84
85
86 }
◆ kMaxRectsInList
constexpr int skgpu::graphite::IntersectionTree::LeafNode::kMaxRectsInList = 64 |
|
staticconstexpr |
The documentation for this class was generated from the following file: