/* Copyright (c) 2012 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.
 */

/**
 * Implementation of the Zoom interface.
 */

[generate_thunk]

label Chrome {
  M14 = 0.2
};

/**
 * Zoom interface should only apply to those full-page "plugin-document".
 */
interface PPB_Zoom_Dev {
  /**
   * Informs the browser about the new zoom factor for the plugin (see
   * ppp_zoom_dev.h for a description of zoom factor). The plugin should only
   * call this function if the zoom change was triggered by the browser, it's
   * only needed in case a plugin can update its own zoom, say because of its
   * own UI.
   */
  void ZoomChanged([in] PP_Instance instance,
                   [in] double_t factor);
  /**
   * Sets the minimum and maximum zoom factors.
   */
  void ZoomLimitsChanged([in] PP_Instance instance,
                         [in] double_t minimum_factor,
                         [in] double_t maximum_factor);
};

