diff --git a/openlp/core/lib/htmlbuilder.py b/openlp/core/lib/htmlbuilder.py
index a276ad162..0e3b2fb51 100644
--- a/openlp/core/lib/htmlbuilder.py
+++ b/openlp/core/lib/htmlbuilder.py
@@ -167,13 +167,11 @@ def build_lyrics(item, width, height):
def build_footer(item, width, height):
lyrics = """
- #footer {position: absolute; %s z-index:3; %s; %s; %s %s }
+ #footer {position: absolute; %s z-index:3; %s; %s }
"""
theme = item.themedata
lyrics_html = u''
position = u''
- shadow = u''
- outline = u''
font = u''
text = u''
if theme:
@@ -193,16 +191,7 @@ def build_footer(item, width, height):
else:
valign = u'vertical-align=bottom;'
text = u'color:%s; %s %s' % (theme.font_footer_color, align, valign)
- if theme.display_shadow:
- shadow = u'text-shadow: %spx %spx %spx %s' %\
- (theme.display_shadow_size, theme.display_shadow_size,
- theme.display_shadow_size, theme.display_shadow_color)
- if theme.display_outline:
- # 1px is the blur radius
- outline = u'text-outline: %spx 1px %s' %\
- (theme.display_outline_size, theme.display_outline_color)
- outline = u'text-shadow: -1px 0 white, 0 1px white, 1px 0 white, 0 -1px white'
- lyrics_html = lyrics % (position, shadow, outline, font, text)
+ lyrics_html = lyrics % (position, font, text)
print lyrics_html
return lyrics_html
diff --git a/openlp/core/lib/renderer.py b/openlp/core/lib/renderer.py
index e40f8d24f..74b092a47 100644
--- a/openlp/core/lib/renderer.py
+++ b/openlp/core/lib/renderer.py
@@ -131,8 +131,8 @@ class Renderer(object):
frame_height)
self.frame = QtGui.QImage(frame_width, frame_height,
QtGui.QImage.Format_ARGB32_Premultiplied)
- self.frame_opaque = QtGui.QImage(frame_width, frame_height,
- QtGui.QImage.Format_ARGB32_Premultiplied)
+# self.frame_opaque = QtGui.QImage(frame_width, frame_height,
+# QtGui.QImage.Format_ARGB32_Premultiplied)
if self._bg_image_filename and not self.bg_image:
self.bg_image = resize_image(self._bg_image_filename,
self.frame.width(), self.frame.height())
@@ -158,8 +158,6 @@ class Renderer(object):
lines = verse.split(u'\n')
for line in lines:
text.append(line)
- split_text = self.pre_render_text(text)
-
doc = QtGui.QTextDocument()
doc.setPageSize(QtCore.QSizeF(self._rect.width(), self._rect.height()))
df = doc.defaultFont()
@@ -188,109 +186,108 @@ class Renderer(object):
old_html_text = temp_text
formatted.append(shell % old_html_text)
log.debug(u'format_slide - End')
- #return split_text
return formatted
- def pre_render_text(self, text):
- metrics = QtGui.QFontMetrics(self.main_font)
- #work out line width
- line_width = self._rect.width()
- #number of lines on a page - adjust for rounding up.
- line_height = metrics.height()
- if self._theme.display_shadow:
- line_height += int(self._theme.display_shadow_size)
- if self._theme.display_outline:
- # pixels top/bottom
- line_height += 2 * int(self._theme.display_outline_size)
- page_length = int(self._rect.height() / line_height )
- #Average number of characters in line
- ave_line_width = line_width / metrics.averageCharWidth()
- #Maximum size of a character
- max_char_width = metrics.maxWidth()
- #Max characters pre line based on min size of a character
- char_per_line = line_width / metrics.width(u'i')
- log.debug(u'Page Length area height %s , metrics %s , lines %s' %
- (int(self._rect.height()), metrics.height(), page_length ))
- split_pages = []
- page = []
- split_lines = []
- count = 0
- for line in text:
- #Must be a blank line so keep it.
- if len(line) == 0:
- line = u' '
- while line:
- pos = char_per_line
- split_text = line[:pos]
- #line needs splitting
- if metrics.width(split_text, -1) > line_width:
- #We have no spaces
- if split_text.find(u' ') == -1:
- #Move back 1 char at a time till it fits
- while metrics.width(split_text, -1) > line_width:
- split_text = split_text[:-1]
- pos = len(split_text)
- else:
- #We have spaces so split at previous one
- while metrics.width(split_text, -1) > line_width:
- pos = split_text.rfind(u' ')
- #no more spaces and we are still too long
- if pos == -1:
- while \
- metrics.width(split_text, -1) > line_width:
- split_text = split_text[:-1]
- pos = len(split_text)
- else:
- split_text = line[:pos]
- split_lines.append(split_text)
- line = line[pos:].lstrip()
- #if we have more text add up to 10 spaces on the front.
- if line and self._theme.font_main_indentation > 0:
- line = u'%s%s' % \
- (u' '[:int(self._theme.font_main_indentation)],
- line)
- #Text fits in a line now
- for count, line in enumerate(split_lines):
- page.append(line)
- #last but one line and only 2 lines to go or end of page
- if (len(page) == page_length - 1 and
- len(split_lines) - 3 == count) or \
- len(page) == page_length:
- split_pages.append(page)
- page = []
- if page and page != u' ':
- split_pages.append(page)
- return split_pages
-
- def generate_frame_from_lines(self, lines, footer_lines=None):
- """
- Render a set of lines according to the theme, and return the block
- dimensions.
-
- ``lines``
- The lines to be rendered.
-
- ``footer_lines``
- Defaults to *None*. The footer to render.
- """
- log.debug(u'generate_frame_from_lines - Start')
- bbox = self._render_lines_unaligned(lines, False)
- if footer_lines:
- bbox1 = self._render_lines_unaligned(footer_lines, True)
- # reset the frame. first time do not worry about what you paint on.
- self.frame = QtGui.QImage(self.bg_frame)
- if self._theme.display_slideTransition:
- self.frame_opaque = QtGui.QImage(self.bg_frame)
- x, y = self._correct_alignment(self._rect, bbox)
- bbox = self._render_lines_unaligned(lines, False, (x, y), True)
- if footer_lines:
- bbox = self._render_lines_unaligned(footer_lines, True,
- (self._rect_footer.left(), self._rect_footer.top()), True)
- log.debug(u'generate_frame_from_lines - Finish')
- if self._theme.display_slideTransition:
- return {u'main':self.frame, u'trans':self.frame_opaque}
- else:
- return {u'main':self.frame, u'trans':None}
+# def pre_render_text(self, text):
+# metrics = QtGui.QFontMetrics(self.main_font)
+# #work out line width
+# line_width = self._rect.width()
+# #number of lines on a page - adjust for rounding up.
+# line_height = metrics.height()
+# if self._theme.display_shadow:
+# line_height += int(self._theme.display_shadow_size)
+# if self._theme.display_outline:
+# # pixels top/bottom
+# line_height += 2 * int(self._theme.display_outline_size)
+# page_length = int(self._rect.height() / line_height )
+# #Average number of characters in line
+# ave_line_width = line_width / metrics.averageCharWidth()
+# #Maximum size of a character
+# max_char_width = metrics.maxWidth()
+# #Max characters pre line based on min size of a character
+# char_per_line = line_width / metrics.width(u'i')
+# log.debug(u'Page Length area height %s , metrics %s , lines %s' %
+# (int(self._rect.height()), metrics.height(), page_length ))
+# split_pages = []
+# page = []
+# split_lines = []
+# count = 0
+# for line in text:
+# #Must be a blank line so keep it.
+# if len(line) == 0:
+# line = u' '
+# while line:
+# pos = char_per_line
+# split_text = line[:pos]
+# #line needs splitting
+# if metrics.width(split_text, -1) > line_width:
+# #We have no spaces
+# if split_text.find(u' ') == -1:
+# #Move back 1 char at a time till it fits
+# while metrics.width(split_text, -1) > line_width:
+# split_text = split_text[:-1]
+# pos = len(split_text)
+# else:
+# #We have spaces so split at previous one
+# while metrics.width(split_text, -1) > line_width:
+# pos = split_text.rfind(u' ')
+# #no more spaces and we are still too long
+# if pos == -1:
+# while \
+# metrics.width(split_text, -1) > line_width:
+# split_text = split_text[:-1]
+# pos = len(split_text)
+# else:
+# split_text = line[:pos]
+# split_lines.append(split_text)
+# line = line[pos:].lstrip()
+# #if we have more text add up to 10 spaces on the front.
+# if line and self._theme.font_main_indentation > 0:
+# line = u'%s%s' % \
+# (u' '[:int(self._theme.font_main_indentation)],
+# line)
+# #Text fits in a line now
+# for count, line in enumerate(split_lines):
+# page.append(line)
+# #last but one line and only 2 lines to go or end of page
+# if (len(page) == page_length - 1 and
+# len(split_lines) - 3 == count) or \
+# len(page) == page_length:
+# split_pages.append(page)
+# page = []
+# if page and page != u' ':
+# split_pages.append(page)
+# return split_pages
+#
+# def generate_frame_from_lines(self, lines, footer_lines=None):
+# """
+# Render a set of lines according to the theme, and return the block
+# dimensions.
+#
+# ``lines``
+# The lines to be rendered.
+#
+# ``footer_lines``
+# Defaults to *None*. The footer to render.
+# """
+# log.debug(u'generate_frame_from_lines - Start')
+# bbox = self._render_lines_unaligned(lines, False)
+# if footer_lines:
+# bbox1 = self._render_lines_unaligned(footer_lines, True)
+# # reset the frame. first time do not worry about what you paint on.
+# self.frame = QtGui.QImage(self.bg_frame)
+# if self._theme.display_slideTransition:
+# self.frame_opaque = QtGui.QImage(self.bg_frame)
+# x, y = self._correct_alignment(self._rect, bbox)
+# bbox = self._render_lines_unaligned(lines, False, (x, y), True)
+# if footer_lines:
+# bbox = self._render_lines_unaligned(footer_lines, True,
+# (self._rect_footer.left(), self._rect_footer.top()), True)
+# log.debug(u'generate_frame_from_lines - Finish')
+# if self._theme.display_slideTransition:
+# return {u'main':self.frame, u'trans':self.frame_opaque}
+# else:
+# return {u'main':self.frame, u'trans':None}
def _generate_background_frame(self):
"""