blob: a603c34159d774a4b8c774896e6366eb1ed0d27b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
import webkit
import gtk
class _WebView(webkit.WebView):
def __init__(self):
webkit.WebView.__init__(self)
def get_page_height(self):
'''
Gets height (in pixels) of loaded (X)HTML page.
This is done via javascript at the moment
'''
js = 'oldtitle=document.title;' + \
'if (document.body == null) {' + \
'document.title = 0} else {' + \
'document.title=Math.max(document.body.scrollHeight, ' + \
'document.body.offsetHeight,document.documentElement.clientHeight,' + \
'document.documentElement.scrollHeight, ' + \
'document.documentElement.offsetHeight)};'
self.execute_script(js)
ret = self.get_main_frame().get_title()
js = 'document.title=oldtitle;'
self.execute_script(js)
try:
return int(ret)
except ValueError:
return 0
def add_bottom_padding(self, incr):
'''
Adds incr pixels of padding to the end of the loaded (X)HTML page.
This is done via javascript at the moment
'''
js = ('var newdiv = document.createElement("div");' + \
'newdiv.style.height = "%dpx";document.body.appendChild(newdiv);' \
% incr)
self.execute_script(js)
def highlight_next_word(self):
'''
Highlight next word (for text to speech)
'''
self.execute_script('highLightNextWord();')
|