diff --git a/src/viewer/internal.h b/src/viewer/internal.h index 79728d222..3a3d1a32f 100644 --- a/src/viewer/internal.h +++ b/src/viewer/internal.h @@ -295,7 +295,6 @@ void mcview_move_up (mcview_t *, off_t); void mcview_move_down (mcview_t *, off_t); void mcview_move_left (mcview_t *, off_t); void mcview_move_right (mcview_t *, off_t); -void mcview_scroll_to_cursor (mcview_t *); void mcview_moveto_top (mcview_t *); void mcview_moveto_bottom (mcview_t *); void mcview_moveto_bol (mcview_t *); diff --git a/src/viewer/move.c b/src/viewer/move.c index 23ab02265..3ea809db0 100644 --- a/src/viewer/move.c +++ b/src/viewer/move.c @@ -3,7 +3,7 @@ Functions for handle cursor movement Copyright (C) 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, - 2004, 2005, 2006, 2007, 2009, 2011 + 2004, 2005, 2006, 2007, 2009, 2011, 2013 The Free Software Foundation, Inc. Written by: @@ -15,7 +15,7 @@ Pavel Machek, 1998 Roland Illig , 2004, 2005 Slava Zanko , 2009 - Andrew Borodin , 2009 + Andrew Borodin , 2009, 2013 Ilia Maslakov , 2009, 2010 This file is part of the Midnight Commander. @@ -64,9 +64,31 @@ /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ +static void +mcview_scroll_to_cursor (mcview_t * view) +{ + if (view->hex_mode) + { + off_t bytes = view->bytes_per_line; + off_t cursor = view->hex_cursor; + off_t topleft = view->dpy_start; + off_t displaysize; + + displaysize = view->data_area.height * bytes; + if (topleft + displaysize <= cursor) + topleft = mcview_offset_rounddown (cursor, bytes) - (displaysize - bytes); + if (cursor < topleft) + topleft = mcview_offset_rounddown (cursor, bytes); + view->dpy_start = topleft; + } +} + +/* --------------------------------------------------------------------------------------------- */ + static void mcview_movement_fixups (mcview_t * view, gboolean reset_search) { @@ -277,26 +299,6 @@ mcview_move_right (mcview_t * view, off_t columns) /* --------------------------------------------------------------------------------------------- */ -void -mcview_scroll_to_cursor (mcview_t * view) -{ - if (view->hex_mode) - { - const off_t bytes = view->bytes_per_line; - const off_t displaysize = view->data_area.height * bytes; - const off_t cursor = view->hex_cursor; - off_t topleft = view->dpy_start; - - if (topleft + displaysize <= cursor) - topleft = mcview_offset_rounddown (cursor, bytes) - (displaysize - bytes); - if (cursor < topleft) - topleft = mcview_offset_rounddown (cursor, bytes); - view->dpy_start = topleft; - } -} - -/* --------------------------------------------------------------------------------------------- */ - void mcview_moveto_top (mcview_t * view) {