واجهات برمجة التطبيقات للأشكال الهندسية

تتيح لك واجهات برمجة التطبيقات الخاصة بالأشكال الهندسية إنشاء أدوات تفاعلية، مثل آليات الاختيار والممحاة.

يوضّح هذا القسم كيفية استخدام 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)
    }
}