mirror of
https://github.com/google/blockly.git
synced 2026-01-05 08:00:09 +01:00
* feat: make renderering methods public or protected * chore: formatting * chore: recommend thrasos more strongly
49 lines
1.3 KiB
TypeScript
49 lines
1.3 KiB
TypeScript
/**
|
|
* @license
|
|
* Copyright 2019 Google LLC
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
import * as goog from '../../../closure/goog/goog.js';
|
|
goog.declareModuleId('Blockly.geras.ConstantProvider');
|
|
|
|
import {ConstantProvider as BaseConstantProvider} from '../common/constants.js';
|
|
|
|
|
|
/**
|
|
* An object that provides constants for rendering blocks in Geras mode.
|
|
*/
|
|
export class ConstantProvider extends BaseConstantProvider {
|
|
override FIELD_TEXT_BASELINE_CENTER = false;
|
|
|
|
// The dark/shadow path in classic rendering is the same as the normal block
|
|
// path, but translated down one and right one.
|
|
DARK_PATH_OFFSET = 1;
|
|
|
|
/**
|
|
* The maximum width of a bottom row that follows a statement input and has
|
|
* inputs inline.
|
|
*/
|
|
MAX_BOTTOM_WIDTH = 30;
|
|
override STATEMENT_BOTTOM_SPACER = -this.NOTCH_HEIGHT / 2;
|
|
|
|
constructor() {
|
|
super();
|
|
}
|
|
|
|
override getCSS_(selector: string) {
|
|
return super.getCSS_(selector).concat([
|
|
/* eslint-disable indent */
|
|
/* clang-format off */
|
|
// Insertion marker.
|
|
`${selector} .blocklyInsertionMarker>.blocklyPathLight,`,
|
|
`${selector} .blocklyInsertionMarker>.blocklyPathDark {`,
|
|
`fill-opacity: ${this.INSERTION_MARKER_OPACITY};`,
|
|
`stroke: none;`,
|
|
'}',
|
|
/* clang-format on */
|
|
/* eslint-enable indent */
|
|
]);
|
|
}
|
|
}
|