<!-- ##### SECTION Title ##### -->
High-level Printing API

<!-- ##### SECTION Short_Description ##### -->


<!-- ##### SECTION Long_Description ##### -->
<para>

</para>

<!-- ##### SECTION See_Also ##### -->
<para>

</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### SECTION Image ##### -->


<!-- ##### STRUCT GtkPrintOperation ##### -->
<para>

</para>


<!-- ##### SIGNAL GtkPrintOperation::begin-print ##### -->
<para>

</para>

@printoperation: the object which received the signal.
@arg1: 

<!-- ##### SIGNAL GtkPrintOperation::create-custom-widget ##### -->
<para>

</para>

@printoperation: the object which received the signal.
@Returns: 

<!-- ##### SIGNAL GtkPrintOperation::custom-widget-apply ##### -->
<para>

</para>

@printoperation: the object which received the signal.
@widget: 

<!-- ##### SIGNAL GtkPrintOperation::done ##### -->
<para>

</para>

@printoperation: the object which received the signal.
@arg1: 

<!-- ##### SIGNAL GtkPrintOperation::draw-page ##### -->
<para>

</para>

@printoperation: the object which received the signal.
@arg1: 
@arg2: 

<!-- ##### SIGNAL GtkPrintOperation::end-print ##### -->
<para>

</para>

@printoperation: the object which received the signal.
@arg1: 

<!-- ##### SIGNAL GtkPrintOperation::paginate ##### -->
<para>

</para>

@printoperation: the object which received the signal.
@arg1: 
@Returns: 

<!-- ##### SIGNAL GtkPrintOperation::preview ##### -->
<para>

</para>

@printoperation: the object which received the signal.
@arg1: 
@arg2: 
@arg3: 
@Returns: 

<!-- ##### SIGNAL GtkPrintOperation::request-page-setup ##### -->
<para>

</para>

@printoperation: the object which received the signal.
@arg1: 
@arg2: 
@arg3: 

<!-- ##### SIGNAL GtkPrintOperation::status-changed ##### -->
<para>

</para>

@printoperation: the object which received the signal.

<!-- ##### SIGNAL GtkPrintOperation::update-custom-widget ##### -->
<para>

</para>

@printoperation: the object which received the signal.
@widget: 
@arg1: 
@arg2: 

<!-- ##### ARG GtkPrintOperation:allow-async ##### -->
<para>

</para>

<!-- ##### ARG GtkPrintOperation:current-page ##### -->
<para>

</para>

<!-- ##### ARG GtkPrintOperation:custom-tab-label ##### -->
<para>

</para>

<!-- ##### ARG GtkPrintOperation:default-page-setup ##### -->
<para>

</para>

<!-- ##### ARG GtkPrintOperation:embed-page-setup ##### -->
<para>

</para>

<!-- ##### ARG GtkPrintOperation:export-filename ##### -->
<para>

</para>

<!-- ##### ARG GtkPrintOperation:has-selection ##### -->
<para>

</para>

<!-- ##### ARG GtkPrintOperation:job-name ##### -->
<para>

</para>

<!-- ##### ARG GtkPrintOperation:n-pages ##### -->
<para>

</para>

<!-- ##### ARG GtkPrintOperation:n-pages-to-print ##### -->
<para>

</para>

<!-- ##### ARG GtkPrintOperation:print-settings ##### -->
<para>

</para>

<!-- ##### ARG GtkPrintOperation:show-progress ##### -->
<para>

</para>

<!-- ##### ARG GtkPrintOperation:status ##### -->
<para>

</para>

<!-- ##### ARG GtkPrintOperation:status-string ##### -->
<para>

</para>

<!-- ##### ARG GtkPrintOperation:support-selection ##### -->
<para>

</para>

<!-- ##### ARG GtkPrintOperation:track-print-status ##### -->
<para>

</para>

<!-- ##### ARG GtkPrintOperation:unit ##### -->
<para>

</para>

<!-- ##### ARG GtkPrintOperation:use-full-page ##### -->
<para>

</para>

<!-- ##### ENUM GtkPrintStatus ##### -->
<para>

</para>

@GTK_PRINT_STATUS_INITIAL: 
@GTK_PRINT_STATUS_PREPARING: 
@GTK_PRINT_STATUS_GENERATING_DATA: 
@GTK_PRINT_STATUS_SENDING_DATA: 
@GTK_PRINT_STATUS_PENDING: 
@GTK_PRINT_STATUS_PENDING_ISSUE: 
@GTK_PRINT_STATUS_PRINTING: 
@GTK_PRINT_STATUS_FINISHED: 
@GTK_PRINT_STATUS_FINISHED_ABORTED: 

<!-- ##### ENUM GtkPrintOperationAction ##### -->
<para>

</para>

@GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG: 
@GTK_PRINT_OPERATION_ACTION_PRINT: 
@GTK_PRINT_OPERATION_ACTION_PREVIEW: 
@GTK_PRINT_OPERATION_ACTION_EXPORT: 

<!-- ##### ENUM GtkPrintOperationResult ##### -->
<para>

</para>

@GTK_PRINT_OPERATION_RESULT_ERROR: 
@GTK_PRINT_OPERATION_RESULT_APPLY: 
@GTK_PRINT_OPERATION_RESULT_CANCEL: 
@GTK_PRINT_OPERATION_RESULT_IN_PROGRESS: 

<!-- ##### ENUM GtkPrintError ##### -->
<para>

</para>

@GTK_PRINT_ERROR_GENERAL: 
@GTK_PRINT_ERROR_INTERNAL_ERROR: 
@GTK_PRINT_ERROR_NOMEM: 
@GTK_PRINT_ERROR_INVALID_FILE: 

