printing_context_no_system_dialog.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. // Copyright (c) 2011 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. #ifndef PRINTING_PRINTING_CONTEXT_NO_SYSTEM_DIALOG_H_
  5. #define PRINTING_PRINTING_CONTEXT_NO_SYSTEM_DIALOG_H_
  6. #include <string>
  7. #include "base/component_export.h"
  8. #include "printing/mojom/print.mojom.h"
  9. #include "printing/printing_context.h"
  10. namespace printing {
  11. class COMPONENT_EXPORT(PRINTING) PrintingContextNoSystemDialog
  12. : public PrintingContext {
  13. public:
  14. explicit PrintingContextNoSystemDialog(Delegate* delegate);
  15. PrintingContextNoSystemDialog(const PrintingContextNoSystemDialog&) = delete;
  16. PrintingContextNoSystemDialog& operator=(
  17. const PrintingContextNoSystemDialog&) = delete;
  18. ~PrintingContextNoSystemDialog() override;
  19. // PrintingContext implementation.
  20. void AskUserForSettings(int max_pages,
  21. bool has_selection,
  22. bool is_scripted,
  23. PrintSettingsCallback callback) override;
  24. mojom::ResultCode UseDefaultSettings() override;
  25. gfx::Size GetPdfPaperSizeDeviceUnits() override;
  26. mojom::ResultCode UpdatePrinterSettings(
  27. const PrinterSettings& printer_settings) override;
  28. mojom::ResultCode NewDocument(const std::u16string& document_name) override;
  29. mojom::ResultCode PrintDocument(const MetafilePlayer& metafile,
  30. const PrintSettings& settings,
  31. uint32_t num_pages) override;
  32. mojom::ResultCode DocumentDone() override;
  33. void Cancel() override;
  34. void ReleaseContext() override;
  35. printing::NativeDrawingContext context() const override;
  36. };
  37. } // namespace printing
  38. #endif // PRINTING_PRINTING_CONTEXT_NO_SYSTEM_DIALOG_H_