X-Git-Url: http://git.scottworley.com/paperdoorknob/blobdiff_plain/7198d9ebe20982cb33f3c5acd3850f66cf8e6257..f75c16294c01dc2bdbe867e4477c2073c10680a8:/glowfic.py diff --git a/glowfic.py b/glowfic.py index eadc40a..d1966ca 100644 --- a/glowfic.py +++ b/glowfic.py @@ -140,3 +140,38 @@ class BelowIconLayout(Layout): ''' % ( b'\\\\*'.join(x.encode('UTF-8') for x in meta if x is not None), self._texifier.texify(chunk.content)) + + +class BesideIconLayout(Layout): + + def __init__(self, texifier: Texifier, image_size: float) -> None: + self._texifier = texifier + self._image_size = image_size + + def renderChunk(self, chunk: Chunk) -> bytes: + icon = renderIcon(chunk.icon, self._image_size) + meta = [ + chunk.character, + chunk.screen_name, + chunk.author, + ] + + # Why is \textwidth not the width of the text? + # Why is the width of the text .765\textwidth? + return b'''\\noindent\\fbox{ +%s +\\parbox[b]{.765\\textwidth}{ +\\begin{center} +%s +\\end{center} +} +}\\\\* +\\vspace{-0.75em}\\\\* +\\noindent %s + +\\strut + +''' % ( + icon.encode('UTF-8') if icon else b'', + b'\\\\*'.join(x.encode('UTF-8') for x in meta if x is not None), + self._texifier.texify(chunk.content))