OSDN Git Service

Merge branch 'v06' of git.sourceforge.jp:/gitroot/pettanr/pettanr into v06
[pettanr/pettanr.git] / app / assets / javascripts / helpers / color.js.coffee
1 class PettanrColorHelper\r
2   confirm_confirm_confirm = () ->\r
3     confirm(  )\r
4   @WritingFormat = window.PettanrWritingFormat\r
5   \r
6   @color_slider_change = (trace) -> \r
7     red = $(trace + 'code_red').slider('value')\r
8     green = $(trace + 'code_green').slider('value')\r
9     blue = $(trace + 'code_blue').slider('value')\r
10     code = (red << 16) + (green << 8) + (blue)\r
11     phex = "000000" + code.toString(16)\r
12     hex = code.toString(16)\r
13     h = phex.substring(phex.length - 6)\r
14     $(trace + 'code_swatch').css('background-color', '#' + h)\r
15     $(trace + 'code_hex').html('HEX: #' + h)\r
16     $(trace + 'code_rgb').html('RGB: (' + red + ',' + green + ',' +blue + ')')\r
17     v = '#' + h\r
18     if $(trace).attr('element_type') == 'ground_color'\r
19       $(trace + 'code').val(code)\r
20       $(trace).css('background-color', v)\r
21     else\r
22       $(trace + 'fore_color').val(code)\r
23       $(trace).css('color', v)\r
24   \r
25   @add_helper = (wrapper, column) ->\r
26     editor = window.PettanrEditor\r
27     wrapper.map -> \r
28       $(@).css('display', 'block')\r
29     \r
30     $('.colorpicker', wrapper).map -> \r
31       if editor.is_element_part($(@))\r
32         code_picker_trace = editor.element_part_tag_id($(@))\r
33       else\r
34         code_picker_trace = editor.element_tag_id($(@))\r
35       code = parseInt($(code_picker_trace + column).val())\r
36       red = (code >> 16) & 0xFF\r
37       green = (code >> 8) & 0xFF\r
38       blue = code & 0xFF\r
39       $(code_picker_trace + 'code_red').slider {\r
40         orientation: 'horizontal',\r
41         range: 'min',\r
42         max: 255,\r
43         value: red,\r
44         change: ( event, ui ) ->\r
45           if editor.is_element_part($(@).parent())\r
46             trace = editor.element_part_tag_id($(@).parent())\r
47           else\r
48             trace = editor.element_tag_id($(@).parent())\r
49           PettanrColorHelper.color_slider_change(trace)\r
50       }\r
51       $(code_picker_trace + 'code_green').slider {\r
52         orientation: 'horizontal',\r
53         range: 'min',\r
54         max: 255,\r
55         value: green,\r
56         change: ( event, ui ) ->\r
57           if editor.is_element_part($(@).parent())\r
58             trace = editor.element_part_tag_id($(@).parent())\r
59           else\r
60             trace = editor.element_tag_id($(@).parent())\r
61           PettanrColorHelper.color_slider_change(trace)\r
62       }\r
63       $(code_picker_trace + 'code_blue').slider {\r
64         orientation: 'horizontal',\r
65         range: 'min',\r
66         max: 255,\r
67         value: blue,\r
68         change: ( event, ui ) ->\r
69           if editor.is_element_part($(@).parent())\r
70             trace = editor.element_part_tag_id($(@).parent())\r
71           else\r
72             trace = editor.element_tag_id($(@).parent())\r
73           PettanrColorHelper.color_slider_change(trace)\r
74       }\r
75       PettanrColorHelper.color_slider_change(code_picker_trace)\r
76   \r
77   \r
78 @PettanrColorHelper = PettanrColorHelper\r