| 641 | } |
| 642 | |
| 643 | void Canvas::EraseElementsAt(float pos) |
| 644 | { |
| 645 | std::vector<CanvasElement*> toErase; |
| 646 | for (int i = 0; i < mElements.size(); ++i) |
| 647 | { |
| 648 | if (mElements[i]->mRow == -1 || mElements[i]->mCol == -1) |
| 649 | continue; |
| 650 | |
| 651 | bool on = false; |
| 652 | if (pos >= mElements[i]->GetStart() && pos < mElements[i]->GetEnd()) |
| 653 | on = true; |
| 654 | if (mWrap && pos >= mElements[i]->GetStart() - mLength && pos < mElements[i]->GetEnd() - mLength) |
| 655 | on = true; |
| 656 | if (on) |
| 657 | toErase.push_back(mElements[i]); |
| 658 | } |
| 659 | |
| 660 | for (auto* elem : toErase) |
| 661 | RemoveElement(elem); |
| 662 | } |
| 663 | |
| 664 | CanvasCoord Canvas::GetCoordAt(int x, int y) |
| 665 | { |
no test coverage detected