Geometry API

Geometry API की मदद से, इंटरैक्टिव टूल बनाए जा सकते हैं. जैसे, चुनने के तरीके और मिटाने वाले टूल.

इस सेक्शन में, इरेज़र की सुविधा लागू करने के लिए, 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)
    }
}