diff options
Diffstat (limited to 'js/components/tools-properties/fill-properties.reel/fill-properties.js')
-rwxr-xr-x | js/components/tools-properties/fill-properties.reel/fill-properties.js | 51 |
1 files changed, 48 insertions, 3 deletions
diff --git a/js/components/tools-properties/fill-properties.reel/fill-properties.js b/js/components/tools-properties/fill-properties.reel/fill-properties.js index 61b667d7..ae136956 100755 --- a/js/components/tools-properties/fill-properties.reel/fill-properties.js +++ b/js/components/tools-properties/fill-properties.reel/fill-properties.js | |||
@@ -8,10 +8,55 @@ var Montage = require("montage/core/core").Montage, | |||
8 | ShapesController = require("js/controllers/elements/shapes-controller").ShapesController, | 8 | ShapesController = require("js/controllers/elements/shapes-controller").ShapesController, |
9 | ToolProperties = require("js/components/tools-properties/tool-properties").ToolProperties; | 9 | ToolProperties = require("js/components/tools-properties/tool-properties").ToolProperties; |
10 | 10 | ||
11 | exports.FillProperties = Montage.create(ToolProperties, { | 11 | var FillProperties = exports.FillProperties = Montage.create(ToolProperties, { |
12 | |||
13 | _use3D: { value: false }, | ||
14 | addedColorChips: { value: false }, | ||
15 | |||
16 | _fill: { | ||
17 | enumerable: false, | ||
18 | value: { colorMode: 'rgb', color: { r: 0, g: 0, b: 0, a: 1, css: 'rgb(0,0,0)', mode: 'rgb', wasSetByCode: true, type: 'change' }, webGlColor: [0, 0, 0, 1] } | ||
19 | }, | ||
20 | |||
21 | fill: { | ||
22 | enumerable: true, | ||
23 | get: function () { | ||
24 | return this._fill; | ||
25 | }, | ||
26 | set: function (value) { | ||
27 | if (value !== this._fill) { | ||
28 | this._fill = value; | ||
29 | } | ||
30 | } | ||
31 | }, | ||
32 | |||
33 | draw: { | ||
34 | enumerable: false, | ||
35 | value: function () { | ||
36 | Object.getPrototypeOf(FillProperties).draw.call(this); | ||
37 | |||
38 | if (this.addedColorChips === false && this.application.ninja.colorController.colorPanelDrawn) { | ||
39 | this._fillColorCtrl.props = { side: 'top', align: 'center', wheel: true, palette: true, gradient: false, image: false, nocolor: true, offset: -80 }; | ||
40 | this.application.ninja.colorController.addButton("chip", this._fillColorCtrl); | ||
41 | |||
42 | this._fillColorCtrl.addEventListener("change", this.handleFillColorChange.bind(this), false); | ||
43 | |||
44 | this.addedColorChips = true; | ||
45 | } | ||
46 | |||
47 | if (this.addedColorChips) { | ||
48 | this._fillColorCtrl.color(this._fill.colorMode, this._fill.color); | ||
49 | } | ||
50 | } | ||
51 | }, | ||
52 | |||
53 | handleFillColorChange: { | ||
54 | value: function (e) { | ||
55 | this.fill = e._event; | ||
56 | this.fill.webGlColor = this.application.ninja.colorController.colorModel.colorToWebGl(e._event.color); | ||
57 | } | ||
58 | }, | ||
12 | 59 | ||
13 | _use3D: { value: false }, | ||
14 | |||
15 | _subPrepare: { | 60 | _subPrepare: { |
16 | value: function() { | 61 | value: function() { |
17 | Object.defineBinding(this._fillMaterial, "items", { | 62 | Object.defineBinding(this._fillMaterial, "items", { |