fix: close Θ-W7-T1 review — scaling guard, opacity claims, two vacuous test fixes
Guards the stroke blend against LICE_EXT_GET_SCALING, tightens the analytic-stroker's boxes and NaN handling, corrects the opaque-core threshold and inner-dial rationale in the docs, and re-derives two review-flagged tautological tests so they actually fail against the bugs they claim to catch.
This commit is contained in:
@@ -84,4 +84,14 @@ void strokePolyline(StrokeCanvas& canvas, const StrokePoint* pts, std::size_t co
|
||||
void appendArc(std::vector<StrokePoint>& out, float cx, float cy, float radius, float startRad,
|
||||
float endRad, float flatnessPx = kArcFlatnessPx);
|
||||
|
||||
// The row-major element offset of row `y` within a `rowSpan`-elements-per-row pixel buffer,
|
||||
// accounting for a possibly bottom-up (`flipped`) layout. Pulled out of the shell's LICE blend
|
||||
// so its flipped branch — dead for every bitmap type the shell actually constructs, and
|
||||
// otherwise unverifiable without a live LICE surface — is pinned by a host-free test. Matches
|
||||
// LICE's own row math (`lice.cpp`'s `LICE_SysBitmap` pixel accessor: `(h-1-y)*rowspan + x`).
|
||||
inline std::size_t rasterRowOffset(int y, int height, int rowSpan, bool flipped) {
|
||||
const int row = flipped ? height - 1 - y : y;
|
||||
return static_cast<std::size_t>(row) * static_cast<std::size_t>(rowSpan);
|
||||
}
|
||||
|
||||
} // namespace reasampler::ui
|
||||
|
||||
Reference in New Issue
Block a user