From 44eab3deb5f1a748d95bd250841cfd500085a48f Mon Sep 17 00:00:00 2001 From: Martin Kretzschmar Date: Fri, 21 Jan 2005 13:29:36 +0000 Subject: add page_[xy]_offset fields. * ps/ps-document.h: add page_[xy]_offset fields. * ps/ps-document.c (ps_document_set_page_offset) (ps_document_render): Keep offset in consideration in a few places. Bug #164752 "postscript documents are not centered in window" --- (limited to 'ps/ps-document.c') diff --git a/ps/ps-document.c b/ps/ps-document.c index 6723edb..848d1a7 100644 --- a/ps/ps-document.c +++ b/ps/ps-document.c @@ -1773,6 +1773,10 @@ ps_document_set_page_offset (EvDocument *document, int x, int y) { + PSDocument *gs = PS_DOCUMENT (document); + + gs->page_x_offset = x; + gs->page_y_offset = y; } static void @@ -1799,6 +1803,8 @@ ps_document_render (EvDocument *document, int clip_height) { PSDocument *gs = PS_DOCUMENT (document); + GdkRectangle page; + GdkRectangle draw; GdkGC *gc; if (gs->pstarget == NULL || @@ -1806,13 +1812,23 @@ ps_document_render (EvDocument *document, return; } + page.x = gs->page_x_offset; + page.y = gs->page_y_offset; + page.width = gs->width; + page.height = gs->height; + + draw.x = clip_x; + draw.y = clip_y; + draw.width = clip_width; + draw.height = clip_height; + gc = gdk_gc_new (gs->pstarget); gdk_draw_drawable (gs->pstarget, gc, gs->bpixmap, - clip_x, clip_y, - clip_x, clip_y, - clip_width, clip_height); + draw.x - page.x, draw.y - page.y, + draw.x, draw.y, + draw.width, draw.height); g_object_unref (gc); } -- cgit v0.9.1