]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkprintoperation-private.h
filechooserbutton: Update the button/combo whenever the selection is changed programm...
[~andy/gtk] / gtk / gtkprintoperation-private.h
index 3595314b4df411a059080c2dd3d0438e0ef59f4c..6a7b509978e6e0b55ad8cfa453c33de27a15ef44 100644 (file)
@@ -13,9 +13,7 @@
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
  */
 
 #ifndef __GTK_PRINT_OPERATION_PRIVATE_H__
 
 G_BEGIN_DECLS
 
+/* Page drawing states */
+typedef enum
+{
+  GTK_PAGE_DRAWING_STATE_READY,
+  GTK_PAGE_DRAWING_STATE_DRAWING,
+  GTK_PAGE_DRAWING_STATE_DEFERRED_DRAWING
+} GtkPageDrawingState;
+
 struct _GtkPrintOperationPrivate
 {
   GtkPrintOperationAction action;
@@ -35,6 +41,8 @@ struct _GtkPrintOperationPrivate
   GtkPrintSettings *print_settings;
   gchar *job_name;
   gint nr_of_pages;
+  gint nr_of_pages_to_print;
+  gint page_position;
   gint current_page;
   GtkUnit unit;
   gchar *export_filename;
@@ -44,6 +52,11 @@ struct _GtkPrintOperationPrivate
   guint cancelled          : 1;
   guint allow_async        : 1;
   guint is_sync            : 1;
+  guint support_selection  : 1;
+  guint has_selection      : 1;
+  guint embed_page_setup   : 1;
+
+  GtkPageDrawingState      page_drawing_state;
 
   guint print_pages_idle_id;
   guint show_progress_timeout_id;
@@ -60,6 +73,9 @@ struct _GtkPrintOperationPrivate
   guint manual_orientation : 1;
   double manual_scale;
   GtkPageSet manual_page_set;
+  guint manual_number_up;
+  GtkNumberUpLayout manual_number_up_layout;
+
   GtkWidget *custom_widget;
   gchar *custom_tab_label;
   
@@ -122,6 +138,12 @@ void             _gtk_print_context_set_page_setup                  (GtkPrintCon
                                                                     GtkPageSetup      *page_setup);
 void             _gtk_print_context_translate_into_margin           (GtkPrintContext   *context);
 void             _gtk_print_context_rotate_according_to_orientation (GtkPrintContext   *context);
+void             _gtk_print_context_reverse_according_to_orientation (GtkPrintContext *context);
+void             _gtk_print_context_set_hard_margins                (GtkPrintContext   *context,
+                                                                    gdouble            top,
+                                                                    gdouble            bottom,
+                                                                    gdouble            left,
+                                                                    gdouble            right);
 
 G_END_DECLS