summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Johnson <ajohnson@redneon.com>2009-11-21 20:07:14 +1030
committerCarlos Garcia Campos <carlosgc@gnome.org>2009-12-05 13:45:55 +0100
commit48cf7d9e7e2677bb5687e2c9b600fda7b56e0056 (patch)
tree1abeed783437acd1dc55a93d11bcc492665cf24e
parentbe686e2badb5cdfdaed7df2cac9ff3b3fb793056 (diff)
downloadgtk+-48cf7d9e7e2677bb5687e2c9b600fda7b56e0056.tar.gz
Set unix printer hard margins on print context
-rw-r--r--gtk/gtkprintoperation-private.h5
-rw-r--r--gtk/gtkprintoperation-unix.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/gtk/gtkprintoperation-private.h b/gtk/gtkprintoperation-private.h
index 5e28007bee..c1f047c2dd 100644
--- a/gtk/gtkprintoperation-private.h
+++ b/gtk/gtkprintoperation-private.h
@@ -140,6 +140,11 @@ 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_set_hard_margins (GtkPrintContext *context,
+ gdouble top,
+ gdouble bottom,
+ gdouble left,
+ gdouble right);
G_END_DECLS
diff --git a/gtk/gtkprintoperation-unix.c b/gtk/gtkprintoperation-unix.c
index a36eced955..5940600b76 100644
--- a/gtk/gtkprintoperation-unix.c
+++ b/gtk/gtkprintoperation-unix.c
@@ -538,12 +538,16 @@ finish_print (PrintResponseData *rdata,
GtkPrintOperation *op = rdata->op;
GtkPrintOperationPrivate *priv = op->priv;
GtkPrintJob *job;
+ gdouble top, bottom, left, right;
if (rdata->do_print)
{
gtk_print_operation_set_print_settings (op, settings);
priv->print_context = _gtk_print_context_new (op);
+ if (gtk_printer_get_hard_margins (printer, &top, &bottom, &left, &right))
+ _gtk_print_context_set_hard_margins (priv->print_context, top, bottom, left, right);
+
if (page_setup != NULL &&
(gtk_print_operation_get_default_page_setup (op) == NULL ||
page_setup_set))