diff options
Diffstat (limited to 'js/components/tools-properties/pen-properties.reel/pen-properties.js')
-rwxr-xr-x | js/components/tools-properties/pen-properties.reel/pen-properties.js | 83 |
1 files changed, 81 insertions, 2 deletions
diff --git a/js/components/tools-properties/pen-properties.reel/pen-properties.js b/js/components/tools-properties/pen-properties.reel/pen-properties.js index b57f9a6f..cd205e07 100755 --- a/js/components/tools-properties/pen-properties.reel/pen-properties.js +++ b/js/components/tools-properties/pen-properties.reel/pen-properties.js | |||
@@ -7,8 +7,87 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot | |||
7 | var Montage = require("montage/core/core").Montage; | 7 | var Montage = require("montage/core/core").Montage; |
8 | var ToolProperties = require("js/components/tools-properties/tool-properties").ToolProperties; | 8 | var ToolProperties = require("js/components/tools-properties/tool-properties").ToolProperties; |
9 | 9 | ||
10 | exports.PenProperties = Montage.create(ToolProperties, { | 10 | var PenProperties = exports.PenProperties = Montage.create(ToolProperties, { |
11 | addedColorChips: { value: false }, | ||
12 | |||
13 | _fill: { | ||
14 | enumerable: false, | ||
15 | value: { colorMode: 'rgb', color: { r: 255, g: 255, b: 255, a: 1, css: 'rgb(255,255,255)', mode: 'rgb', wasSetByCode: true, type: 'change' }, webGlColor: [1, 1, 1, 1] } | ||
16 | }, | ||
17 | |||
18 | _stroke: { | ||
19 | enumerable: false, | ||
20 | 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] } | ||
21 | }, | ||
22 | |||
23 | stroke: { | ||
24 | enumerable: true, | ||
25 | get: function () { | ||
26 | return this._stroke; | ||
27 | }, | ||
28 | set: function (value) { | ||
29 | if (value !== this._stroke) { | ||
30 | this._stroke = value; | ||
31 | } | ||
32 | } | ||
33 | }, | ||
34 | |||
35 | fill: { | ||
36 | enumerable: true, | ||
37 | get: function () { | ||
38 | return this._fill; | ||
39 | }, | ||
40 | set: function (value) { | ||
41 | if (value !== this._fill) { | ||
42 | this._fill = value; | ||
43 | } | ||
44 | } | ||
45 | }, | ||
46 | |||
11 | strokeSize: { | 47 | strokeSize: { |
12 | get: function() { return this._strokeSize; } | 48 | get: function () { |
49 | return this._strokeSize; | ||
50 | } | ||
51 | }, | ||
52 | |||
53 | draw: { | ||
54 | enumerable: false, | ||
55 | value: function () { | ||
56 | Object.getPrototypeOf(PenProperties).draw.call(this); | ||
57 | |||
58 | if (this.addedColorChips === false && this.application.ninja.colorController.colorPanelDrawn) { | ||
59 | // setup fill color | ||
60 | this._fillColorCtrl.props = { side: 'top', align: 'center', wheel: true, palette: true, gradient: false, image: false, nocolor: true, offset: -80 }; | ||
61 | this.application.ninja.colorController.addButton("chip", this._fillColorCtrl); | ||
62 | |||
63 | // setup stroke color | ||
64 | this._strokeColorCtrl.props = { side: 'top', align: 'center', wheel: true, palette: true, gradient: false, image: false, nocolor: true, offset: -80 }; | ||
65 | this.application.ninja.colorController.addButton("chip", this._strokeColorCtrl); | ||
66 | |||
67 | this._fillColorCtrl.addEventListener("change", this.handleFillColorChange.bind(this), false); | ||
68 | this._strokeColorCtrl.addEventListener("change", this.handleStrokeColorChange.bind(this), false); | ||
69 | |||
70 | this.addedColorChips = true; | ||
71 | } | ||
72 | |||
73 | if (this.addedColorChips) { | ||
74 | this._fillColorCtrl.color(this._fill.colorMode, this._fill.color); | ||
75 | this._strokeColorCtrl.color(this._stroke.colorMode, this._stroke.color); | ||
76 | } | ||
77 | } | ||
78 | }, | ||
79 | |||
80 | handleFillColorChange: { | ||
81 | value: function (e) { | ||
82 | this.fill = e._event; | ||
83 | this.fill.webGlColor = this.application.ninja.colorController.colorModel.colorToWebGl(e._event.color); | ||
84 | } | ||
85 | }, | ||
86 | |||
87 | handleStrokeColorChange: { | ||
88 | value: function (e) { | ||
89 | this.stroke = e._event; | ||
90 | this.stroke.webGlColor = this.application.ninja.colorController.colorModel.colorToWebGl(e._event.color); | ||
91 | } | ||
13 | } | 92 | } |
14 | }); \ No newline at end of file | 93 | }); \ No newline at end of file |