aboutsummaryrefslogtreecommitdiff
path: root/js/components/tools-properties/pen-properties.reel/pen-properties.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/components/tools-properties/pen-properties.reel/pen-properties.js')
-rwxr-xr-xjs/components/tools-properties/pen-properties.reel/pen-properties.js83
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
7var Montage = require("montage/core/core").Montage; 7var Montage = require("montage/core/core").Montage;
8var ToolProperties = require("js/components/tools-properties/tool-properties").ToolProperties; 8var ToolProperties = require("js/components/tools-properties/tool-properties").ToolProperties;
9 9
10exports.PenProperties = Montage.create(ToolProperties, { 10var 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