forked from openlp/openlp
Minor renderer changes
This commit is contained in:
parent
58fbbbd706
commit
b6593be27f
@ -147,7 +147,8 @@ class Renderer(object):
|
|||||||
# print words
|
# print words
|
||||||
verses = []
|
verses = []
|
||||||
words = words.replace(u'\r\n', u'\n')
|
words = words.replace(u'\r\n', u'\n')
|
||||||
verses_text = words.split(u'\n\n')
|
verses_text = words.split(u'\n')
|
||||||
|
#print verses_text
|
||||||
text = []
|
text = []
|
||||||
for verse in verses_text:
|
for verse in verses_text:
|
||||||
lines = verse.split(u'\n')
|
lines = verse.split(u'\n')
|
||||||
@ -174,6 +175,9 @@ class Renderer(object):
|
|||||||
count = 0
|
count = 0
|
||||||
for line in text:
|
for line in text:
|
||||||
#print "C", line , len(line)
|
#print "C", line , len(line)
|
||||||
|
#Must be a blank line so keep it.
|
||||||
|
if len(line) == 0:
|
||||||
|
line = u' '
|
||||||
while len(line) > 0:
|
while len(line) > 0:
|
||||||
# print "C1", line , len(line)
|
# print "C1", line , len(line)
|
||||||
if len(line) > ave_line_width:
|
if len(line) > ave_line_width:
|
||||||
@ -391,29 +395,8 @@ class Renderer(object):
|
|||||||
Defaults to *False*. Whether or not this is a live screen.
|
Defaults to *False*. Whether or not this is a live screen.
|
||||||
"""
|
"""
|
||||||
x, y = tlcorner
|
x, y = tlcorner
|
||||||
# We draw the text to see how big it is and then iterate to make it fit
|
|
||||||
# when we line wrap we do in in the "lyrics" style, so the second line is
|
|
||||||
# right aligned with a "hanging indent"
|
|
||||||
#print "----------------------------"
|
|
||||||
#print line
|
|
||||||
# words = line.split(u' ')
|
|
||||||
# thisline = u' '.join(words)
|
|
||||||
# lastword = len(words)
|
|
||||||
# lines = []
|
|
||||||
maxx = self._rect.width();
|
maxx = self._rect.width();
|
||||||
maxy = self._rect.height();
|
maxy = self._rect.height();
|
||||||
# while (len(words) > 0):
|
|
||||||
# w , h = self._get_extent_and_render(thisline, footer)
|
|
||||||
# print "m", w, h, x, maxx
|
|
||||||
# rhs = w + x
|
|
||||||
# if rhs < maxx - self._right_margin:
|
|
||||||
# lines.append(thisline)
|
|
||||||
# words = words[lastword:]
|
|
||||||
# thisline = ' '.join(words)
|
|
||||||
# lastword = len(words)
|
|
||||||
# else:
|
|
||||||
# lastword -= 1
|
|
||||||
# thisline = ' '.join(words[:lastword])
|
|
||||||
lines = []
|
lines = []
|
||||||
lines.append(line)
|
lines.append(line)
|
||||||
startx = x
|
startx = x
|
||||||
|
@ -58,7 +58,7 @@ class RenderManager(object):
|
|||||||
else:
|
else:
|
||||||
self.current_display = screen_number
|
self.current_display = screen_number
|
||||||
self.renderer = Renderer()
|
self.renderer = Renderer()
|
||||||
self.calculate_default(self.screen_list[self.current_display][u'size'])
|
#self.calculate_default(self.screen_list[self.current_display][u'size'])
|
||||||
self.theme = u''
|
self.theme = u''
|
||||||
self.service_theme = u''
|
self.service_theme = u''
|
||||||
self.global_style = u''
|
self.global_style = u''
|
||||||
@ -133,6 +133,7 @@ class RenderManager(object):
|
|||||||
def build_text_rectangle(self, theme):
|
def build_text_rectangle(self, theme):
|
||||||
"""
|
"""
|
||||||
Builds a text block using the settings in ``theme``.
|
Builds a text block using the settings in ``theme``.
|
||||||
|
One is needed per slide
|
||||||
|
|
||||||
``theme``
|
``theme``
|
||||||
The theme to build a text block for.
|
The theme to build a text block for.
|
||||||
@ -178,15 +179,15 @@ class RenderManager(object):
|
|||||||
|
|
||||||
def format_slide(self, words):
|
def format_slide(self, words):
|
||||||
"""
|
"""
|
||||||
Calculate how much text can fid on a slide.
|
Calculate how much text can fit on a slide.
|
||||||
|
|
||||||
``words``
|
``words``
|
||||||
The words to go on the slides.
|
The words to go on the slides.
|
||||||
"""
|
"""
|
||||||
log.debug(u'format slide')
|
log.debug(u'format slide')
|
||||||
self.calculate_default(self.screen_list[self.current_display][u'size'])
|
#self.calculate_default(self.screen_list[self.current_display][u'size'])
|
||||||
self.build_text_rectangle(self.themedata)
|
self.build_text_rectangle(self.themedata)
|
||||||
self.renderer.set_frame_dest(self.width, self.height)
|
#self.renderer.set_frame_dest(self.width, self.height)
|
||||||
return self.renderer.format_slide(words, False)
|
return self.renderer.format_slide(words, False)
|
||||||
|
|
||||||
def generate_slide(self, main_text, footer_text):
|
def generate_slide(self, main_text, footer_text):
|
||||||
@ -200,7 +201,6 @@ class RenderManager(object):
|
|||||||
The text for the slide footer.
|
The text for the slide footer.
|
||||||
"""
|
"""
|
||||||
log.debug(u'generate slide')
|
log.debug(u'generate slide')
|
||||||
self.calculate_default(self.screen_list[self.current_display][u'size'])
|
|
||||||
self.build_text_rectangle(self.themedata)
|
self.build_text_rectangle(self.themedata)
|
||||||
self.renderer.set_frame_dest(self.width, self.height)
|
self.renderer.set_frame_dest(self.width, self.height)
|
||||||
return self.renderer.generate_frame_from_lines(main_text, footer_text)
|
return self.renderer.generate_frame_from_lines(main_text, footer_text)
|
||||||
@ -233,6 +233,7 @@ class RenderManager(object):
|
|||||||
The QWidget instance of the screen.
|
The QWidget instance of the screen.
|
||||||
"""
|
"""
|
||||||
log.debug(u'calculate default %s', screen)
|
log.debug(u'calculate default %s', screen)
|
||||||
|
#size fixed so reflects the preview size.
|
||||||
if self.current_display == 0:
|
if self.current_display == 0:
|
||||||
self.width = 1024
|
self.width = 1024
|
||||||
self.height = 768
|
self.height = 768
|
||||||
|
Loading…
Reference in New Issue
Block a user