diff --git a/src/org/geometerplus/fbreader/fbreader/FBView.java b/src/org/geometerplus/fbreader/fbreader/FBView.java index 79b076c67..7fcc8919b 100644 --- a/src/org/geometerplus/fbreader/fbreader/FBView.java +++ b/src/org/geometerplus/fbreader/fbreader/FBView.java @@ -160,7 +160,7 @@ public final class FBView extends ZLTextView { final ZLTextSelectionCursor cursor = findSelectionCursor(x, y, maxSelectionDistance()); if (cursor != ZLTextSelectionCursor.None) { myReader.runAction(ActionCode.SELECTION_HIDE_PANEL); - moveSelectionCursorTo(cursor, x, y); + moveSelectionCursorTo(cursor, x, y, true); return true; } @@ -200,7 +200,7 @@ public final class FBView extends ZLTextView { final ZLTextSelectionCursor cursor = getSelectionCursorInMovement(); if (cursor != ZLTextSelectionCursor.None) { - moveSelectionCursorTo(cursor, x, y); + moveSelectionCursorTo(cursor, x, y, true); return true; } @@ -265,7 +265,7 @@ public final class FBView extends ZLTextView { initSelection(x, y); final ZLTextSelectionCursor cursor = findSelectionCursor(x, y); if (cursor != ZLTextSelectionCursor.None) { - moveSelectionCursorTo(cursor, x, y); + moveSelectionCursorTo(cursor, x, y, false); } return true; case selectSingleWord: @@ -299,7 +299,7 @@ public final class FBView extends ZLTextView { final ZLTextSelectionCursor cursor = getSelectionCursorInMovement(); if (cursor != ZLTextSelectionCursor.None) { - moveSelectionCursorTo(cursor, x, y); + moveSelectionCursorTo(cursor, x, y, true); return true; } diff --git a/src/org/geometerplus/zlibrary/text/view/ZLTextView.java b/src/org/geometerplus/zlibrary/text/view/ZLTextView.java index 335e840cb..847840fbc 100644 --- a/src/org/geometerplus/zlibrary/text/view/ZLTextView.java +++ b/src/org/geometerplus/zlibrary/text/view/ZLTextView.java @@ -327,8 +327,12 @@ public abstract class ZLTextView extends ZLTextViewBase { } } - protected void moveSelectionCursorTo(ZLTextSelectionCursor cursor, int x, int y) { - y -= ZLTextSelectionCursor.getHeight() / 2 + ZLTextSelectionCursor.getAccent() / 2; + protected void moveSelectionCursorTo(ZLTextSelectionCursor cursor, int x, int y, boolean inMovement) { + if (inMovement) { + y -= ZLTextSelectionCursor.getHeight() / 2 + ZLTextSelectionCursor.getAccent() / 2; + } else { + y -= getTextStyleCollection().getBaseStyle().getFontSize() / 2; + } mySelection.setCursorInMovement(cursor, x, y); mySelection.expandTo(myCurrentPage, x, y); Application.getViewWidget().reset();