gtk+ r19955 - in trunk: . gtk
- From: bratsche svn gnome org
- To: svn-commits-list gnome org
- Subject: gtk+ r19955 - in trunk: . gtk
- Date: Tue, 1 Apr 2008 21:46:18 +0100 (BST)
Author: bratsche
Date: Tue Apr 1 21:46:18 2008
New Revision: 19955
URL: http://svn.gnome.org/viewvc/gtk+?rev=19955&view=rev
Log:
2008-04-01 Cody Russell <bratsche gnome org>
* configure.in: Bump required Cairo to 1.5.2.
* gtk/gtkprintoperation-win32.c: Add support for using the new
cairo_win32_printing_surface for printing. (#488833)
Modified:
trunk/ChangeLog
trunk/configure.in
trunk/gtk/gtkprintoperation-win32.c
Modified: trunk/configure.in
==============================================================================
--- trunk/configure.in (original)
+++ trunk/configure.in Tue Apr 1 21:46:18 2008
@@ -34,7 +34,7 @@
m4_define([glib_required_version], [2.15.0])
m4_define([pango_required_version], [1.19.3])
m4_define([atk_required_version], [1.13.0])
-m4_define([cairo_required_version], [1.2.0])
+m4_define([cairo_required_version], [1.5.2])
AC_INIT([gtk+], [gtk_version],
Modified: trunk/gtk/gtkprintoperation-win32.c
==============================================================================
--- trunk/gtk/gtkprintoperation-win32.c (original)
+++ trunk/gtk/gtkprintoperation-win32.c Tue Apr 1 21:46:18 2008
@@ -455,6 +455,9 @@
GtkPrintContext *print_context)
{
GtkPrintOperationWin32 *op_win32 = op->priv->platform_data;
+
+ cairo_surface_show_page (op_win32->surface);
+
EndPage (op_win32->hdc);
}
@@ -486,6 +489,8 @@
GtkPrintOperationWin32 *op_win32 = op->priv->platform_data;
LPDEVNAMES devnames;
HANDLE printerHandle = 0;
+
+ cairo_surface_finish (op_win32->surface);
EndDoc (op_win32->hdc);
@@ -501,7 +506,6 @@
GlobalFree(op_win32->devmode);
GlobalFree(op_win32->devnames);
- cairo_surface_finish (op_win32->surface);
cairo_surface_destroy (op_win32->surface);
op_win32->surface = NULL;
@@ -1601,7 +1605,8 @@
*do_print = TRUE;
- op_win32->surface = cairo_win32_surface_create (printdlgex->hDC);
+ op_win32->surface = cairo_win32_printing_surface_create (printdlgex->hDC);
+
dpi_x = (double)GetDeviceCaps (printdlgex->hDC, LOGPIXELSX);
dpi_y = (double)GetDeviceCaps (printdlgex->hDC, LOGPIXELSY);
@@ -1619,7 +1624,7 @@
job_id = StartDocW(printdlgex->hDC, &docinfo);
g_free ((void *)docinfo.lpszDocName);
if (job_id <= 0)
- {
+ {
result = GTK_PRINT_OPERATION_RESULT_ERROR;
g_set_error (&priv->error,
GTK_PRINT_ERROR,
@@ -1703,8 +1708,9 @@
cairo_surface_t *surface,
cairo_t *cr)
{
- /* TODO: This doesn't actually seem to work.
- * Do enhanced metafiles really support multiple pages?
+ cairo_surface_show_page (cr);
+
+ /* TODO: Enhanced metafiles don't support multiple pages.
*/
HDC dc = cairo_win32_surface_get_dc (surface);
EndPage (dc);
@@ -1758,7 +1764,7 @@
*dpi_x = (double)GetDeviceCaps (metafile_dc, LOGPIXELSX);
*dpi_y = (double)GetDeviceCaps (metafile_dc, LOGPIXELSY);
- return cairo_win32_surface_create (metafile_dc);
+ return cairo_win32_printing_surface_create (metafile_dc);
}
void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]