anchor.diff:    ///
     ///  * [save], which saves the current state, but does not create a new layer
     ///    for subsequent commands.
  +  ///  * [BlendMode], which discusses the use of [Paint.blendMode] with
  +  ///    [saveLayer].
     void saveLayer(Rect bounds, Paint paint) {
       assert(_rectIsValid(bounds));
       assert(paint != null);
  
positive.code:   void _arcTo(double left, double top, double right, double bottom,
                double startAngle, double sweepAngle, bool forceMoveTo) native "Path_arcTo";
  
    /// Appends up to four conic curves weighted to describe an oval of [radius]
    /// and rotated by [rotation].
    ///
    /// The first curve begins from the last point in the path and the last ends
    /// at [arcEnd]. The curves follow a path in a direction determined by
    /// [clockwise] and [largeArc] in such a way that the sweep angle
    /// is always less than 360 degrees.
    ///
    /// A simple line is appended if either either radii are zero or the last
    /// point in the path is [arcEnd]. The radii are scaled to fit the last path
    /// point if both are greater than zero but too small to describe an arc.
    ///
    void arcToPoint(Offset arcEnd, {
  
negative.code:   /// layer is being composited.
    ///
    /// Defaults to [BlendMode.srcOver].
    ///
    /// See also:
    ///
    ///  * [Canvas.saveLayer], which uses its [Paint]'s [blendMode] to composite
    ///    the layer when [restore] is called.
    ///  * [BlendMode], which discusses the user of [saveLayer] with [blendMode].
    BlendMode get blendMode {
      final int encoded = _data.getInt32(_kBlendModeOffset, _kFakeHostEndian);
      return BlendMode.values[encoded ^ _kBlendModeDefault];
  