forked from TurboWarp/scratch-blocks
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathblocks_compressed.js
More file actions
45 lines (39 loc) · 12.8 KB
/
blocks_compressed.js
File metadata and controls
45 lines (39 loc) · 12.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
// Do not edit this file; automatically generated by build.py.
'use strict';
/*
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.
*/
Blockly.Colours={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"},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",blackText:"#575E75",toolbox:"#FFFFFF",flyout:"#F9F9F9",scrollbar:"#CECDCE",scrollbarHover:"#CECDCE",textField:"#FFFFFF",textFieldText:"#575E75",insertionMarker:"#000000",insertionMarkerOpacity:.2,dragShadowOpacity:.3,stackGlow:"#FFF200",stackGlowSize:4,stackGlowOpacity:1,replacementGlow:"#FFFFFF",replacementGlowSize:2,replacementGlowOpacity:1,colourPickerStroke:"#FFFFFF",fieldShadow:"rgba(0,0,0,0.1)",dropDownShadow:"rgba(0, 0, 0, .3)",numPadBackground:"#547AB2",
numPadBorder:"#435F91",numPadActiveBackground:"#435F91",numPadText:"white",valueReportBackground:"#FFFFFF",valueReportBorder:"#AAAAAA",valueReportForeground:"#000000",menuHover:"rgba(0, 0, 0, 0.2)",contextMenuBackground:"#ffffff",contextMenuBorder:"#cccccc",contextMenuForeground:"#000000",contextMenuActiveBackground:"#d6e9f8",contextMenuDisabledForeground:"#cccccc",flyoutLabelColor:"#575E75",checkboxInactiveBackground:"#ffffff",checkboxInactiveBorder:"#c8c8c8",checkboxActiveBackground:"#4C97FF",checkboxActiveBorder:"#3373CC",
checkboxCheck:"#ffffff",buttonActiveBackground:"#ffffff",buttonForeground:"#575E75",buttonBorder:"#c6c6c6",zoomIconFilter:"none"};Blockly.Colours.overrideColours=function(a){if(a)for(var b in a)if(a.hasOwnProperty(b)&&Blockly.Colours.hasOwnProperty(b)){var d=a[b];if(goog.isObject(d))for(var c in d)d.hasOwnProperty(c)&&Blockly.Colours[b].hasOwnProperty(c)&&(Blockly.Colours[b][c]=d[c]);else Blockly.Colours[b]=d}};
Blockly.constants={};Blockly.DRAG_RADIUS=3;Blockly.FLYOUT_DRAG_RADIUS=10;Blockly.SNAP_RADIUS=48;Blockly.CONNECTING_SNAP_RADIUS=68;Blockly.CURRENT_CONNECTION_PREFERENCE=20;Blockly.BUMP_DELAY=0;Blockly.COLLAPSE_CHARS=30;Blockly.LONGPRESS=750;Blockly.LINE_SCROLL_MULTIPLIER=15;Blockly.SOUND_LIMIT=100;Blockly.DRAG_STACK=!0;Blockly.HSV_SATURATION=.45;Blockly.HSV_VALUE=.65;Blockly.SPRITE={width:96,height:124,url:"sprites.png"};Blockly.SVG_NS="http://www.w3.org/2000/svg";Blockly.HTML_NS="http://www.w3.org/1999/xhtml";
Blockly.INPUT_VALUE=1;Blockly.OUTPUT_VALUE=2;Blockly.NEXT_STATEMENT=3;Blockly.PREVIOUS_STATEMENT=4;Blockly.DUMMY_INPUT=5;Blockly.ALIGN_LEFT=-1;Blockly.ALIGN_CENTRE=0;Blockly.ALIGN_RIGHT=1;Blockly.DRAG_NONE=0;Blockly.DRAG_STICKY=1;Blockly.DRAG_BEGIN=1;Blockly.DRAG_FREE=2;Blockly.OPPOSITE_TYPE=[];Blockly.OPPOSITE_TYPE[Blockly.INPUT_VALUE]=Blockly.OUTPUT_VALUE;Blockly.OPPOSITE_TYPE[Blockly.OUTPUT_VALUE]=Blockly.INPUT_VALUE;Blockly.OPPOSITE_TYPE[Blockly.NEXT_STATEMENT]=Blockly.PREVIOUS_STATEMENT;
Blockly.OPPOSITE_TYPE[Blockly.PREVIOUS_STATEMENT]=Blockly.NEXT_STATEMENT;Blockly.TOOLBOX_AT_TOP=0;Blockly.TOOLBOX_AT_BOTTOM=1;Blockly.TOOLBOX_AT_LEFT=2;Blockly.TOOLBOX_AT_RIGHT=3;Blockly.OUTPUT_SHAPE_HEXAGONAL=1;Blockly.OUTPUT_SHAPE_ROUND=2;Blockly.OUTPUT_SHAPE_SQUARE=3;Blockly.Categories={motion:"motion",looks:"looks",sound:"sounds",pen:"pen",data:"data",dataLists:"data-lists",event:"events",control:"control",sensing:"sensing",operators:"operators",more:"more"};Blockly.DELETE_AREA_NONE=null;
Blockly.DELETE_AREA_TRASH=1;Blockly.DELETE_AREA_TOOLBOX=2;Blockly.VARIABLE_CATEGORY_NAME="VARIABLE";Blockly.PROCEDURE_CATEGORY_NAME="PROCEDURE";Blockly.RENAME_VARIABLE_ID="RENAME_VARIABLE_ID";Blockly.DELETE_VARIABLE_ID="DELETE_VARIABLE_ID";Blockly.NEW_BROADCAST_MESSAGE_ID="NEW_BROADCAST_MESSAGE_ID";Blockly.BROADCAST_MESSAGE_VARIABLE_TYPE="broadcast_msg";Blockly.LIST_VARIABLE_TYPE="list";Blockly.SCALAR_VARIABLE_TYPE="";Blockly.PROCEDURES_DEFINITION_BLOCK_TYPE="procedures_definition";
Blockly.PROCEDURES_PROTOTYPE_BLOCK_TYPE="procedures_prototype";Blockly.PROCEDURES_CALL_BLOCK_TYPE="procedures_call";Blockly.PROCEDURES_CALL_TYPE_STATEMENT=0;Blockly.PROCEDURES_CALL_TYPE_REPORTER=1;Blockly.PROCEDURES_CALL_TYPE_BOOLEAN=2;Blockly.PROCEDURES_RETURN_BLOCK_TYPE="procedures_return";Blockly.StatusButtonState={READY:"ready",NOT_READY:"not ready"};Blockly.Blocks.checkbox={};Blockly.Blocks.checkbox={init:function(){this.jsonInit({message0:"%1",args0:[{type:"field_checkbox_original",name:"CHECKBOX"}],output:"Boolean",outputShape:Blockly.OUTPUT_SHAPE_HEXAGONAL,colour:Blockly.Colours.textField,colourSecondary:Blockly.Colours.textField,colourTertiary:Blockly.Colours.textField,colourQuaternary:Blockly.Colours.textField})}};
Blockly.Blocks.colour={};function randomColour(){return"#"+("00000"+Math.floor(Math.random()*Math.pow(2,24)).toString(16)).substr(-6)}Blockly.Blocks.colour_picker={init:function(){this.jsonInit({message0:"%1",args0:[{type:"field_colour_slider",name:"COLOUR",colour:randomColour()}],outputShape:Blockly.OUTPUT_SHAPE_ROUND,output:"Colour"})}};Blockly.Blocks.customInput={};Blockly.Blocks.customInput={init:function(){this.jsonInit({message0:"%1",args0:[{type:"field_customInput",name:"CUSTOM"}],outputShape:Blockly.OUTPUT_SHAPE_SQUARE,output:"String",extensions:["colours_pen"]})}};Blockly.Blocks.math={};Blockly.Blocks.math_number={init:function(){this.jsonInit({message0:"%1",args0:[{type:"field_number",name:"NUM",value:"0"}],output:"Number",outputShape:Blockly.OUTPUT_SHAPE_ROUND,colour:Blockly.Colours.textField,colourSecondary:Blockly.Colours.textField,colourTertiary:Blockly.Colours.textField,colourQuaternary:Blockly.Colours.textField})}};
Blockly.Blocks.math_integer={init:function(){this.jsonInit({message0:"%1",args0:[{type:"field_number",name:"NUM",precision:1}],output:"Number",outputShape:Blockly.OUTPUT_SHAPE_ROUND,colour:Blockly.Colours.textField,colourSecondary:Blockly.Colours.textField,colourTertiary:Blockly.Colours.textField,colourQuaternary:Blockly.Colours.textField})}};
Blockly.Blocks.math_whole_number={init:function(){this.jsonInit({message0:"%1",args0:[{type:"field_number",name:"NUM",min:0,precision:1}],output:"Number",outputShape:Blockly.OUTPUT_SHAPE_ROUND,colour:Blockly.Colours.textField,colourSecondary:Blockly.Colours.textField,colourTertiary:Blockly.Colours.textField,colourQuaternary:Blockly.Colours.textField})}};
Blockly.Blocks.math_positive_number={init:function(){this.jsonInit({message0:"%1",args0:[{type:"field_number",name:"NUM",min:0}],output:"Number",outputShape:Blockly.OUTPUT_SHAPE_ROUND,colour:Blockly.Colours.textField,colourSecondary:Blockly.Colours.textField,colourTertiary:Blockly.Colours.textField,colourQuaternary:Blockly.Colours.textField})}};
Blockly.Blocks.math_angle={init:function(){this.jsonInit({message0:"%1",args0:[{type:"field_angle",name:"NUM",value:90}],output:"Number",outputShape:Blockly.OUTPUT_SHAPE_ROUND,colour:Blockly.Colours.textField,colourSecondary:Blockly.Colours.textField,colourTertiary:Blockly.Colours.textField,colourQuaternary:Blockly.Colours.textField})}};Blockly.Blocks.matrix={};Blockly.Blocks.matrix={init:function(){this.jsonInit({message0:"%1",args0:[{type:"field_matrix",name:"MATRIX"}],outputShape:Blockly.OUTPUT_SHAPE_ROUND,output:"Number",extensions:["colours_pen"]})}};Blockly.Blocks.note={};Blockly.Blocks.note={init:function(){this.jsonInit({message0:"%1",args0:[{type:"field_note",name:"NOTE",value:60}],outputShape:Blockly.OUTPUT_SHAPE_ROUND,output:"Number",colour:Blockly.Colours.textField,colourSecondary:Blockly.Colours.textField,colourTertiary:Blockly.Colours.textField,colourQuaternary:Blockly.Colours.textField})}};Blockly.Blocks.polygon={};var getXYForPoint=function(a,b,d,c){d=Array.isArray(d)?d:[0,0];c="number"===typeof c?c:10;b=360/b;a=Blockly.utils.toRadians(b*a-b/2-90);return[Math.cos(a)*c+d[0],Math.sin(a)*c+d[1]]};
Blockly.Blocks.polygon={init:function(){this.color=Blockly.Colours.pen.primary;this.expanded=this.needsInit=!0;this.points=0;this.offset=[0,0];this.scale=50;this.oldConnections={};this.myBlocks={};this.initGenerate()},mutationToDom:function(){var a=document.createElement("mutation");a.setAttribute("points",JSON.stringify(this.points));a.setAttribute("color",this.color);a.setAttribute("midle",JSON.stringify(this.offset));a.setAttribute("scale",JSON.stringify(this.scale));a.setAttribute("expanded",
JSON.stringify(this.expanded));a.setAttribute("needsInit",JSON.stringify(this.needsInit));return a},domToMutation:function(a){var b=JSON.parse(a.getAttribute("points")),d=a.getAttribute("color")||"",c=JSON.parse(a.getAttribute("midle")||'""'),e=JSON.parse(a.getAttribute("scale")||'""');a=JSON.parse(a.getAttribute("needsInit")||"true");b!==this.points&&(this.clear(),this.points=b,a?this.initGenerate():this.generate());"string"===typeof d&&(this.color=d);c&&Array.isArray(c)&&(this.offset=c);"number"===
typeof e&&(this.length=e);!1!==this.expanded&&(this.setExpanded(!1),this.setFieldValue(!1,"button"))},clear:function(){for(var a={},b=1;b<=this.points;b++){var d="x"+b,c="y"+b,e=this.getInput(d),h=this.getInput(c);a[d]=e.connection.targetConnection;a[c]=h.connection.targetConnection;this.removeInput(d);this.removeInput(c)}this.removeInput("buttonContainer");this.oldConnections=a},initGenerate:function(){var a=this;this.setColour(this.color,this.color,this.color);this.setOutputShape(Blockly.OUTPUT_SHAPE_SQUARE);
this.setOutput(!0,"math_polygon");this.setShadow(!0);var b=new Blockly.FieldCheckbox(this.expanded,function(b){if(!a.isInFlyout)return a.needsInit=!1,a.generate(),a.inputList[0].setVisible(!1),a.render(),b});this.appendDummyInput("buttonContainer").appendField(b,"button");this.render(!0)},generate:function(){for(var a=this,b=this.oldConnections,d=1;d<=this.points;d++){var c="x"+d,e="y"+d,h=this.appendValueInput(c),k=this.appendValueInput(e),l=h.connection,m=k.connection;this.myBlocks[c]&&!this.myBlocks[c].outputConnection.targetConnection&&
(this.myBlocks[c].dispose(),delete this.myBlocks[c]);this.myBlocks[e]&&!this.myBlocks[e].outputConnection.targetConnection&&(this.myBlocks[e].dispose(),delete this.myBlocks[e]);if(!this.getInput(c).connection.targetConnection||!this.getInput(e).connection.targetConnection){var f=this.workspace.newBlock("math_number"),g=this.workspace.newBlock("math_number"),n=getXYForPoint(d-1,this.points,this.offset,this.scale);f.setFieldValue(String(n[0]),"NUM");g.setFieldValue(String(n[1]),"NUM");f.setShadow(!0);
g.setShadow(!0);f.initSvg();g.initSvg();f.render(!0);g.render(!0);f.outputConnection.connect(l);g.outputConnection.connect(m);this.myBlocks[c]=f;this.myBlocks[e]=g}if(b[c]||b[e])f=b[c].getSourceBlock(),g=b[e].getSourceBlock(),b[c].connect(l),b[e].connect(m),f.initSvg(),g.initSvg(),f.render(!1),g.render(!1);h.appendField("x: ");k.appendField("y: ")}this.setColour(this.color,this.color,this.color);this.setOutputShape(Blockly.OUTPUT_SHAPE_SQUARE);this.setOutput(!0,"math_polygon");this.setShadow(!0);
var p=this;b=new Blockly.FieldCheckbox(this.expanded,function(b){a.needsInit=!1;p.setExpanded(b);return b});this.appendDummyInput("buttonContainer").appendField(b,"button");this.render(!0)},setExpanded:function(a){if(!this.needsInit){this.expanded=a;for(var b=1;b<=this.points;b++){var d="y"+b,c=this.getInput("x"+b);d=this.getInput(d);c.visible_=!a;c.setVisible(a);d.visible_=!a;d.setVisible(a)}this.initSvg();this.rerenderChildBlocks()}},rerenderChildBlocks:function(){var a=function(b){var d=b.childBlocks_;
d.length&&b.render(!0);b=0;for(var c;c=d[b];b++)c.render(!1),a(c)};a(this)}};Blockly.Blocks.texts={};Blockly.Blocks.text={init:function(){this.jsonInit({message0:"%1",args0:[{type:"field_input",name:"TEXT"}],output:"String",outputShape:Blockly.OUTPUT_SHAPE_ROUND,colour:Blockly.Colours.textField,colourSecondary:Blockly.Colours.textField,colourTertiary:Blockly.Colours.textField,colourQuaternary:Blockly.Colours.textField})}};