mirror of
https://github.com/scratchfoundation/scratch-blocks.git
synced 2025-06-06 01:44:35 -04:00
160 lines
4.6 KiB
JavaScript
160 lines
4.6 KiB
JavaScript
/**
|
|
* @license
|
|
* Visual Blocks Editor
|
|
*
|
|
* Copyright 2016 Massachusetts Institute of Technology
|
|
* All rights reserved.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
goog.provide('Blockly.Colours');
|
|
|
|
Blockly.Colours = {
|
|
// SVG colours: these must be specificed in #RRGGBB style
|
|
// To add an opacity, this must be specified as a separate property (for SVG fill-opacity)
|
|
"motion": {
|
|
"primary": "#4C97FF",
|
|
"secondary": "#4280D7",
|
|
"tertiary": "#3373CC",
|
|
"quaternary": "#3373CC"
|
|
},
|
|
"looks": {
|
|
"primary": "#9966FF",
|
|
"secondary": "#855CD6",
|
|
"tertiary": "#774DCB",
|
|
"quaternary": "#774DCB"
|
|
},
|
|
"sounds": {
|
|
"primary": "#CF63CF",
|
|
"secondary": "#C94FC9",
|
|
"tertiary": "#BD42BD",
|
|
"quaternary": "#BD42BD"
|
|
},
|
|
"control": {
|
|
"primary": "#FFAB19",
|
|
"secondary": "#EC9C13",
|
|
"tertiary": "#CF8B17",
|
|
"quaternary": "#CF8B17"
|
|
},
|
|
"event": {
|
|
"primary": "#FFBF00",
|
|
"secondary": "#E6AC00",
|
|
"tertiary": "#CC9900",
|
|
"quaternary": "#CC9900"
|
|
},
|
|
"sensing": {
|
|
"primary": "#5CB1D6",
|
|
"secondary": "#47A8D1",
|
|
"tertiary": "#2E8EB8",
|
|
"quaternary": "#2E8EB8"
|
|
},
|
|
"pen": {
|
|
"primary": "#0fBD8C",
|
|
"secondary": "#0DA57A",
|
|
"tertiary": "#0B8E69",
|
|
"quaternary": "#0B8E69"
|
|
},
|
|
"operators": {
|
|
"primary": "#59C059",
|
|
"secondary": "#46B946",
|
|
"tertiary": "#389438",
|
|
"quaternary": "#389438"
|
|
},
|
|
"data": {
|
|
"primary": "#FF8C1A",
|
|
"secondary": "#FF8000",
|
|
"tertiary": "#DB6E00",
|
|
"quaternary": "#DB6E00"
|
|
},
|
|
// This is not a new category, but rather for differentiation
|
|
// between lists and scalar variables.
|
|
"data_lists": {
|
|
"primary": "#FF661A",
|
|
"secondary": "#FF5500",
|
|
"tertiary": "#E64D00",
|
|
"quaternary": "#E64D00"
|
|
},
|
|
"more": {
|
|
"primary": "#FF6680",
|
|
"secondary": "#FF4D6A",
|
|
"tertiary": "#FF3355",
|
|
"quaternary": "#FF3355"
|
|
},
|
|
"text": "#FFFFFF",
|
|
"workspace": "#F9F9F9",
|
|
"toolboxHover": "#4C97FF",
|
|
"toolboxSelected": "#e9eef2",
|
|
"toolboxText": "#575E75",
|
|
"toolbox": "#FFFFFF",
|
|
"flyout": "#F9F9F9",
|
|
"scrollbar": "#CECDCE",
|
|
"scrollbarHover": '#CECDCE',
|
|
"textField": "#FFFFFF",
|
|
"textFieldText": "#575E75",
|
|
"insertionMarker": "#000000",
|
|
"insertionMarkerOpacity": 0.2,
|
|
"dragShadowOpacity": 0.3,
|
|
"stackGlow": "#FFF200",
|
|
"stackGlowSize": 4,
|
|
"stackGlowOpacity": 1,
|
|
"replacementGlow": "#FFFFFF",
|
|
"replacementGlowSize": 2,
|
|
"replacementGlowOpacity": 1,
|
|
"colourPickerStroke": "#FFFFFF",
|
|
// CSS colours: support RGBA
|
|
"fieldShadow": "rgba(0,0,0,0.1)",
|
|
"dropDownShadow": "rgba(0, 0, 0, .3)",
|
|
"numPadBackground": "#547AB2",
|
|
"numPadBorder": "#435F91",
|
|
"numPadActiveBackground": "#435F91",
|
|
"numPadText": "white", // Do not use hex here, it cannot be inlined with data-uri SVG
|
|
"valueReportBackground": "#FFFFFF",
|
|
"valueReportBorder": "#AAAAAA",
|
|
"menuHover": "rgba(0, 0, 0, 0.2)"
|
|
};
|
|
|
|
/**
|
|
* Override the colours in Blockly.Colours with new values basded on the
|
|
* given dictionary.
|
|
* @param {!Object} colours Dictionary of colour properties and new values.
|
|
* @package
|
|
*/
|
|
Blockly.Colours.overrideColours = function(colours) {
|
|
// Colour overrides provided by the injection
|
|
if (colours) {
|
|
for (var colourProperty in colours) {
|
|
if (colours.hasOwnProperty(colourProperty) &&
|
|
Blockly.Colours.hasOwnProperty(colourProperty)) {
|
|
// If a property is in both colours option and Blockly.Colours,
|
|
// set the Blockly.Colours value to the override.
|
|
// Override Blockly category color object properties with those
|
|
// provided.
|
|
var colourPropertyValue = colours[colourProperty];
|
|
if (goog.isObject(colourPropertyValue)) {
|
|
for (var colourSequence in colourPropertyValue) {
|
|
if (colourPropertyValue.hasOwnProperty(colourSequence) &&
|
|
Blockly.Colours[colourProperty].hasOwnProperty(colourSequence)) {
|
|
Blockly.Colours[colourProperty][colourSequence] =
|
|
colourPropertyValue[colourSequence];
|
|
}
|
|
}
|
|
} else {
|
|
Blockly.Colours[colourProperty] = colourPropertyValue;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|