mirror of
https://github.com/google/blockly.git
synced 2026-01-09 01:50:11 +01:00
Use Blockly.blocks.* for blocks modules, leaving the Blockly.Blocks name for the block dictionary object. This resolves a problem with advanced compilation of Blockly Games, where, in the compressed output, (the minified name of) Blockly.Blocks gets overwritten, with the dictionary object defined in core/blocks.js being replaced by an empty namespace object created by the provides of Blockly.Blocks.* in blocks/*.js. Without this fix, some block definitions end up being created in the dictionary and some on the namespace object—with chaos predictably ensuing.
116 lines
2.7 KiB
JavaScript
116 lines
2.7 KiB
JavaScript
/**
|
|
* @license
|
|
* Copyright 2012 Google LLC
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
/**
|
|
* @fileoverview Colour blocks for Blockly.
|
|
*/
|
|
'use strict';
|
|
|
|
goog.provide('Blockly.blocks.colour');
|
|
goog.provide('Blockly.Constants.Colour');
|
|
|
|
goog.require('Blockly');
|
|
goog.require('Blockly.FieldColour');
|
|
goog.require('Blockly.FieldLabel');
|
|
|
|
|
|
/**
|
|
* Unused constant for the common HSV hue for all blocks in this category.
|
|
* @deprecated Use Blockly.Msg['COLOUR_HUE']. (2018 April 5)
|
|
*/
|
|
Blockly.Constants.Colour.HUE = 20;
|
|
|
|
Blockly.defineBlocksWithJsonArray([
|
|
// Block for colour picker.
|
|
{
|
|
"type": "colour_picker",
|
|
"message0": "%1",
|
|
"args0": [
|
|
{
|
|
"type": "field_colour",
|
|
"name": "COLOUR",
|
|
"colour": "#ff0000",
|
|
},
|
|
],
|
|
"output": "Colour",
|
|
"helpUrl": "%{BKY_COLOUR_PICKER_HELPURL}",
|
|
"style": "colour_blocks",
|
|
"tooltip": "%{BKY_COLOUR_PICKER_TOOLTIP}",
|
|
"extensions": ["parent_tooltip_when_inline"],
|
|
},
|
|
|
|
// Block for random colour.
|
|
{
|
|
"type": "colour_random",
|
|
"message0": "%{BKY_COLOUR_RANDOM_TITLE}",
|
|
"output": "Colour",
|
|
"helpUrl": "%{BKY_COLOUR_RANDOM_HELPURL}",
|
|
"style": "colour_blocks",
|
|
"tooltip": "%{BKY_COLOUR_RANDOM_TOOLTIP}",
|
|
},
|
|
|
|
// Block for composing a colour from RGB components.
|
|
{
|
|
"type": "colour_rgb",
|
|
"message0": "%{BKY_COLOUR_RGB_TITLE} %{BKY_COLOUR_RGB_RED} %1 %{BKY_COLOUR_RGB_GREEN} %2 %{BKY_COLOUR_RGB_BLUE} %3",
|
|
"args0": [
|
|
{
|
|
"type": "input_value",
|
|
"name": "RED",
|
|
"check": "Number",
|
|
"align": "RIGHT",
|
|
},
|
|
{
|
|
"type": "input_value",
|
|
"name": "GREEN",
|
|
"check": "Number",
|
|
"align": "RIGHT",
|
|
},
|
|
{
|
|
"type": "input_value",
|
|
"name": "BLUE",
|
|
"check": "Number",
|
|
"align": "RIGHT",
|
|
},
|
|
],
|
|
"output": "Colour",
|
|
"helpUrl": "%{BKY_COLOUR_RGB_HELPURL}",
|
|
"style": "colour_blocks",
|
|
"tooltip": "%{BKY_COLOUR_RGB_TOOLTIP}",
|
|
},
|
|
|
|
// Block for blending two colours together.
|
|
{
|
|
"type": "colour_blend",
|
|
"message0": "%{BKY_COLOUR_BLEND_TITLE} %{BKY_COLOUR_BLEND_COLOUR1} " +
|
|
"%1 %{BKY_COLOUR_BLEND_COLOUR2} %2 %{BKY_COLOUR_BLEND_RATIO} %3",
|
|
"args0": [
|
|
{
|
|
"type": "input_value",
|
|
"name": "COLOUR1",
|
|
"check": "Colour",
|
|
"align": "RIGHT",
|
|
},
|
|
{
|
|
"type": "input_value",
|
|
"name": "COLOUR2",
|
|
"check": "Colour",
|
|
"align": "RIGHT",
|
|
},
|
|
{
|
|
"type": "input_value",
|
|
"name": "RATIO",
|
|
"check": "Number",
|
|
"align": "RIGHT",
|
|
},
|
|
],
|
|
"output": "Colour",
|
|
"helpUrl": "%{BKY_COLOUR_BLEND_HELPURL}",
|
|
"style": "colour_blocks",
|
|
"tooltip": "%{BKY_COLOUR_BLEND_TOOLTIP}",
|
|
},
|
|
]);
|