UNPKG

monaca-lib

Version:

Monaca cloud API bindings for JavaScript

64 lines (55 loc) 1.53 kB
// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. /** * @constructor * @extends {WebInspector.Object} * @param {!Window} window * @param {!InspectorFrontendHostAPI} frontendHost */ WebInspector.ZoomManager = function(window, frontendHost) { this._frontendHost = frontendHost; this._zoomFactor = this._frontendHost.zoomFactor(); window.addEventListener("resize", this._onWindowResize.bind(this), true); }; WebInspector.ZoomManager.Events = { ZoomChanged: "ZoomChanged" }; WebInspector.ZoomManager.prototype = { /** * @return {number} */ zoomFactor: function() { return this._zoomFactor; }, /** * @param {number} value * @return {number} */ cssToDIP: function(value) { return value * this._zoomFactor; }, /** * @param {number} valueDIP * @return {number} */ dipToCSS: function(valueDIP) { return valueDIP / this._zoomFactor; }, _onWindowResize: function() { var oldZoomFactor = this._zoomFactor; this._zoomFactor = this._frontendHost.zoomFactor(); if (oldZoomFactor !== this._zoomFactor) this.dispatchEventToListeners(WebInspector.ZoomManager.Events.ZoomChanged, {from: oldZoomFactor, to: this._zoomFactor}); }, __proto__: WebInspector.Object.prototype }; /** * @type {!WebInspector.ZoomManager} */ WebInspector.zoomManager;