diff --git a/src/pyj/read_book/globals.pyj b/src/pyj/read_book/globals.pyj index 2a858d592d..1edcf1e9c3 100644 --- a/src/pyj/read_book/globals.pyj +++ b/src/pyj/read_book/globals.pyj @@ -56,6 +56,9 @@ def flow_viewport_scroll_into_view(elem): def flow_reset_globals(): pass +def flow_reset_transforms(): + pass + def paged_viewport_y(): return 0 @@ -64,6 +67,7 @@ scroll_viewport.y = flow_viewport_y scroll_viewport.scroll_to = flow_viewport_scroll_to scroll_viewport.scroll_into_view = flow_viewport_scroll_into_view scroll_viewport.reset_globals = flow_reset_globals +scroll_viewport.reset_transforms = flow_reset_transforms if is_ios: window_width = def (): @@ -101,10 +105,12 @@ if is_ios: p = p.offsetParent # left -= window_width() // 2 paged_viewport_scroll_to(max(0, left), 0) - paged_reset_globals = def(): - document.documentElement.style.transform = 'none' paged_content_width = def(): return document.documentElement.scrollWidth + paged_reset_transforms = def(): + document.documentElement.style.transform = 'none' + paged_reset_globals = def(): + paged_reset_transforms() else: window_width = def(): @@ -117,6 +123,8 @@ else: paged_reset_globals = flow_reset_globals paged_content_width = def(): return document.documentElement.scrollWidth + paged_reset_transforms = def(): + pass scroll_viewport.width = window_width scroll_viewport.height = window_height @@ -135,12 +143,14 @@ def set_layout_mode(val): scroll_viewport.scroll_to = flow_viewport_scroll_to scroll_viewport.scroll_into_view = flow_viewport_scroll_into_view scroll_viewport.reset_globals = flow_reset_globals + scroll_viewport.reset_transforms = flow_reset_transforms else: scroll_viewport.x = paged_viewport_x scroll_viewport.y = paged_viewport_y scroll_viewport.scroll_to = paged_viewport_scroll_to scroll_viewport.scroll_into_view = paged_viewport_scroll_into_view scroll_viewport.reset_globals = paged_reset_globals + scroll_viewport.reset_transforms = paged_reset_transforms def current_spine_item(): return current_spine_item.value diff --git a/src/pyj/read_book/paged_mode.pyj b/src/pyj/read_book/paged_mode.pyj index 9f85239d20..52da86d3f0 100644 --- a/src/pyj/read_book/paged_mode.pyj +++ b/src/pyj/read_book/paged_mode.pyj @@ -341,6 +341,7 @@ def jump_to_anchor(name): def scroll_to_elem(elem): scroll_viewport.scroll_into_view(elem) + scroll_viewport.reset_transforms() # needed for viewport_to_document() if in_paged_mode: # Ensure we are scrolled to the column containing elem @@ -365,6 +366,7 @@ def snap_to_selection(): # Ensure that the viewport is positioned at the start of the column # containing the start of the current selection if in_paged_mode: + scroll_viewport.reset_transforms() # needed for viewport_to_document() sel = window.getSelection() r = sel.getRangeAt(0).getBoundingClientRect() node = sel.anchorNode