From 9c0a99a22522b9a49a42eb2b80466bcc183c69fc Mon Sep 17 00:00:00 2001 From: Peter Moulder Date: Sun, 20 May 2007 08:28:40 +0000 Subject: noop: Change fitToRect to take NR::Rect instead of old NRRect. Update callers. (bzr r3032) --- src/document.cpp | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) (limited to 'src/document.cpp') diff --git a/src/document.cpp b/src/document.cpp index f4ebfb7cb..252c9b173 100644 --- a/src/document.cpp +++ b/src/document.cpp @@ -485,23 +485,26 @@ gdouble sp_document_height(SPDocument *document) } /** - * Given an NRRect that may, for example, correspond to the bbox of an object + * Given an NR::Rect that may, for example, correspond to the bbox of an object, * this function fits the canvas to that rect by resizing the canvas * and translating the document root into position. */ -void SPDocument::fitToRect(NRRect const & rect) +void SPDocument::fitToRect(NR::Rect const &rect) { - g_return_if_fail(!nr_rect_d_test_empty(&rect)); - - gdouble w = rect.x1 - rect.x0; - gdouble h = rect.y1 - rect.y0; - gdouble old_height = sp_document_height(this); - SPUnit unit = sp_unit_get_by_id(SP_UNIT_PX); - sp_document_set_width(this, w, &unit); - sp_document_set_height(this, h, &unit); - - NR::translate tr = NR::translate::translate(-rect.x0,-(rect.y0 + (h - old_height))); - static_cast(root)->translateChildItems(tr); + g_return_if_fail(!rect.isEmpty()); + + using NR::X; using NR::Y; + double const w = rect.extent(X); + double const h = rect.extent(Y); + + double const old_height = sp_document_height(this); + SPUnit const &px(sp_unit_get_by_id(SP_UNIT_PX)); + sp_document_set_width(this, w, &px); + sp_document_set_height(this, h, &px); + + NR::translate const tr(NR::Point(0, (old_height - h)) + - rect.min()); + SP_GROUP(root)->translateChildItems(tr); } void sp_document_set_uri(SPDocument *document, gchar const *uri) -- cgit v1.2.3