| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 cr.define('print_preview', function() { | 5 cr.define('print_preview', function() { |
| 6 'strict'; | 6 'strict'; |
| 7 | 7 |
| 8 function MarginsUI() { | 8 function MarginsUI() { |
| 9 var marginsUI = document.createElement('div'); | 9 var marginsUI = document.createElement('div'); |
| 10 marginsUI.__proto__ = MarginsUI.prototype; | 10 marginsUI.__proto__ = MarginsUI.prototype; |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 51 MarginsUI.convert = function(point) { | 51 MarginsUI.convert = function(point) { |
| 52 var mainview = $('mainview'); | 52 var mainview = $('mainview'); |
| 53 return { x: point.x - mainview.offsetLeft, | 53 return { x: point.x - mainview.offsetLeft, |
| 54 y: point.y - mainview.offsetTop }; | 54 y: point.y - mainview.offsetTop }; |
| 55 } | 55 } |
| 56 | 56 |
| 57 MarginsUI.prototype = { | 57 MarginsUI.prototype = { |
| 58 __proto__: HTMLDivElement.prototype, | 58 __proto__: HTMLDivElement.prototype, |
| 59 | 59 |
| 60 /** | 60 /** |
| 61 * Adds an observer for |MarginsMayHaveChanged| event. | 61 * Adds an observer for |customEvents.MARGINS_MAY_HAVE_CHANGED| event. |
| 62 * @param {function} func A callback function to be called when | 62 * @param {function} func A callback function to be called when |
| 63 * |MarginsMayHaveChanged| event occurs. | 63 * |customEvents.MARGINS_MAY_HAVE_CHANGED| event occurs. |
| 64 */ | 64 */ |
| 65 addObserver: function(func) { | 65 addObserver: function(func) { |
| 66 var uiPairs = this.pairsAsList; | 66 var uiPairs = this.pairsAsList; |
| 67 for (var i = 0; i < uiPairs.length; i++) | 67 for (var i = 0; i < uiPairs.length; i++) { |
| 68 uiPairs[i].box_.addEventListener('MarginsMayHaveChanged', func); | 68 uiPairs[i].box_.addEventListener( |
| 69 customEvents.MARGINS_MAY_HAVE_CHANGED, func); |
| 70 } |
| 69 }, | 71 }, |
| 70 | 72 |
| 71 /** | 73 /** |
| 72 * @return {array} An array including all |MarginUIPair| objects. | 74 * @return {array} An array including all |MarginUIPair| objects. |
| 73 */ | 75 */ |
| 74 get pairsAsList() { | 76 get pairsAsList() { |
| 75 return [this.topPair_, this.leftPair_, this.rightPair_, this.bottomPair_]; | 77 return [this.topPair_, this.leftPair_, this.rightPair_, this.bottomPair_]; |
| 76 }, | 78 }, |
| 77 | 79 |
| 78 /** | 80 /** |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 126 this.style.clip = "rect(0, " + right + "px, " + bottom + "px, 0)"; | 128 this.style.clip = "rect(0, " + right + "px, " + bottom + "px, 0)"; |
| 127 }, | 129 }, |
| 128 | 130 |
| 129 /** | 131 /** |
| 130 * Adds event listeners for various events. | 132 * Adds event listeners for various events. |
| 131 * @private | 133 * @private |
| 132 */ | 134 */ |
| 133 addEventListeners_: function() { | 135 addEventListeners_: function() { |
| 134 var uiPairs = this.pairsAsList; | 136 var uiPairs = this.pairsAsList; |
| 135 for (var i = 0; i < uiPairs.length; i++) { | 137 for (var i = 0; i < uiPairs.length; i++) { |
| 136 uiPairs[i].addEventListener('MarginsLineMouseDown', | 138 uiPairs[i].addEventListener(customEvents.MARGINS_LINE_MOUSE_DOWN, |
| 137 this.onMarginLineMouseDown.bind(this)); | 139 this.onMarginLineMouseDown.bind(this)); |
| 138 } | 140 } |
| 139 // After snapping to min/max the MarginUIPair might not receive the | 141 // After snapping to min/max the MarginUIPair might not receive the |
| 140 // mouseup event since it is not under the mouse pointer, so it is handled | 142 // mouseup event since it is not under the mouse pointer, so it is handled |
| 141 // here. | 143 // here. |
| 142 window.document.addEventListener('mouseup', | 144 window.document.addEventListener('mouseup', |
| 143 this.onMarginLineMouseUp.bind(this)); | 145 this.onMarginLineMouseUp.bind(this)); |
| 144 }, | 146 }, |
| 145 | 147 |
| 146 /** | 148 /** |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 180 uiPair.classList.add('dragging'); | 182 uiPair.classList.add('dragging'); |
| 181 }, | 183 }, |
| 182 | 184 |
| 183 /** | 185 /** |
| 184 * Executes when a mousemove event occurs. | 186 * Executes when a mousemove event occurs. |
| 185 * @param {MouseEvent} e The event that triggered this listener. | 187 * @param {MouseEvent} e The event that triggered this listener. |
| 186 */ | 188 */ |
| 187 onMouseMove_: function(e) { | 189 onMouseMove_: function(e) { |
| 188 var point = MarginsUI.convert({ x: e.x, y: e.y }); | 190 var point = MarginsUI.convert({ x: e.x, y: e.y }); |
| 189 | 191 |
| 190 var dragEvent = new cr.Event('DragEvent'); | 192 var dragEvent = new cr.Event(customEvents.MARGINS_LINE_DRAG); |
| 191 dragEvent.dragDelta = | 193 dragEvent.dragDelta = |
| 192 this.lastClickedMarginsUIPair.getDragDisplacementFrom(point); | 194 this.lastClickedMarginsUIPair.getDragDisplacementFrom(point); |
| 193 dragEvent.destinationPoint = point; | 195 dragEvent.destinationPoint = point; |
| 194 this.dispatchEvent(dragEvent); | 196 this.dispatchEvent(dragEvent); |
| 195 }, | 197 }, |
| 196 }; | 198 }; |
| 197 | 199 |
| 198 return { | 200 return { |
| 199 MarginsUI: MarginsUI | 201 MarginsUI: MarginsUI |
| 200 }; | 202 }; |
| 201 }); | 203 }); |
| OLD | NEW |