// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

[
  Constructor(),
  ImplementedAs=CanvasPath,
] interface Path {
    void moveTo(float x, float y);
    void lineTo(float x, float y);
    void arcTo(Rect rect, float startAngle, float sweepAngle, boolean forceMoveTo); // angles in radians
    void addOval(Rect oval);
    void close();

    Path shift(Offset offset);
};