<!-- ##### MACRO GTK_PRINT_ERROR ##### -->
<para>

</para>



<!-- ##### FUNCTION gtk_print_operation_new ##### -->
<para>

</para>

@void: 
@Returns: 


<!-- ##### FUNCTION gtk_print_operation_set_allow_async ##### -->
<para>

</para>

@op: 
@allow_async: 


<!-- ##### FUNCTION gtk_print_operation_get_error ##### -->
<para>

</para>

@op: 
@error: 


<!-- ##### FUNCTION gtk_print_operation_set_default_page_setup ##### -->
<para>

</para>

@op: 
@default_page_setup: 


<!-- ##### FUNCTION gtk_print_operation_get_default_page_setup ##### -->
<para>

</para>

@op: 
@Returns: 


<!-- ##### FUNCTION gtk_print_operation_set_print_settings ##### -->
<para>

</para>

@op: 
@print_settings: 


<!-- ##### FUNCTION gtk_print_operation_get_print_settings ##### -->
<para>

</para>

@op: 
@Returns: 


<!-- ##### FUNCTION gtk_print_operation_set_job_name ##### -->
<para>

</para>

@op: 
@job_name: 


<!-- ##### FUNCTION gtk_print_operation_set_n_pages ##### -->
<para>

</para>

@op: 
@n_pages: 


<!-- ##### FUNCTION gtk_print_operation_get_n_pages_to_print ##### -->
<para>

</para>

@op: 
@Returns: 


<!-- ##### FUNCTION gtk_print_operation_set_current_page ##### -->
<para>

</para>

@op: 
@current_page: 


<!-- ##### FUNCTION gtk_print_operation_set_use_full_page ##### -->
<para>

</para>

@op: 
@full_page: 


<!-- ##### FUNCTION gtk_print_operation_set_unit ##### -->
<para>

</para>

@op: 
@unit: 


<!-- ##### FUNCTION gtk_print_operation_set_export_filename ##### -->
<para>

</para>

@op: 
@filename: 


<!-- ##### FUNCTION gtk_print_operation_set_show_progress ##### -->
<para>

</para>

@op: 
@show_progress: 


<!-- ##### FUNCTION gtk_print_operation_set_track_print_status ##### -->
<para>

</para>

@op: 
@track_status: 


<!-- ##### FUNCTION gtk_print_operation_set_custom_tab_label ##### -->
<para>

</para>

@op: 
@label: 


<!-- ##### FUNCTION gtk_print_operation_run ##### -->
<para>

</para>

@op: 
@action: 
@parent: 
@error: 
@Returns: 


<!-- ##### FUNCTION gtk_print_operation_cancel ##### -->
<para>

</para>

@op: 


<!-- ##### FUNCTION gtk_print_operation_draw_page_finish ##### -->
<para>

</para>

@op: 


<!-- ##### FUNCTION gtk_print_operation_set_defer_drawing ##### -->
<para>

</para>

@op: 


<!-- ##### FUNCTION gtk_print_operation_get_status ##### -->
<para>

</para>

@op: 
@Returns: 


<!-- ##### FUNCTION gtk_print_operation_get_status_string ##### -->
<para>

</para>

@op: 
@Returns: 


<!-- ##### FUNCTION gtk_print_operation_is_finished ##### -->
<para>

</para>

@op: 
@Returns: 


<!-- ##### FUNCTION gtk_print_operation_set_support_selection ##### -->
<para>

</para>

@op: 
@support_selection: 


<!-- ##### FUNCTION gtk_print_operation_get_support_selection ##### -->
<para>

</para>

@op: 
@Returns: 


<!-- ##### FUNCTION gtk_print_operation_set_has_selection ##### -->
<para>

</para>

@op: 
@has_selection: 


<!-- ##### FUNCTION gtk_print_operation_get_has_selection ##### -->
<para>

</para>

@op: 
@Returns: 


<!-- ##### FUNCTION gtk_print_operation_set_embed_page_setup ##### -->
<para>

</para>

@op: 
@embed: 


<!-- ##### FUNCTION gtk_print_operation_get_embed_page_setup ##### -->
<para>

</para>

@op: 
@Returns: 


<!-- ##### FUNCTION gtk_print_run_page_setup_dialog ##### -->
<para>

</para>

@parent: 
@page_setup: 
@settings: 
@Returns: 


<!-- ##### USER_FUNCTION GtkPageSetupDoneFunc ##### -->
<para>

</para>

@page_setup: 
@data: 


<!-- ##### FUNCTION gtk_print_run_page_setup_dialog_async ##### -->
<para>

</para>

@parent: 
@page_setup: 
@settings: 
@done_cb: 
@data: 


<!-- ##### STRUCT GtkPrintOperationPreview ##### -->
<para>

</para>


<!-- ##### SIGNAL GtkPrintOperationPreview::got-page-size ##### -->
<para>

</para>

@printoperationpreview: the object which received the signal.
@arg1: 
@arg2: 

<!-- ##### SIGNAL GtkPrintOperationPreview::ready ##### -->
<para>

</para>

@printoperationpreview: the object which received the signal.
@arg1: 

<!-- ##### FUNCTION gtk_print_operation_preview_end_preview ##### -->
<para>

</para>

@preview: 


<!-- ##### FUNCTION gtk_print_operation_preview_is_selected ##### -->
<para>

</para>

@preview: 
@page_nr: 
@Returns: 


<!-- ##### FUNCTION gtk_print_operation_preview_render_page ##### -->
<para>

</para>

@preview: 
@page_nr: 


