| 92 | } |
| 93 | |
| 94 | static void PaintSessionAddPSToQuadrant(PaintSession& session, PaintStruct* ps) |
| 95 | { |
| 96 | const auto positionHash = RemapPositionToQuadrant(*ps, session.CurrentRotation); |
| 97 | |
| 98 | // Values below zero or above MaxPaintQuadrants are void, corners also share the same quadrant as void. |
| 99 | const uint32_t paintQuadrantIndex = std::clamp(positionHash / kCoordsXYStep, 0, MaxPaintQuadrants - 1); |
| 100 | |
| 101 | ps->QuadrantIndex = paintQuadrantIndex; |
| 102 | ps->NextQuadrantEntry = session.Quadrants[paintQuadrantIndex]; |
| 103 | session.Quadrants[paintQuadrantIndex] = ps; |
| 104 | |
| 105 | session.QuadrantBackIndex = std::min(session.QuadrantBackIndex, paintQuadrantIndex); |
| 106 | session.QuadrantFrontIndex = std::max(session.QuadrantFrontIndex, paintQuadrantIndex); |
| 107 | } |
| 108 | |
| 109 | static constexpr bool imageWithinRT(const ScreenCoordsXY& imagePos, const G1Element& g1, const RenderTarget& rt) |
| 110 | { |
no test coverage detected