mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Apparently using transform change scrollWidth
Account for that as well, which further fixes scrolling on iOS
This commit is contained in:
parent
ecea8435e6
commit
70424872de
@ -2,7 +2,7 @@
|
|||||||
# License: GPL v3 Copyright: 2017, Kovid Goyal <kovid at kovidgoyal.net>
|
# License: GPL v3 Copyright: 2017, Kovid Goyal <kovid at kovidgoyal.net>
|
||||||
from __python__ import bound_methods, hash_literals
|
from __python__ import bound_methods, hash_literals
|
||||||
|
|
||||||
FUNCTIONS = 'x y scroll_to scroll_into_view reset_globals __reset_transforms window_scroll_pos'.split(' ')
|
FUNCTIONS = 'x y scroll_to scroll_into_view reset_globals __reset_transforms window_scroll_pos content_size'.split(' ')
|
||||||
|
|
||||||
from read_book.globals import get_boss, viewport_mode_changer
|
from read_book.globals import get_boss, viewport_mode_changer
|
||||||
from utils import document_height, document_width, is_ios
|
from utils import document_height, document_width, is_ios
|
||||||
@ -120,15 +120,16 @@ class ScrollViewport:
|
|||||||
def flow___reset_transforms(self):
|
def flow___reset_transforms(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def flow_content_size(self):
|
||||||
|
return document.documentElement.scrollWidth, document.documentElement.scrollHeight
|
||||||
|
|
||||||
def paged_content_inline_size(self):
|
def paged_content_inline_size(self):
|
||||||
if self.horizontal_writing_mode:
|
w, h = self.content_size()
|
||||||
return document.documentElement.scrollWidth
|
return w if self.horizontal_writing_mode else h
|
||||||
return document.documentElement.scrollHeight
|
|
||||||
|
|
||||||
def paged_content_block_size(self):
|
def paged_content_block_size(self):
|
||||||
if self.horizontal_writing_mode:
|
w, h = self.content_size()
|
||||||
return document.documentElement.scrollHeight
|
return h if self.horizontal_writing_mode else w
|
||||||
return document.documentElement.scrollWidth
|
|
||||||
|
|
||||||
def inline_size(self):
|
def inline_size(self):
|
||||||
if self.horizontal_writing_mode:
|
if self.horizontal_writing_mode:
|
||||||
@ -306,6 +307,11 @@ class IOSScrollViewport(ScrollViewport):
|
|||||||
def paged_window_scroll_pos(self):
|
def paged_window_scroll_pos(self):
|
||||||
return self.transform_val(), self.transform_val(True)
|
return self.transform_val(), self.transform_val(True)
|
||||||
|
|
||||||
|
def paged_content_size(self):
|
||||||
|
w = document.documentElement.scrollWidth
|
||||||
|
h = document.documentElement.scrollHeight
|
||||||
|
return w - self.transform_val(), h - self.transform_val(True)
|
||||||
|
|
||||||
def paged___reset_transforms(self):
|
def paged___reset_transforms(self):
|
||||||
s = document.documentElement.style
|
s = document.documentElement.style
|
||||||
if s.transform is not 'none':
|
if s.transform is not 'none':
|
||||||
|
Loading…
x
Reference in New Issue
Block a user