Bug 339714 - Set printer dpi on cairo ps/pdf surfaces when printing

2008-10-30  Marek Kasik  <mkasik@redhat.com>

	Bug 339714 - Set printer dpi on cairo ps/pdf surfaces when printing

	* gtk/gtk.symbols
	* gtk/gtkprintsettings.c
	* gtk/gtkprintsettings.h
	* docs/reference/gtk/gtk-sections.txt
	* modules/printbackends/file/gtkprintbackendfile.c
	* modules/printbackends/test/gtkprintbackendtest.c
	* modules/printbackends/cups/gtkprintbackendcups.c
	* modules/printbackends/lpr/gtkprintbackendlpr.c:
	Added lpi (lines per inch) setting to GtkPrintSettings and support
	for anamorphic dpi. Surface fallback resolution is set to 2*lpi.

svn path=/trunk/; revision=21733
This commit is contained in:
Marek Kasik
2008-10-30 16:24:27 +00:00
committed by Marek Kašík
parent e7b18d2a61
commit a3b07ac981
9 changed files with 235 additions and 14 deletions

View File

@ -211,8 +211,12 @@ lpr_printer_create_cairo_surface (GtkPrinter *printer,
surface = cairo_ps_surface_create_for_stream (_cairo_write, cache_io, width, height);
/* TODO: DPI from settings object? */
cairo_surface_set_fallback_resolution (surface, 300, 300);
if (gtk_print_settings_get_printer_lpi (settings) == 0.0)
gtk_print_settings_set_printer_lpi (settings, 150.0);
cairo_surface_set_fallback_resolution (surface,
2.0 * gtk_print_settings_get_printer_lpi (settings),
2.0 * gtk_print_settings_get_printer_lpi (settings));
return surface;
}