Files
blockly/core/utils/metrics.ts
2022-08-01 13:09:51 -07:00

155 lines
2.8 KiB
TypeScript

/**
* @license
* Copyright 2020 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
/**
* @fileoverview Workspace metrics definitions.
*/
'use strict';
/**
* Workspace metrics definitions.
* @namespace Blockly.utils.Metrics
*/
goog.module('Blockly.utils.Metrics');
/**
* @record
* @alias Blockly.utils.Metrics
*/
const Metrics = function() {};
/**
* Height of the visible portion of the workspace.
* @type {number}
*/
Metrics.prototype.viewHeight;
/**
* Width of the visible portion of the workspace.
* @type {number}
*/
Metrics.prototype.viewWidth;
/**
* Height of the content.
* @type {number}
*/
Metrics.prototype.contentHeight;
/**
* Width of the content.
* @type {number}
*/
Metrics.prototype.contentWidth;
/**
* Height of the scroll area.
* @type {number}
*/
Metrics.prototype.scrollHeight;
/**
* Width of the scroll area.
* @type {number}
*/
Metrics.prototype.scrollWidth;
/**
* Top-edge of the visible portion of the workspace, relative to the workspace
* origin.
* @type {number}
*/
Metrics.prototype.viewTop;
/**
* Left-edge of the visible portion of the workspace, relative to the workspace
* origin.
* @type {number}
*/
Metrics.prototype.viewLeft;
/**
* Top-edge of the content, relative to the workspace origin.
* @type {number}
*/
Metrics.prototype.contentTop;
/**
* Left-edge of the content relative to the workspace origin.
* @type {number}
*/
Metrics.prototype.contentLeft;
/**
* Top-edge of the scroll area, relative to the workspace origin.
* @type {number}
*/
Metrics.prototype.scrollTop;
/**
* Left-edge of the scroll area relative to the workspace origin.
* @type {number}
*/
Metrics.prototype.scrollLeft;
/**
* Top-edge of the visible portion of the workspace, relative to the blocklyDiv.
* @type {number}
*/
Metrics.prototype.absoluteTop;
/**
* Left-edge of the visible portion of the workspace, relative to the
* blocklyDiv.
* @type {number}
*/
Metrics.prototype.absoluteLeft;
/**
* Height of the Blockly div (the view + the toolbox, simple of otherwise).
* @type {number}
*/
Metrics.prototype.svgHeight;
/**
* Width of the Blockly div (the view + the toolbox, simple or otherwise).
* @type {number}
*/
Metrics.prototype.svgWidth;
/**
* Width of the toolbox, if it exists. Otherwise zero.
* @type {number}
*/
Metrics.prototype.toolboxWidth;
/**
* Height of the toolbox, if it exists. Otherwise zero.
* @type {number}
*/
Metrics.prototype.toolboxHeight;
/**
* Top, bottom, left or right. Use TOOLBOX_AT constants to compare.
* @type {number}
*/
Metrics.prototype.toolboxPosition;
/**
* Width of the flyout if it is always open. Otherwise zero.
* @type {number}
*/
Metrics.prototype.flyoutWidth;
/**
* Height of the flyout if it is always open. Otherwise zero.
* @type {number}
*/
Metrics.prototype.flyoutHeight;
exports.Metrics = Metrics;