تتيح لك واجهات برمجة التطبيقات الخاصة بالأشكال الهندسية إنشاء أدوات تفاعلية، مثل آليات الاختيار والممحاة.
يوضّح هذا القسم كيفية استخدام Geometry API لتنفيذ ممحاة.
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)
}
}