diff options
| author | Diederik van Lierop <mail@diedenrezi.nl> | 2008-01-30 20:05:58 +0000 |
|---|---|---|
| committer | dvlierop2 <dvlierop2@users.sourceforge.net> | 2008-01-30 20:05:58 +0000 |
| commit | 1f73043224256571ebbbbad8b7e8be4bbc09f9ed (patch) | |
| tree | 8ae1c33244f10de4166ac6d708b18920b929164d /src/widgets/desktop-widget.cpp | |
| parent | A bunch of i18n-related issues fixed, ru.po slightly updated. Please do not f... (diff) | |
| download | inkscape-1f73043224256571ebbbbad8b7e8be4bbc09f9ed.tar.gz inkscape-1f73043224256571ebbbbad8b7e8be4bbc09f9ed.zip | |
2nd part of the fix for bug #167500: correctly update the rulers when they change size
(bzr r4621)
Diffstat (limited to 'src/widgets/desktop-widget.cpp')
| -rw-r--r-- | src/widgets/desktop-widget.cpp | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp index 4d44b1b26..76452d851 100644 --- a/src/widgets/desktop-widget.cpp +++ b/src/widgets/desktop-widget.cpp @@ -1342,13 +1342,29 @@ SPDesktopWidget::viewSetPosition (NR::Point p) void sp_desktop_widget_update_rulers (SPDesktopWidget *dtw) { - NR::Rect const viewbox = dtw->canvas->getViewbox(); + sp_desktop_widget_update_hruler(dtw); + sp_desktop_widget_update_vruler(dtw); +} + +void +sp_desktop_widget_update_hruler (SPDesktopWidget *dtw) +{ + NR::Rect viewbox = dtw->canvas->getViewbox(); + double const scale = dtw->desktop->current_zoom(); double s = viewbox.min()[NR::X] / scale - dtw->ruler_origin[NR::X]; double e = viewbox.max()[NR::X] / scale - dtw->ruler_origin[NR::X]; gtk_ruler_set_range(GTK_RULER(dtw->hruler), s, e, GTK_RULER(dtw->hruler)->position, (e - s)); - s = viewbox.min()[NR::Y] / -scale - dtw->ruler_origin[NR::Y]; - e = viewbox.max()[NR::Y] / -scale - dtw->ruler_origin[NR::Y]; +} + +void +sp_desktop_widget_update_vruler (SPDesktopWidget *dtw) +{ + NR::Rect viewbox = dtw->canvas->getViewbox(); + + double const scale = dtw->desktop->current_zoom(); + double s = viewbox.min()[NR::Y] / -scale - dtw->ruler_origin[NR::Y]; + double e = viewbox.max()[NR::Y] / -scale - dtw->ruler_origin[NR::Y]; gtk_ruler_set_range(GTK_RULER(dtw->vruler), s, e, GTK_RULER(dtw->vruler)->position, (e - s)); } |
