Improve porformance of colour changes.

This commit is contained in:
Neil Fraser
2015-01-08 16:06:05 -08:00
parent c5ba39ef72
commit ae69c3fbcf
4 changed files with 19 additions and 14 deletions

View File

@@ -653,6 +653,14 @@ Blockly.Blocks['colour_hue'] = {
validator: function(text) {
// Update the current block's colour to match.
this.sourceBlock_.setColour(text);
},
mutationToDom: function(workspace) {
var container = document.createElement('mutation');
container.setAttribute('colour', this.getColour());
return container;
},
domToMutation: function(container) {
this.setColour(container.getAttribute('colour'));
}
};

View File

@@ -177,15 +177,15 @@
<block type="type_other"></block>
</category>
<category name="Colour" id="colourCategory">
<block type="colour_hue"><field name="HUE">20</field></block>
<block type="colour_hue"><field name="HUE">65</field></block>
<block type="colour_hue"><field name="HUE">120</field></block>
<block type="colour_hue"><field name="HUE">160</field></block>
<block type="colour_hue"><field name="HUE">210</field></block>
<block type="colour_hue"><field name="HUE">230</field></block>
<block type="colour_hue"><field name="HUE">260</field></block>
<block type="colour_hue"><field name="HUE">290</field></block>
<block type="colour_hue"><field name="HUE">330</field></block>
<block type="colour_hue"><mutation colour="20"></mutation><field name="HUE">20</field></block>
<block type="colour_hue"><mutation colour="65"></mutation><field name="HUE">65</field></block>
<block type="colour_hue"><mutation colour="120"></mutation><field name="HUE">120</field></block>
<block type="colour_hue"><mutation colour="160"></mutation><field name="HUE">160</field></block>
<block type="colour_hue"><mutation colour="210"></mutation><field name="HUE">210</field></block>
<block type="colour_hue"><mutation colour="230"></mutation><field name="HUE">230</field></block>
<block type="colour_hue"><mutation colour="260"></mutation><field name="HUE">260</field></block>
<block type="colour_hue"><mutation colour="290"></mutation><field name="HUE">290</field></block>
<block type="colour_hue"><mutation colour="330"></mutation><field name="HUE">330</field></block>
</category>
</xml>
</body>