forked from openlp/openlp
Output now on main screen
This commit is contained in:
parent
4d69120225
commit
166fabbd5f
@ -86,6 +86,7 @@ def build_html(theme, screen, alert, image):
|
||||
build_alert(theme, width, height, alert),
|
||||
build_image(theme, width, height, alert),
|
||||
build_image_src(theme, width, height, alert, image))
|
||||
print html
|
||||
return html
|
||||
|
||||
def build_video(theme, width, height, alert):
|
||||
@ -119,7 +120,7 @@ def build_image_src(theme, width, height, alert, image):
|
||||
image_src = """
|
||||
<img src="data:image/png;base64,%s">";
|
||||
"""
|
||||
return str(image_src % image_to_byte(image))
|
||||
return image_src % image_to_byte(image)
|
||||
|
||||
def build_lyrics(theme, width, height, alert):
|
||||
lyrics = """
|
||||
@ -130,13 +131,18 @@ def build_lyrics(theme, width, height, alert):
|
||||
width: 640px;
|
||||
height: 480px;
|
||||
z-index:3;
|
||||
text-shadow: 2px 2px 2px green;
|
||||
%s;
|
||||
font-family %s;
|
||||
font-size: %spx;
|
||||
}
|
||||
"""
|
||||
lyrics_html = u''
|
||||
shadow = u''
|
||||
outline = u''
|
||||
if theme:
|
||||
lyrics_html = lyrics % theme.font_main_proportion
|
||||
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)
|
||||
lyrics_html = lyrics % (shadow,theme. font_main_name, theme.font_main_proportion)
|
||||
print lyrics_html
|
||||
return lyrics_html
|
||||
|
||||
|
@ -181,8 +181,7 @@ class Renderer(object):
|
||||
old_html_text = temp_text
|
||||
page.append(shell % old_html_text)
|
||||
formatted.append(page)
|
||||
print "ft", formatted
|
||||
print "st", split_text
|
||||
|
||||
log.debug(u'format_slide - End')
|
||||
#return split_text
|
||||
return formatted
|
||||
|
@ -129,6 +129,7 @@ class RenderManager(object):
|
||||
self.calculate_default(self.screens.current[u'size'])
|
||||
self.renderer.set_theme(self.themedata)
|
||||
self.build_text_rectangle(self.themedata)
|
||||
return self.renderer.bg_frame
|
||||
|
||||
def build_text_rectangle(self, theme):
|
||||
"""
|
||||
@ -212,7 +213,7 @@ class RenderManager(object):
|
||||
self.renderer.set_frame_dest(self.width, self.height)
|
||||
image = self.previewDisplay.preview(self.renderer.bg_frame,
|
||||
main_text[0], self.themedata)
|
||||
return image #self.renderer.generate_frame_from_lines(main_text, footer_text)
|
||||
return image
|
||||
|
||||
def calculate_default(self, screen):
|
||||
"""
|
||||
|
@ -167,10 +167,11 @@ class ServiceItem(object):
|
||||
has generated by the render method above.
|
||||
"""
|
||||
log.debug(u'render individual')
|
||||
changed = False
|
||||
if self.theme is None:
|
||||
self.render_manager.set_override_theme(None)
|
||||
bg_image = self.render_manager.set_override_theme(None)
|
||||
else:
|
||||
self.render_manager.set_override_theme(self.theme)
|
||||
bg_image = self.render_manager.set_override_theme(self.theme)
|
||||
raw_html = self._display_frames[row][u'text'].split(u'\n')
|
||||
if self.cache.get(row):
|
||||
frame = self.cache[row]
|
||||
@ -181,7 +182,7 @@ class ServiceItem(object):
|
||||
else:
|
||||
frame = self.render_manager.generate_slide(raw_html, u'')
|
||||
self.cache[row] = frame
|
||||
return frame, raw_html[0]
|
||||
return bg_image, frame, raw_html[0]
|
||||
|
||||
def add_from_image(self, path, title, image):
|
||||
"""
|
||||
|
@ -104,7 +104,7 @@ class DisplayManager(QtGui.QWidget):
|
||||
splash_image)
|
||||
self.mainDisplay.setup()
|
||||
self.previewDisplay.setup()
|
||||
self.mainDisplay.newDisplay(self.initialFrame, None, None)
|
||||
self.mainDisplay.buildHtml(self.initialFrame)
|
||||
self.mainDisplay.show()
|
||||
|
||||
def hideDisplay(self, message):
|
||||
@ -131,6 +131,18 @@ class DisplayManager(QtGui.QWidget):
|
||||
"""
|
||||
self.mainDisplay.addImageWithText(frame)
|
||||
|
||||
def buildHtml(self, image=None):
|
||||
"""
|
||||
Handles the addition of a background Image to the displays
|
||||
"""
|
||||
self.mainDisplay.buildHtml(image)
|
||||
|
||||
def text(self, text):
|
||||
"""
|
||||
Handles the addition of a background Image to the displays
|
||||
"""
|
||||
self.mainDisplay.text(text)
|
||||
|
||||
def displayImage(self, frame):
|
||||
"""
|
||||
Handles the addition of a background Image to the displays
|
||||
@ -312,11 +324,18 @@ class WebViewer(DisplayWidget):
|
||||
preview.save("temp.png", "png")
|
||||
return preview
|
||||
|
||||
def newDisplay(self, image, text, video=None):
|
||||
def initialDisplay(self, image, video=False):
|
||||
if not video:
|
||||
html = build_html(self.parent.renderManager.themedata, self.screen, None, image)
|
||||
self.webView.setHtml(html)
|
||||
|
||||
def buildHtml(self, image=None):
|
||||
if not image:
|
||||
html = build_html(self.parent.renderManager.themedata, self.screen, None, self.parent.renderManager.renderer.bg_frame)
|
||||
else:
|
||||
html = build_html(self.parent.renderManager.themedata, self.screen, None, image)
|
||||
self.webView.setHtml(html)
|
||||
|
||||
#class DisplayWidget(QtGui.QGraphicsView):
|
||||
# """
|
||||
# Customised version of QTableWidget which can respond to keyboard
|
||||
|
@ -590,6 +590,7 @@ class SlideController(QtGui.QWidget):
|
||||
else:
|
||||
self.PreviewListWidget.selectRow(slideno)
|
||||
self.enableToolBar(serviceItem)
|
||||
#Reset the display html
|
||||
self.onSlideSelected()
|
||||
self.PreviewListWidget.setFocus()
|
||||
Receiver.send_message(u'slidecontroller_%s_started' % self.typePrefix,
|
||||
@ -769,7 +770,7 @@ class SlideController(QtGui.QWidget):
|
||||
self.updatePreview()
|
||||
else:
|
||||
before = time.time()
|
||||
frame, raw_html = self.serviceItem.get_rendered_frame(row)
|
||||
changed, frame, raw_html = self.serviceItem.get_rendered_frame(row)
|
||||
if isinstance(frame, QtGui.QImage):
|
||||
self.SlidePreview.setPixmap(QtGui.QPixmap.fromImage(frame))
|
||||
else:
|
||||
@ -778,7 +779,8 @@ class SlideController(QtGui.QWidget):
|
||||
15, u'Slide Rendering took %4s' % (time.time() - before))
|
||||
if self.isLive:
|
||||
if self.serviceItem.is_text():
|
||||
self.mainDisplay.text(raw_html)
|
||||
self.displayManager.buildHtml(changed)
|
||||
self.displayManager.text(raw_html)
|
||||
else:
|
||||
self.displayManager.displayImage(frame)
|
||||
self.selectedRow = row
|
||||
|
Loading…
Reference in New Issue
Block a user