// Copyright 2017 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.

// https://drafts.fxtf.org/geometry/#domquad

[
 Constructor(optional DOMPointInit p1, optional DOMPointInit p2,
                  optional DOMPointInit p3, optional DOMPointInit p4),
 Exposed=(Window,Worker),
 RuntimeEnabled=GeometryInterfaces
]
interface DOMQuad {
    [NewObject] static DOMQuad fromRect(optional DOMRectInit other);
    [NewObject] static DOMQuad fromQuad(optional DOMQuadInit other);

    [SameObject] readonly attribute DOMPoint p1;
    [SameObject] readonly attribute DOMPoint p2;
    [SameObject] readonly attribute DOMPoint p3;
    [SameObject] readonly attribute DOMPoint p4;
    [NewObject] DOMRect getBounds();

    serializer = { attribute };
};
