1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- // Copyright 2015 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.
- #ifndef COMPONENTS_ZOOM_PAGE_ZOOM_H_
- #define COMPONENTS_ZOOM_PAGE_ZOOM_H_
- #include <vector>
- #include "content/public/common/page_zoom.h"
- namespace content {
- class WebContents;
- }
- namespace zoom {
- // This class provides a means of zooming pages according to a predetermined
- // set of zoom levels/factors. In future, the static methods in this class
- // can be made non-static, with PresetZoomX() being virtual, to allow clients
- // to create custom sets of zoom levels.
- class PageZoom {
- public:
- PageZoom(const PageZoom&) = delete;
- PageZoom& operator=(const PageZoom&) = delete;
- // Return a sorted vector of zoom factors. The vector will consist of preset
- // values along with a custom value (if the custom value is not already
- // represented.)
- static std::vector<double> PresetZoomFactors(double custom_factor);
- // Return a sorted vector of zoom levels. The vector will consist of preset
- // values along with a custom value (if the custom value is not already
- // represented.)
- static std::vector<double> PresetZoomLevels(double custom_level);
- // Adjusts the zoom level of |web_contents|.
- static void Zoom(content::WebContents* web_contents, content::PageZoom zoom);
- private:
- // We don't expect (currently) to create instances of this class.
- PageZoom() {}
- };
- } // namespace zoom
- #endif // COMPONENTS_ZOOM_PAGE_ZOOM_H_
|