mirror of
https://github.com/google/blockly.git
synced 2026-01-06 00:20:37 +01:00
Our files are up to a decade old, and have churned so much, that the initial author of the file no longer has much meaning. Furthermore, this will encourage developers to post to the developer group, rather than emailing Googlers (usually me) directly.
96 lines
2.6 KiB
JavaScript
96 lines
2.6 KiB
JavaScript
/**
|
|
* @license
|
|
* Copyright 2020 Google LLC
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
/**
|
|
* @fileoverview The interface for a bubble.
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
/**
|
|
* The interface for a bubble.
|
|
* @namespace Blockly.IBubble
|
|
*/
|
|
goog.module('Blockly.IBubble');
|
|
|
|
/* eslint-disable-next-line no-unused-vars */
|
|
const Coordinate = goog.requireType('Blockly.utils.Coordinate');
|
|
/* eslint-disable-next-line no-unused-vars */
|
|
const IContextMenu = goog.require('Blockly.IContextMenu');
|
|
/* eslint-disable-next-line no-unused-vars */
|
|
const IDraggable = goog.require('Blockly.IDraggable');
|
|
/* eslint-disable-next-line no-unused-vars */
|
|
const {BlockDragSurfaceSvg} = goog.requireType('Blockly.BlockDragSurfaceSvg');
|
|
|
|
|
|
/**
|
|
* A bubble interface.
|
|
* @interface
|
|
* @extends {IDraggable}
|
|
* @extends {IContextMenu}
|
|
* @alias Blockly.IBubble
|
|
*/
|
|
const IBubble = function() {};
|
|
|
|
/**
|
|
* Return the coordinates of the top-left corner of this bubble's body relative
|
|
* to the drawing surface's origin (0,0), in workspace units.
|
|
* @return {!Coordinate} Object with .x and .y properties.
|
|
*/
|
|
IBubble.prototype.getRelativeToSurfaceXY;
|
|
|
|
/**
|
|
* Return the root node of the bubble's SVG group.
|
|
* @return {!SVGElement} The root SVG node of the bubble's group.
|
|
*/
|
|
IBubble.prototype.getSvgRoot;
|
|
|
|
/**
|
|
* Set whether auto-layout of this bubble is enabled. The first time a bubble
|
|
* is shown it positions itself to not cover any blocks. Once a user has
|
|
* dragged it to reposition, it renders where the user put it.
|
|
* @param {boolean} enable True if auto-layout should be enabled, false
|
|
* otherwise.
|
|
*/
|
|
IBubble.prototype.setAutoLayout;
|
|
|
|
/**
|
|
* Triggers a move callback if one exists at the end of a drag.
|
|
* @param {boolean} adding True if adding, false if removing.
|
|
*/
|
|
IBubble.prototype.setDragging;
|
|
|
|
/**
|
|
* Move this bubble during a drag, taking into account whether or not there is
|
|
* a drag surface.
|
|
* @param {?BlockDragSurfaceSvg} dragSurface The surface that carries
|
|
* rendered items during a drag, or null if no drag surface is in use.
|
|
* @param {!Coordinate} newLoc The location to translate to, in
|
|
* workspace coordinates.
|
|
*/
|
|
IBubble.prototype.moveDuringDrag;
|
|
|
|
/**
|
|
* Move the bubble to the specified location in workspace coordinates.
|
|
* @param {number} x The x position to move to.
|
|
* @param {number} y The y position to move to.
|
|
*/
|
|
IBubble.prototype.moveTo;
|
|
|
|
/**
|
|
* Update the style of this bubble when it is dragged over a delete area.
|
|
* @param {boolean} enable True if the bubble is about to be deleted, false
|
|
* otherwise.
|
|
*/
|
|
IBubble.prototype.setDeleteStyle;
|
|
|
|
/**
|
|
* Dispose of this bubble.
|
|
*/
|
|
IBubble.prototype.dispose;
|
|
|
|
exports = IBubble;
|