+
+static cairo_t *
+get_cairo_context_from_print_context (GtkPrintContext *context)
+{
+ cairo_t *cr = gtk_print_context_get_cairo_context (context);
+
+ /*
+ For all platforms except windows, gtk_print_context_get_dpi_[xy] returns 72.
+ Windows returns 600.
+ */
+ double xres = gtk_print_context_get_dpi_x (context);
+ double yres = gtk_print_context_get_dpi_y (context);
+
+ /* This means that the cairo context now has its dimensions in Points */
+ cairo_scale (cr, xres / 72.0, yres / 72.0);
+
+ return cr;
+}
+
+