mirror of
https://github.com/google/blockly.git
synced 2026-01-04 23:50:12 +01:00
* chore: remove deprecated functionality in events files * chore: remove deprecated items in renderers * chore: remove deprecated items in core * chore: remove mixin deprecation * chore: fix tests after removing deprecations
114 lines
3.6 KiB
TypeScript
114 lines
3.6 KiB
TypeScript
/**
|
|
* @license
|
|
* Copyright 2019 Google LLC
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
import * as goog from '../../../closure/goog/goog.js';
|
|
goog.declareModuleId('Blockly.blockRendering');
|
|
|
|
import * as registry from '../../registry.js';
|
|
import type {Theme} from '../../theme.js';
|
|
import {Measurable} from '../measurables/base.js';
|
|
import {BottomRow} from '../measurables/bottom_row.js';
|
|
import {Connection} from '../measurables/connection.js';
|
|
import {ExternalValueInput} from '../measurables/external_value_input.js';
|
|
import {Field} from '../measurables/field.js';
|
|
import {Hat} from '../measurables/hat.js';
|
|
import {Icon} from '../measurables/icon.js';
|
|
import {InRowSpacer} from '../measurables/in_row_spacer.js';
|
|
import {InlineInput} from '../measurables/inline_input.js';
|
|
import {InputConnection} from '../measurables/input_connection.js';
|
|
import {InputRow} from '../measurables/input_row.js';
|
|
import {JaggedEdge} from '../measurables/jagged_edge.js';
|
|
import {NextConnection} from '../measurables/next_connection.js';
|
|
import {OutputConnection} from '../measurables/output_connection.js';
|
|
import {PreviousConnection} from '../measurables/previous_connection.js';
|
|
import {RoundCorner} from '../measurables/round_corner.js';
|
|
import {Row} from '../measurables/row.js';
|
|
import {SpacerRow} from '../measurables/spacer_row.js';
|
|
import {SquareCorner} from '../measurables/square_corner.js';
|
|
import {StatementInput} from '../measurables/statement_input.js';
|
|
import {TopRow} from '../measurables/top_row.js';
|
|
import {Types} from '../measurables/types.js';
|
|
|
|
import {ConstantProvider} from './constants.js';
|
|
import {Debug} from './debugger.js';
|
|
import {Drawer} from './drawer.js';
|
|
import type {IPathObject} from './i_path_object.js';
|
|
import {RenderInfo} from './info.js';
|
|
import {MarkerSvg} from './marker_svg.js';
|
|
import {PathObject} from './path_object.js';
|
|
import {Renderer} from './renderer.js';
|
|
|
|
/**
|
|
* Registers a new renderer.
|
|
*
|
|
* @param name The name of the renderer.
|
|
* @param rendererClass The new renderer class to register.
|
|
* @throws {Error} if a renderer with the same name has already been registered.
|
|
*/
|
|
export function register(name: string, rendererClass: Function) {
|
|
registry.register(registry.Type.RENDERER, name, rendererClass);
|
|
}
|
|
|
|
/**
|
|
* Unregisters the renderer registered with the given name.
|
|
*
|
|
* @param name The name of the renderer.
|
|
*/
|
|
export function unregister(name: string) {
|
|
registry.unregister(registry.Type.RENDERER, name);
|
|
}
|
|
|
|
/**
|
|
* Initialize anything needed for rendering (constants, etc).
|
|
*
|
|
* @param name Name of the renderer to initialize.
|
|
* @param theme The workspace theme object.
|
|
* @param opt_rendererOverrides Rendering constant overrides.
|
|
* @returns The new instance of a renderer.
|
|
* Already initialized.
|
|
* @internal
|
|
*/
|
|
export function init(
|
|
name: string,
|
|
theme: Theme,
|
|
opt_rendererOverrides?: {[rendererConstant: string]: any}
|
|
): Renderer {
|
|
const rendererClass = registry.getClass(registry.Type.RENDERER, name);
|
|
const renderer = new rendererClass!(name);
|
|
renderer.init(theme, opt_rendererOverrides);
|
|
return renderer;
|
|
}
|
|
export {BottomRow};
|
|
export {Connection};
|
|
export {ConstantProvider};
|
|
export {Debug};
|
|
export {Drawer};
|
|
export {ExternalValueInput};
|
|
export {Field};
|
|
export {Hat};
|
|
export {Icon};
|
|
export {InRowSpacer};
|
|
export {InlineInput};
|
|
export {InputConnection};
|
|
export {InputRow};
|
|
export {IPathObject};
|
|
export {JaggedEdge};
|
|
export {MarkerSvg};
|
|
export {Measurable};
|
|
export {NextConnection};
|
|
export {OutputConnection};
|
|
export {PathObject};
|
|
export {PreviousConnection};
|
|
export {Renderer};
|
|
export {RenderInfo};
|
|
export {RoundCorner};
|
|
export {Row};
|
|
export {SpacerRow};
|
|
export {SquareCorner};
|
|
export {StatementInput};
|
|
export {TopRow};
|
|
export {Types};
|