1 /* Copyright (c) 2012 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 6 /** 7 * This file defines the struct for PrintSettings. 8 */ 9 10 [assert_size(4)] 11 enum PP_PrintOrientation_Dev { 12 PP_PRINTORIENTATION_NORMAL = 0, 13 PP_PRINTORIENTATION_ROTATED_90_CW = 1, 14 PP_PRINTORIENTATION_ROTATED_180 = 2, 15 PP_PRINTORIENTATION_ROTATED_90_CCW = 3 16 }; 17 18 [assert_size(4)] 19 enum PP_PrintOutputFormat_Dev { 20 PP_PRINTOUTPUTFORMAT_RASTER = 1u << 0, 21 PP_PRINTOUTPUTFORMAT_PDF = 1u << 1, 22 PP_PRINTOUTPUTFORMAT_POSTSCRIPT = 1u << 2, 23 PP_PRINTOUTPUTFORMAT_EMF = 1u << 3 24 }; 25 26 [assert_size(4)] 27 enum PP_PrintScalingOption_Dev { 28 PP_PRINTSCALINGOPTION_NONE = 0, 29 PP_PRINTSCALINGOPTION_FIT_TO_PRINTABLE_AREA = 1, 30 PP_PRINTSCALINGOPTION_SOURCE_SIZE = 2 31 }; 32 33 [assert_size(60)] 34 struct PP_PrintSettings_Dev { 35 /** This is the size of the printable area in points (1/72 of an inch). */ 36 PP_Rect printable_area; 37 PP_Rect content_area; 38 PP_Size paper_size; 39 int32_t dpi; 40 PP_PrintOrientation_Dev orientation; 41 PP_PrintScalingOption_Dev print_scaling_option; 42 PP_Bool grayscale; 43 /** Note that Chrome currently only supports PDF printing. */ 44 PP_PrintOutputFormat_Dev format; 45 }; 46