Geometri API'leri

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)
    }
}