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 /* From dev/pp_print_settings_dev.idl modified Wed Jun 13 09:14:31 2012. */ 7 8 #ifndef PPAPI_C_DEV_PP_PRINT_SETTINGS_DEV_H_ 9 #define PPAPI_C_DEV_PP_PRINT_SETTINGS_DEV_H_ 10 11 #include "ppapi/c/pp_bool.h" 12 #include "ppapi/c/pp_macros.h" 13 #include "ppapi/c/pp_point.h" 14 #include "ppapi/c/pp_rect.h" 15 #include "ppapi/c/pp_size.h" 16 #include "ppapi/c/pp_stdint.h" 17 18 /** 19 * @file 20 * This file defines the struct for PrintSettings. 21 */ 22 23 24 /** 25 * @addtogroup Enums 26 * @{ 27 */ 28 typedef enum { 29 PP_PRINTORIENTATION_NORMAL = 0, 30 PP_PRINTORIENTATION_ROTATED_90_CW = 1, 31 PP_PRINTORIENTATION_ROTATED_180 = 2, 32 PP_PRINTORIENTATION_ROTATED_90_CCW = 3 33 } PP_PrintOrientation_Dev; 34 PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_PrintOrientation_Dev, 4); 35 36 typedef enum { 37 PP_PRINTOUTPUTFORMAT_RASTER = 1u << 0, 38 PP_PRINTOUTPUTFORMAT_PDF = 1u << 1, 39 PP_PRINTOUTPUTFORMAT_POSTSCRIPT = 1u << 2, 40 PP_PRINTOUTPUTFORMAT_EMF = 1u << 3 41 } PP_PrintOutputFormat_Dev; 42 PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_PrintOutputFormat_Dev, 4); 43 44 typedef enum { 45 PP_PRINTSCALINGOPTION_NONE = 0, 46 PP_PRINTSCALINGOPTION_FIT_TO_PRINTABLE_AREA = 1, 47 PP_PRINTSCALINGOPTION_SOURCE_SIZE = 2 48 } PP_PrintScalingOption_Dev; 49 PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_PrintScalingOption_Dev, 4); 50 /** 51 * @} 52 */ 53 54 /** 55 * @addtogroup Structs 56 * @{ 57 */ 58 struct PP_PrintSettings_Dev { 59 /** This is the size of the printable area in points (1/72 of an inch). */ 60 struct PP_Rect printable_area; 61 struct PP_Rect content_area; 62 struct PP_Size paper_size; 63 int32_t dpi; 64 PP_PrintOrientation_Dev orientation; 65 PP_PrintScalingOption_Dev print_scaling_option; 66 PP_Bool grayscale; 67 /** Note that Chrome currently only supports PDF printing. */ 68 PP_PrintOutputFormat_Dev format; 69 }; 70 PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_PrintSettings_Dev, 60); 71 /** 72 * @} 73 */ 74 75 #endif /* PPAPI_C_DEV_PP_PRINT_SETTINGS_DEV_H_ */ 76 77