kopia lustrzana https://github.com/backface/turtlestitch
refactored blocks.js with new Morphic constants
rodzic
20d77fab11
commit
2b739576bb
|
|
@ -7,7 +7,7 @@
|
|||
<script src="src/morphic.js?version=2020-07-01"></script>
|
||||
<script src="src/symbols.js?version=2020-06-17"></script>
|
||||
<script src="src/widgets.js?version=2020-05-06"></script>
|
||||
<script src="src/blocks.js?version=2020-06-24"></script>
|
||||
<script src="src/blocks.js?version=2020-07-01"></script>
|
||||
<script src="src/threads.js?version=2020-06-27"></script>
|
||||
<script src="src/objects.js?version=2020-06-26"></script>
|
||||
<script src="src/gui.js?version=2020-06-28"></script>
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ String, StringMorph, TextMorph, contains, degrees, detect, PianoMenuMorph,
|
|||
document, getDocumentPositionOf, isNaN, isString, newCanvas, nop, parseFloat,
|
||||
radians, useBlurredShadows, SpeechBubbleMorph, modules, StageMorph, Sound,
|
||||
fontHeight, TableFrameMorph, SpriteMorph, Context, ListWatcherMorph, Rectangle,
|
||||
DialogBoxMorph, BlockInputFragmentMorph, PrototypeHatBlockMorph,
|
||||
DialogBoxMorph, BlockInputFragmentMorph, PrototypeHatBlockMorph, WHITE, BLACK,
|
||||
Costume, IDE_Morph, BlockDialogMorph, BlockEditorMorph, localize, isNil,
|
||||
isSnapObject, PushButtonMorph, SpriteIconMorph, Process, AlignmentMorph,
|
||||
CustomCommandBlockMorph, SymbolMorph, ToggleButtonMorph, DialMorph*/
|
||||
|
|
@ -878,7 +878,7 @@ SyntaxElementMorph.prototype.labelPart = function (spec) {
|
|||
break;
|
||||
case '%br':
|
||||
part = new Morph();
|
||||
part.setExtent(new Point(0, 0));
|
||||
part.setExtent(ZERO);
|
||||
part.isBlockLabelBreak = true;
|
||||
part.getSpec = () => '%br';
|
||||
break;
|
||||
|
|
@ -1567,10 +1567,10 @@ SyntaxElementMorph.prototype.labelPart = function (spec) {
|
|||
case '%loopArrow':
|
||||
part = new SymbolMorph('loop');
|
||||
part.size = this.fontSize * 0.7;
|
||||
part.color = new Color(255, 255, 255);
|
||||
part.color = WHITE;
|
||||
part.shadowColor = this.color.darker(this.labelContrast);
|
||||
part.shadowOffset = MorphicPreferences.isFlat ?
|
||||
new Point() : this.embossing;
|
||||
ZERO : this.embossing;
|
||||
part.fixLayout();
|
||||
break;
|
||||
case '%clr':
|
||||
|
|
@ -1625,40 +1625,40 @@ SyntaxElementMorph.prototype.labelPart = function (spec) {
|
|||
case '%turtle':
|
||||
part = new SymbolMorph('turtle');
|
||||
part.size = this.fontSize * 1.2;
|
||||
part.color = new Color(255, 255, 255);
|
||||
part.color = WHITE;
|
||||
part.shadowColor = this.color.darker(this.labelContrast);
|
||||
part.shadowOffset = MorphicPreferences.isFlat ?
|
||||
new Point() : this.embossing;
|
||||
ZERO : this.embossing;
|
||||
part.fixLayout();
|
||||
break;
|
||||
case '%turtleOutline':
|
||||
part = new SymbolMorph('turtleOutline');
|
||||
part.size = this.fontSize;
|
||||
part.color = new Color(255, 255, 255);
|
||||
part.color = WHITE;
|
||||
part.isProtectedLabel = true; // doesn't participate in zebraing
|
||||
part.shadowColor = this.color.darker(this.labelContrast);
|
||||
part.shadowOffset = MorphicPreferences.isFlat ?
|
||||
new Point() : this.embossing;
|
||||
ZERO : this.embossing;
|
||||
part.fixLayout();
|
||||
break;
|
||||
case '%clockwise':
|
||||
part = new SymbolMorph('turnRight');
|
||||
part.size = this.fontSize * 1.5;
|
||||
part.color = new Color(255, 255, 255);
|
||||
part.color = WHITE;
|
||||
part.isProtectedLabel = false; // zebra colors
|
||||
part.shadowColor = this.color.darker(this.labelContrast);
|
||||
part.shadowOffset = MorphicPreferences.isFlat ?
|
||||
new Point() : this.embossing;
|
||||
ZERO : this.embossing;
|
||||
part.fixLayout();
|
||||
break;
|
||||
case '%counterclockwise':
|
||||
part = new SymbolMorph('turnLeft');
|
||||
part.size = this.fontSize * 1.5;
|
||||
part.color = new Color(255, 255, 255);
|
||||
part.color = WHITE;
|
||||
part.isProtectedLabel = false; // zebra colors
|
||||
part.shadowColor = this.color.darker(this.labelContrast);
|
||||
part.shadowOffset = MorphicPreferences.isFlat ?
|
||||
new Point() : this.embossing;
|
||||
ZERO : this.embossing;
|
||||
part.fixLayout();
|
||||
break;
|
||||
case '%greenflag':
|
||||
|
|
@ -1668,7 +1668,7 @@ SyntaxElementMorph.prototype.labelPart = function (spec) {
|
|||
part.isProtectedLabel = true; // doesn't participate in zebraing
|
||||
part.shadowColor = this.color.darker(this.labelContrast);
|
||||
part.shadowOffset = MorphicPreferences.isFlat ?
|
||||
new Point() : this.embossing;
|
||||
ZERO : this.embossing;
|
||||
part.fixLayout();
|
||||
break;
|
||||
case '%stop':
|
||||
|
|
@ -1678,7 +1678,7 @@ SyntaxElementMorph.prototype.labelPart = function (spec) {
|
|||
part.isProtectedLabel = true; // doesn't participate in zebraing
|
||||
part.shadowColor = this.color.darker(this.labelContrast);
|
||||
part.shadowOffset = MorphicPreferences.isFlat ?
|
||||
new Point() : this.embossing;
|
||||
ZERO : this.embossing;
|
||||
part.fixLayout();
|
||||
break;
|
||||
case '%pause':
|
||||
|
|
@ -1688,26 +1688,26 @@ SyntaxElementMorph.prototype.labelPart = function (spec) {
|
|||
part.isProtectedLabel = true; // doesn't participate in zebraing
|
||||
part.shadowColor = this.color.darker(this.labelContrast);
|
||||
part.shadowOffset = MorphicPreferences.isFlat ?
|
||||
new Point() : this.embossing;
|
||||
ZERO : this.embossing;
|
||||
part.fixLayout();
|
||||
break;
|
||||
case '%blitz':
|
||||
part = new SymbolMorph('flash');
|
||||
part.size = this.fontSize;
|
||||
part.color = new Color(255, 255, 255);
|
||||
part.color = WHITE;
|
||||
part.isProtectedLabel = false; // zebra colors
|
||||
part.shadowColor = this.color.darker(this.labelContrast);
|
||||
part.shadowOffset = MorphicPreferences.isFlat ?
|
||||
new Point() : this.embossing;
|
||||
ZERO : this.embossing;
|
||||
part.fixLayout();
|
||||
break;
|
||||
case '%list':
|
||||
part = new SymbolMorph('list');
|
||||
part.size = this.fontSize;
|
||||
part.color = new Color(255, 255, 255);
|
||||
part.color = WHITE;
|
||||
part.shadowColor = this.color.darker(this.labelContrast);
|
||||
part.shadowOffset = MorphicPreferences.isFlat ?
|
||||
new Point() : this.embossing;
|
||||
ZERO : this.embossing;
|
||||
part.fixLayout();
|
||||
break;
|
||||
|
||||
|
|
@ -1765,7 +1765,7 @@ SyntaxElementMorph.prototype.labelPart = function (spec) {
|
|||
part.isProtectedLabel = tokens.length > 2; // zebra colors
|
||||
part.shadowColor = this.color.darker(this.labelContrast);
|
||||
part.shadowOffset = MorphicPreferences.isFlat ?
|
||||
new Point() : this.embossing;
|
||||
ZERO : this.embossing;
|
||||
part.fixLayout();
|
||||
} else {
|
||||
part = new StringMorph(
|
||||
|
|
@ -1776,9 +1776,9 @@ SyntaxElementMorph.prototype.labelPart = function (spec) {
|
|||
false, // italic
|
||||
false, // isNumeric
|
||||
MorphicPreferences.isFlat ?
|
||||
new Point() : this.embossing, // shadowOffset
|
||||
ZERO : this.embossing, // shadowOffset
|
||||
this.color.darker(this.labelContrast), // shadowColor
|
||||
new Color(255, 255, 255), // color
|
||||
WHITE, // color
|
||||
this.labelFontName // fontName
|
||||
);
|
||||
}
|
||||
|
|
@ -4191,7 +4191,7 @@ BlockMorph.prototype.forceNormalColoring = function () {
|
|||
var clr = SpriteMorph.prototype.blockColor[this.category];
|
||||
this.setColor(clr);
|
||||
this.setLabelColor(
|
||||
new Color(255, 255, 255),
|
||||
WHITE,
|
||||
clr.darker(this.labelContrast),
|
||||
MorphicPreferences.isFlat ? ZERO : this.embossing
|
||||
);
|
||||
|
|
@ -4225,13 +4225,13 @@ BlockMorph.prototype.fixLabelColor = function () {
|
|||
var clr = SpriteMorph.prototype.blockColor[this.category];
|
||||
if (this.color.eq(clr)) {
|
||||
this.setLabelColor(
|
||||
new Color(255, 255, 255),
|
||||
WHITE,
|
||||
clr.darker(this.labelContrast),
|
||||
MorphicPreferences.isFlat ? null : this.embossing
|
||||
);
|
||||
} else {
|
||||
this.setLabelColor(
|
||||
new Color(0, 0, 0),
|
||||
BLACK,
|
||||
clr.lighter(this.zebraContrast)
|
||||
.lighter(this.labelContrast * 2),
|
||||
MorphicPreferences.isFlat ? null : this.embossing.neg()
|
||||
|
|
@ -6379,7 +6379,7 @@ ScriptsMorph.prototype.cleanUpSpacing = 15;
|
|||
ScriptsMorph.prototype.isPreferringEmptySlots = true;
|
||||
ScriptsMorph.prototype.enableKeyboard = true;
|
||||
ScriptsMorph.prototype.enableNestedAutoWrapping = true;
|
||||
ScriptsMorph.prototype.feedbackColor = new Color(255, 255, 255);
|
||||
ScriptsMorph.prototype.feedbackColor = WHITE;
|
||||
|
||||
// ScriptsMorph instance creation:
|
||||
|
||||
|
|
@ -8575,7 +8575,7 @@ InputSlotMorph.prototype.init = function (
|
|||
this.constant = null;
|
||||
|
||||
InputSlotMorph.uber.init.call(this, null, true);
|
||||
this.color = new Color(255, 255, 255);
|
||||
this.color = WHITE;
|
||||
this.add(contents);
|
||||
this.add(arrow);
|
||||
contents.isEditable = true;
|
||||
|
|
@ -9233,9 +9233,9 @@ InputSlotMorph.prototype.setChoices = function (dict, readonly) {
|
|||
if (this.parent instanceof BlockMorph) {
|
||||
this.parent.fixLabelColor();
|
||||
if (!readonly) {
|
||||
cnts.shadowOffset = new Point();
|
||||
cnts.shadowOffset = ZERO;
|
||||
cnts.shadowColor = null;
|
||||
cnts.setColor(new Color(0, 0, 0));
|
||||
cnts.setColor(BLACK);
|
||||
}
|
||||
}
|
||||
this.fixLayout();
|
||||
|
|
@ -9253,10 +9253,10 @@ InputSlotMorph.prototype.fixLayout = function () {
|
|||
contents.isEditable = (!this.isReadOnly);
|
||||
if (this.isReadOnly) {
|
||||
contents.disableSelecting();
|
||||
contents.color = new Color(255, 255, 255);
|
||||
contents.color = WHITE;
|
||||
} else {
|
||||
contents.enableSelecting();
|
||||
contents.color = new Color(0, 0, 0);
|
||||
contents.color = BLACK;
|
||||
}
|
||||
|
||||
if (this.choices) {
|
||||
|
|
@ -10503,7 +10503,7 @@ ArrowMorph.prototype.init = function (direction, size, padding, color) {
|
|||
this.padding = padding || 0;
|
||||
|
||||
ArrowMorph.uber.init.call(this);
|
||||
this.color = color || new Color(0, 0, 0);
|
||||
this.color = color || BLACK;
|
||||
this.bounds.setWidth(this.size);
|
||||
this.bounds.setHeight(this.size);
|
||||
this.rerender();
|
||||
|
|
@ -10595,7 +10595,7 @@ TextSlotMorph.prototype.init = function (
|
|||
this.constant = null;
|
||||
|
||||
InputSlotMorph.uber.init.call(this, null, null, null, null, true); // sil.
|
||||
this.color = new Color(255, 255, 255);
|
||||
this.color = WHITE;
|
||||
this.add(contents);
|
||||
this.add(arrow);
|
||||
contents.isEditable = true;
|
||||
|
|
@ -11373,7 +11373,7 @@ ArgLabelMorph.prototype.fixLayout = function () {
|
|||
|
||||
if (this.parent) {
|
||||
this.color = this.parent.color;
|
||||
shadowOffset = label.shadowOffset || new Point();
|
||||
shadowOffset = label.shadowOffset || ZERO;
|
||||
|
||||
// determine the shadow color for zebra coloring:
|
||||
if (shadowOffset.x < 0) {
|
||||
|
|
|
|||
Ładowanie…
Reference in New Issue