OLD | NEW |
(Empty) | |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #ifndef COMPONENTS_UI_ZOOM_PAGE_ZOOM_H_ |
| 6 #define COMPONENTS_UI_ZOOM_PAGE_ZOOM_H_ |
| 7 |
| 8 #include <vector> |
| 9 |
| 10 #include "base/macros.h" |
| 11 #include "content/public/common/page_zoom.h" |
| 12 |
| 13 namespace content { |
| 14 class WebContents; |
| 15 } |
| 16 |
| 17 namespace ui_zoom { |
| 18 |
| 19 // This class provides a means of zooming pages according to a predetermined |
| 20 // set of zoom levels/factors. In future, the static methods in this class |
| 21 // can be made non-static, with PresetZoomX() being virtual, to allow clients |
| 22 // to create custom sets of zoom levels. |
| 23 class PageZoom { |
| 24 public: |
| 25 // Return a sorted vector of zoom factors. The vector will consist of preset |
| 26 // values along with a custom value (if the custom value is not already |
| 27 // represented.) |
| 28 static std::vector<double> PresetZoomFactors(double custom_factor); |
| 29 |
| 30 // Return a sorted vector of zoom levels. The vector will consist of preset |
| 31 // values along with a custom value (if the custom value is not already |
| 32 // represented.) |
| 33 static std::vector<double> PresetZoomLevels(double custom_level); |
| 34 |
| 35 // Adjusts the zoom level of |web_contents|. |
| 36 static void Zoom(content::WebContents* web_contents, content::PageZoom zoom); |
| 37 |
| 38 private: |
| 39 // We don't expect (currently) to create instances of this class. |
| 40 PageZoom() {} |
| 41 DISALLOW_COPY_AND_ASSIGN(PageZoom); |
| 42 }; |
| 43 |
| 44 } // namespace ui_zoom |
| 45 |
| 46 #endif // COMPONENTS_UI_ZOOM_PAGE_ZOOM_H_ |
OLD | NEW |