Lines Matching refs:ranges
139 void Region::getRange(std::vector<Range>& ranges, Node& node, Region::OP op)
143 node.GetAndRange(ranges);
146 node.GetSubRange(ranges);
149 node.GetOrRange(ranges);
152 node.GetXOrRange(ranges);
172 void Region::UpdateRects(Rects& r, std::vector<Range>& ranges, std::vector<int>& indexAt, Region& res)
176 while (i < r.preRects.size() && j < ranges.size()) {
177 if (r.preRects[i].left_ == indexAt[ranges[j].start_] && r.preRects[i].right_ == indexAt[ranges[j].end_]) {
181 } else if (r.preRects[i].right_ < indexAt[ranges[j].end_]) {
185 r.curRects.emplace_back(Rect { indexAt[ranges[j].start_], r.preY, indexAt[ranges[j].end_], r.curY });
190 for (; j < ranges.size(); j++) {
191 r.curRects.emplace_back(Rect { indexAt[ranges[j].start_], r.preY, indexAt[ranges[j].end_], r.curY });
246 std::vector<Range> ranges;
252 ranges.clear();
253 getRange(ranges, rootNode, op);
255 UpdateRects(r, ranges, indexAt, res);