gecko-dev/dom/webidl/Grid.webidl

114 строки
2.8 KiB
Plaintext

/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/.
*/
/* These objects support visualization of a css-grid by the dev tools. */
/**
* Explicit and implicit types apply to tracks, lines, and areas.
* https://drafts.csswg.org/css-grid/#explicit-grids
* https://drafts.csswg.org/css-grid/#implicit-grids
*/
enum GridDeclaration { "explicit", "implicit" };
/**
* Tracks expanded from auto-fill or auto-fit have repeat state, other tracks
* are static.
*/
enum GridTrackState { "static", "repeat" };
[ChromeOnly]
interface Grid
{
readonly attribute GridDimension rows;
readonly attribute GridDimension cols;
[Cached, Constant]
readonly attribute sequence<GridArea> areas;
};
[ChromeOnly]
interface GridDimension
{
readonly attribute GridLines lines;
readonly attribute GridTracks tracks;
};
[ChromeOnly]
interface GridLines
{
readonly attribute unsigned long length;
/**
* This accessor method allows array-like access to lines.
* @param index A 0-indexed value.
*/
getter GridLine? item(unsigned long index);
};
[ChromeOnly]
interface GridLine
{
/**
* Names include both explicit names and implicit names, which will be
* assigned if the line contributes to a named area.
* https://drafts.csswg.org/css-grid/#implicit-named-lines
*/
[Cached, Constant]
readonly attribute sequence<DOMString> names;
readonly attribute double start;
/**
* Breadth is the gap between the start of this line and the start of the
* next track in flow direction. It primarily is set by use of the -gap
* properties.
* https://drafts.csswg.org/css-grid/#gutters
*/
readonly attribute double breadth;
readonly attribute GridDeclaration type;
/**
* Number is the 1-indexed index of the line in flow order.
*/
readonly attribute unsigned long number;
};
[ChromeOnly]
interface GridTracks
{
readonly attribute unsigned long length;
/**
* This accessor method allows array-like access to tracks.
* @param index A 0-indexed value.
*/
getter GridTrack? item(unsigned long index);
};
[ChromeOnly]
interface GridTrack
{
readonly attribute double start;
readonly attribute double breadth;
readonly attribute GridDeclaration type;
readonly attribute GridTrackState state;
};
[ChromeOnly]
interface GridArea
{
readonly attribute DOMString name;
readonly attribute GridDeclaration type;
/**
* These values are 1-indexed line numbers bounding the area.
*/
readonly attribute unsigned long rowStart;
readonly attribute unsigned long rowEnd;
readonly attribute unsigned long columnStart;
readonly attribute unsigned long columnEnd;
};