Geometry API'leri, seçim mekanizmaları ve silgiler gibi etkileşimli araçlar oluşturmanıza olanak tanır.
Bu bölümde, silgi uygulamak için Geometry API'lerinin nasıl kullanılacağı gösterilmektedir.
private fun eraseIntersectingStrokes(
currentX: Float,
currentY: Float,
currentStrokes: MutableList<Stroke>,
): Unit {
val prev = previousPoint
previousPoint = MutableVec(currentX, currentY)
if (prev == null) return
val segment = MutableSegment(prev, MutableVec(currentX, currentY))
val parallelogram = MutableParallelogram().populateFromSegmentAndPadding(
segment,
eraserPadding
)
currentStrokes.removeAll {
it.shape.intersects(parallelogram, AffineTransform.IDENTITY)
}
}