| // Copyright (c) 2014 The Chromium Embedded Framework 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 CEF_LIBCEF_BROWSER_PRINT_SETTINGS_IMPL_H_ |
| #define CEF_LIBCEF_BROWSER_PRINT_SETTINGS_IMPL_H_ |
| #pragma once |
| |
| #include "include/cef_print_settings.h" |
| #include "libcef/common/value_base.h" |
| |
| #include "printing/print_settings.h" |
| |
| // CefPrintSettings implementation |
| class CefPrintSettingsImpl |
| : public CefValueBase<CefPrintSettings, printing::PrintSettings> { |
| public: |
| CefPrintSettingsImpl(std::unique_ptr<printing::PrintSettings> settings, |
| bool read_only); |
| |
| // CefPrintSettings methods. |
| bool IsValid() override; |
| bool IsReadOnly() override; |
| void SetOrientation(bool landscape) override; |
| bool IsLandscape() override; |
| void SetPrinterPrintableArea(const CefSize& physical_size_device_units, |
| const CefRect& printable_area_device_units, |
| bool landscape_needs_flip) override; |
| void SetDeviceName(const CefString& name) override; |
| CefString GetDeviceName() override; |
| void SetDPI(int dpi) override; |
| int GetDPI() override; |
| void SetPageRanges(const PageRangeList& ranges) override; |
| size_t GetPageRangesCount() override; |
| void GetPageRanges(PageRangeList& ranges) override; |
| void SetSelectionOnly(bool selection_only) override; |
| bool IsSelectionOnly() override; |
| void SetCollate(bool collate) override; |
| bool WillCollate() override; |
| void SetColorModel(ColorModel model) override; |
| ColorModel GetColorModel() override; |
| void SetCopies(int copies) override; |
| int GetCopies() override; |
| void SetDuplexMode(DuplexMode mode) override; |
| DuplexMode GetDuplexMode() override; |
| |
| std::unique_ptr<printing::PrintSettings> TakeOwnership() WARN_UNUSED_RESULT; |
| |
| private: |
| std::unique_ptr<printing::PrintSettings> settings_; |
| |
| DISALLOW_COPY_AND_ASSIGN(CefPrintSettingsImpl); |
| }; |
| |
| #endif // CEF_LIBCEF_BROWSER_PRINT_SETTINGS_IMPL_H_ |