OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 /** | 5 /** |
6 * @constructor | 6 * @constructor |
7 * @extends {WebInspector.VBox} | 7 * @extends {WebInspector.VBox} |
8 * @implements {WebInspector.OverridesSupport.PageResizer} | 8 * @implements {WebInspector.OverridesSupport.PageResizer} |
9 * @param {!WebInspector.InspectedPagePlaceholder} inspectedPagePlaceholder | 9 * @param {!WebInspector.InspectedPagePlaceholder} inspectedPagePlaceholder |
10 */ | 10 */ |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 WebInspector.settings.responsiveDesign.enabled.addChangeListener(this._respo
nsiveDesignEnabledChanged, this); | 50 WebInspector.settings.responsiveDesign.enabled.addChangeListener(this._respo
nsiveDesignEnabledChanged, this); |
51 WebInspector.overridesSupport.settings.emulateViewport.addChangeListener(thi
s._maybeEnableResponsiveDesign, this); | 51 WebInspector.overridesSupport.settings.emulateViewport.addChangeListener(thi
s._maybeEnableResponsiveDesign, this); |
52 WebInspector.overridesSupport.settings.emulateTouchEvents.addChangeListener(
this._maybeEnableResponsiveDesign, this); | 52 WebInspector.overridesSupport.settings.emulateTouchEvents.addChangeListener(
this._maybeEnableResponsiveDesign, this); |
53 WebInspector.overridesSupport.settings.overrideDeviceResolution.addChangeLis
tener(this._maybeEnableResponsiveDesign, this); | 53 WebInspector.overridesSupport.settings.overrideDeviceResolution.addChangeLis
tener(this._maybeEnableResponsiveDesign, this); |
54 this._responsiveDesignEnabledChanged(); | 54 this._responsiveDesignEnabledChanged(); |
55 this._overridesWarningUpdated(); | 55 this._overridesWarningUpdated(); |
56 }; | 56 }; |
57 | 57 |
58 // Measured in DIP. | 58 // Measured in DIP. |
59 WebInspector.ResponsiveDesignView.SliderWidth = 19; | 59 WebInspector.ResponsiveDesignView.SliderWidth = 19; |
60 WebInspector.ResponsiveDesignView.RulerWidth = 20; | 60 WebInspector.ResponsiveDesignView.RulerWidth = 22; |
61 | 61 |
62 WebInspector.ResponsiveDesignView.prototype = { | 62 WebInspector.ResponsiveDesignView.prototype = { |
63 _maybeEnableResponsiveDesign: function() | 63 _maybeEnableResponsiveDesign: function() |
64 { | 64 { |
65 if (this._enabled) | 65 if (this._enabled) |
66 return; | 66 return; |
67 if (WebInspector.overridesSupport.settings.emulateViewport.get() || | 67 if (WebInspector.overridesSupport.settings.emulateViewport.get() || |
68 WebInspector.overridesSupport.settings.emulateTouchEvents.get()
|| | 68 WebInspector.overridesSupport.settings.emulateTouchEvents.get()
|| |
69 WebInspector.overridesSupport.settings.overrideDeviceResolution.
get()) { | 69 WebInspector.overridesSupport.settings.overrideDeviceResolution.
get()) { |
70 WebInspector.settings.responsiveDesign.enabled.set(true); | 70 WebInspector.settings.responsiveDesign.enabled.set(true); |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 canvas.style.height = cssCanvasHeight + "px"; | 207 canvas.style.height = cssCanvasHeight + "px"; |
208 | 208 |
209 var zoomFactor = WebInspector.zoomManager.zoomFactor(); | 209 var zoomFactor = WebInspector.zoomManager.zoomFactor(); |
210 var dipCanvasWidth = cssCanvasWidth * zoomFactor; | 210 var dipCanvasWidth = cssCanvasWidth * zoomFactor; |
211 var dipCanvasHeight = cssCanvasHeight * zoomFactor; | 211 var dipCanvasHeight = cssCanvasHeight * zoomFactor; |
212 | 212 |
213 var deviceScaleFactor = window.devicePixelRatio; | 213 var deviceScaleFactor = window.devicePixelRatio; |
214 canvas.width = deviceScaleFactor * cssCanvasWidth; | 214 canvas.width = deviceScaleFactor * cssCanvasWidth; |
215 canvas.height = deviceScaleFactor * cssCanvasHeight; | 215 canvas.height = deviceScaleFactor * cssCanvasHeight; |
216 context.scale(canvas.width / dipCanvasWidth, canvas.height / dipCanvasHe
ight); | 216 context.scale(canvas.width / dipCanvasWidth, canvas.height / dipCanvasHe
ight); |
217 | 217 context.font = "10px " + WebInspector.fontFamily(); |
218 context.font = "11px " + WebInspector.fontFamily(); | |
219 | 218 |
220 const rulerStep = 100; | 219 const rulerStep = 100; |
221 const rulerSubStep = 5; | 220 const rulerSubStep = 5; |
222 const gridStep = 50; | 221 const gridStep = 50; |
223 const gridSubStep = 10; | 222 const gridSubStep = 10; |
224 const rulerBackgroundColor = "rgb(64, 64, 64)"; | 223 const rulerBackgroundColor = "rgb(0, 0, 0)"; |
225 const backgroundColor = "rgb(102, 102, 102)"; | 224 const backgroundColor = "rgb(102, 102, 102)"; |
226 const lightLineColor = "rgb(132, 132, 132)"; | 225 const lightLineColor = "rgb(132, 132, 132)"; |
227 const darkLineColor = "rgb(114, 114, 114)"; | 226 const darkLineColor = "rgb(114, 114, 114)"; |
228 const textColor = "rgb(180, 180, 180)"; | 227 const rulerColor = "rgb(125, 125, 125)"; |
| 228 const textColor = "rgb(168, 168, 168)"; |
229 | 229 |
230 var scale = this._scale || 1; | 230 var scale = this._scale || 1; |
231 var rulerWidth = WebInspector.ResponsiveDesignView.RulerWidth; | 231 var rulerWidth = WebInspector.ResponsiveDesignView.RulerWidth; |
232 var dipGridWidth = dipCanvasWidth / scale - rulerWidth; | 232 var dipGridWidth = dipCanvasWidth / scale - rulerWidth; |
233 var dipGridHeight = dipCanvasHeight / scale - rulerWidth; | 233 var dipGridHeight = dipCanvasHeight / scale - rulerWidth; |
234 rulerWidth /= scale; | 234 rulerWidth /= scale; |
235 context.scale(scale, scale); | 235 context.scale(scale, scale); |
236 context.translate(rulerWidth, rulerWidth); | 236 context.translate(rulerWidth, rulerWidth); |
237 | 237 |
238 context.fillStyle = rulerBackgroundColor; | 238 context.fillStyle = rulerBackgroundColor; |
239 context.fillRect(-rulerWidth, -rulerWidth, dipGridWidth + rulerWidth, ru
lerWidth); | 239 context.fillRect(-rulerWidth, -rulerWidth, dipGridWidth + rulerWidth, ru
lerWidth); |
240 context.fillRect(-rulerWidth, 0, rulerWidth, dipGridHeight); | 240 context.fillRect(-rulerWidth, 0, rulerWidth, dipGridHeight); |
241 | 241 |
242 context.fillStyle = backgroundColor; | 242 context.fillStyle = backgroundColor; |
243 context.fillRect(0, 0, dipGridWidth, dipGridHeight); | 243 context.fillRect(0, 0, dipGridWidth, dipGridHeight); |
244 | 244 |
245 context.translate(0.5, 0.5); | 245 context.translate(0.5, 0.5); |
246 context.strokeStyle = textColor; | 246 context.strokeStyle = rulerColor; |
247 context.fillStyle = textColor; | 247 context.fillStyle = textColor; |
248 context.lineWidth = 1; | 248 context.lineWidth = 1; |
249 | 249 |
250 // Draw vertical ruler. | 250 // Draw vertical ruler. |
251 for (var x = 0; x < dipGridWidth; x += rulerSubStep) { | 251 for (var x = 0; x < dipGridWidth; x += rulerSubStep) { |
252 var color = darkLineColor; | 252 var color = darkLineColor; |
253 var y = -rulerWidth / 4; | 253 var y = -rulerWidth / 4; |
| 254 if (!(x % (rulerStep / 4))) |
| 255 y = -rulerWidth / 2; |
254 if (!(x % (rulerStep / 2))) | 256 if (!(x % (rulerStep / 2))) |
255 y = -rulerWidth / 2; | 257 y = -rulerWidth + 2; |
256 | 258 |
257 if (!(x % rulerStep)) { | 259 if (!(x % rulerStep)) { |
258 if (x) { | 260 context.save(); |
259 context.save(); | 261 context.translate(x, 0); |
260 context.translate(x, 0); | 262 context.fillText(x, 2, -rulerWidth / 2); |
261 context.fillText(x, 2, -rulerWidth / 2); | 263 context.restore(); |
262 context.restore(); | 264 y = -rulerWidth; |
263 } | |
264 y = -rulerWidth * 2 / 3; | |
265 } | 265 } |
266 | 266 |
267 context.beginPath(); | 267 context.beginPath(); |
268 context.moveTo(x, y); | 268 context.moveTo(x, y); |
269 context.lineTo(x, 0); | 269 context.lineTo(x, 0); |
270 context.stroke(); | 270 context.stroke(); |
271 } | 271 } |
272 | 272 |
273 // Draw horizontal ruler. | 273 // Draw horizontal ruler. |
274 for (var y = 0; y < dipGridHeight; y += rulerSubStep) { | 274 for (var y = 0; y < dipGridHeight; y += rulerSubStep) { |
275 var color = darkLineColor; | 275 var color = darkLineColor; |
276 x = -rulerWidth / 4; | 276 x = -rulerWidth / 4; |
| 277 if (!(y % (rulerStep / 4))) |
| 278 x = -rulerWidth / 2; |
277 if (!(y % (rulerStep / 2))) | 279 if (!(y % (rulerStep / 2))) |
278 x = -rulerWidth / 2; | 280 x = -rulerWidth + 2; |
279 | 281 |
280 if (!(y % rulerStep)) { | 282 if (!(y % rulerStep)) { |
281 if (y) { | 283 context.save(); |
282 context.save(); | 284 context.translate(0, y); |
283 context.translate(0, y); | 285 context.rotate(-Math.PI / 2); |
284 context.rotate(-Math.PI / 2); | 286 context.fillText(y, 2, -rulerWidth / 2); |
285 context.fillText(y, 2, -rulerWidth / 2); | 287 context.restore(); |
286 context.restore(); | 288 x = -rulerWidth; |
287 } | |
288 x = -rulerWidth * 2 / 3; | |
289 } | 289 } |
290 | 290 |
291 context.beginPath(); | 291 context.beginPath(); |
292 context.moveTo(x, y); | 292 context.moveTo(x, y); |
293 context.lineTo(0, y); | 293 context.lineTo(0, y); |
294 context.stroke(); | 294 context.stroke(); |
295 } | 295 } |
296 | 296 |
297 // Draw grid. | 297 // Draw grid. |
298 drawGrid(darkLineColor, gridSubStep); | 298 drawGrid(darkLineColor, gridSubStep); |
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
536 if (this._warningMessage.textContent === message) | 536 if (this._warningMessage.textContent === message) |
537 return; | 537 return; |
538 this._warningMessage.classList.toggle("hidden", !message); | 538 this._warningMessage.classList.toggle("hidden", !message); |
539 this._warningMessage.textContent = message; | 539 this._warningMessage.textContent = message; |
540 this._invalidateCache(); | 540 this._invalidateCache(); |
541 this.onResize(); | 541 this.onResize(); |
542 }, | 542 }, |
543 | 543 |
544 __proto__: WebInspector.VBox.prototype | 544 __proto__: WebInspector.VBox.prototype |
545 }; | 545 }; |
OLD | NEW |