forked from chromium/chromium
-
Notifications
You must be signed in to change notification settings - Fork 0
/
print.mojom
52 lines (46 loc) · 1.54 KB
/
print.mojom
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// Copyright 2020 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;
// Print job duplex mode values.
enum DuplexMode {
kUnknownDuplexMode = -1,
kSimplex,
kLongEdge,
kShortEdge,
};
// Struct that holds margin and content area sizes of a page. Units are
// arbitrary and can be chosen by the programmer.
struct PageSizeMargins {
double content_width;
double content_height;
double margin_top;
double margin_right;
double margin_bottom;
double margin_left;
};
// CSS @page page-orientation descriptor values.
enum PageOrientation { kUpright, kRotateLeft, kRotateRight };
// Describes whether to reduce/enlarge/retain the print contents to fit the
// printable area. (This is used only by plugin printing).
enum PrintScalingOption {
// Prints the upper left of a page without scaling. Crop the page contents
// that don't fit on the paper.
kNone,
// Reduces or enlarges each page to fit the printable area of the selected
// printer paper size.
kFitToPrintableArea,
// Print output page size is same as the actual source page size. Do not
// scale/center/fit to printable area.
kSourceSize,
// Reduces or enlarges each page to fit the selected printer paper size.
kFitToPaper,
};
// Document type that Skia graphics library generates.
enum SkiaDocumentType {
// PDF document type.
kPDF,
// MultiPictureDocument type. kMSKP is an experimental, fragile, and
// diagnostic-only document type.
kMSKP,
};