 
 page.draw { context in
     
+    // Curve example (appendingCurve(controlPoint2:endPoint:))
     var point = Point(x: 330, y: 440)
     var point1 = Point(x: 430, y: 530)
     var point2 = Point(x: 480, y: 470)
     let point3 = Point(x: 480, y: 90)
     
+    context.show(text: "appendCurve(controlPoint2:endPoint:)",
+                 atPosition: Point(x: 300, y: 550))
+    
+    var currentPoint = Point(x: point.x + 5, y: point.y - 5)
+    context.show(text: "currentPosition", atPosition: currentPoint)
+    currentPoint = currentPoint + (point1 - point)
+    context.show(text: "controlPoint2", atPosition: currentPoint)
+    currentPoint = currentPoint + (point2 - point1)
+    context.show(text: "endPoint", atPosition: currentPoint)
+    
     context.dashStyle = DashStyle(pattern: [3])!
     context.lineWidth = 0.5
     

    drawLine2(in: context, x: 60, y: 440, label: "LineCap.projectingSquare")
}

page.draw { context in
    
    context.lineWidth = 30

        .appendingLine(toX: 200, y: 90)
    
    context.stroke(bevelPath)
    context.show(text: "LineJoin.bevel", atPosition: Point(x: 60, y: 150))
}

// Draw Rectangle.
page.draw { context in
    context.lineWidth = 2
    context.strokeColor = #colorLiteral(red: 0, green: 0, blue: 0, alpha: 1)
    context.fillColor = #colorLiteral(red: 0.7529411765, green: 0, blue: 0, alpha: 1)
    
    let strokeRectangle = constructRect(in: context, x: 300, y: 770, label: "Stroke")
