diff options
Diffstat (limited to 'js/components/tools-properties/fill-properties.reel')
-rwxr-xr-x | js/components/tools-properties/fill-properties.reel/fill-properties.html | 9 | ||||
-rwxr-xr-x | js/components/tools-properties/fill-properties.reel/fill-properties.js | 51 |
2 files changed, 56 insertions, 4 deletions
diff --git a/js/components/tools-properties/fill-properties.reel/fill-properties.html b/js/components/tools-properties/fill-properties.reel/fill-properties.html index 975b4e6f..734966dc 100755 --- a/js/components/tools-properties/fill-properties.reel/fill-properties.html +++ b/js/components/tools-properties/fill-properties.reel/fill-properties.html | |||
@@ -23,18 +23,25 @@ | |||
23 | "prototype": "js/components/tools-properties/fill-properties.reel", | 23 | "prototype": "js/components/tools-properties/fill-properties.reel", |
24 | "properties": { | 24 | "properties": { |
25 | "element": {"#": "fillProperties"}, | 25 | "element": {"#": "fillProperties"}, |
26 | |||
27 | "_fillColorCtrl": {"#": "fillColorCtrl"}, | ||
28 | |||
26 | "_useWebGL": {"#": "useWebGLCH"}, | 29 | "_useWebGL": {"#": "useWebGLCH"}, |
27 | "_materialsContainer": {"#": "materialsContainer"}, | 30 | "_materialsContainer": {"#": "materialsContainer"}, |
28 | "_fillMaterial": {"@": "_fillMaterialCB"} | 31 | "_fillMaterial": {"@": "_fillMaterialCB"} |
29 | } | 32 | } |
30 | } | 33 | } |
31 | } | 34 | } |
32 | </script> | 35 | </script> |
33 | 36 | ||
34 | </head> | 37 | </head> |
35 | 38 | ||
36 | <body> | 39 | <body> |
37 | <div data-montage-id="fillProperties" class="subToolHolderPanel optionsFillTool toolOptionsFloatChildren"> | 40 | <div data-montage-id="fillProperties" class="subToolHolderPanel optionsFillTool toolOptionsFloatChildren"> |
41 | <div class="toolColorChipIcon FillTool"></div> | ||
42 | <div data-montage-id="fillColorCtrl" class="toolColorChipCtrl"></div> | ||
43 | <div class="nj-divider divider-vertical toolOptionsSpacer"> </div> | ||
44 | |||
38 | <input data-montage-id="useWebGLCH" type="checkbox" name="useWebGLControl" class="nj-skinned"/> | 45 | <input data-montage-id="useWebGLCH" type="checkbox" name="useWebGLControl" class="nj-skinned"/> |
39 | <label class="label">Use WebGL</label> | 46 | <label class="label">Use WebGL</label> |
40 | <div data-montage-id="materialsContainer" class="materialsContainerOptions toolOptionsFloatChildren"> | 47 | <div data-montage-id="materialsContainer" class="materialsContainerOptions toolOptionsFloatChildren"> |
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", { |