| // Copyright 2017 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. |
| |
| module printing.mojom; |
| |
| import "chrome/services/printing/public/mojom/pdf_render_settings.mojom"; |
| import "mojo/public/mojom/base/shared_memory.mojom"; |
| |
| struct PwgRasterSettings { |
| enum TransformType { |
| TRANSFORM_NORMAL, |
| TRANSFORM_ROTATE_180, |
| TRANSFORM_FLIP_HORIZONTAL, |
| TRANSFORM_FLIP_VERTICAL |
| }; |
| |
| enum DuplexMode { |
| SIMPLEX, |
| LONG_EDGE, |
| SHORT_EDGE, |
| }; |
| |
| DuplexMode duplex_mode; |
| |
| // How to transform odd-numbered pages. |
| TransformType odd_page_transform; |
| |
| // Rotate all pages (on top of odd-numbered page transform). |
| bool rotate_all_pages; |
| |
| // Rasterize pages in reverse order. |
| bool reverse_page_order; |
| |
| // Rasterize pages in color. |
| bool use_color; |
| }; |
| |
| interface PdfToPwgRasterConverter { |
| Convert(mojo_base.mojom.ReadOnlySharedMemoryRegion pdf_region, |
| PdfRenderSettings pdf_settings, |
| PwgRasterSettings pwg_raster_settings) |
| => (mojo_base.mojom.ReadOnlySharedMemoryRegion? pwg_raster_region, |
| uint32 page_count); |
| }; |