fixed fallback cover placing

This commit is contained in:
Martin Wagner
2022-05-14 15:22:19 +02:00
parent 2369aca946
commit 7f2cccdbab

View File

@@ -2900,16 +2900,13 @@ class MainCover(Gtk.DrawingArea):
size=min(self.get_allocated_height(), self.get_allocated_width()) size=min(self.get_allocated_height(), self.get_allocated_width())
self._pixbuf=GdkPixbuf.Pixbuf.new_from_file_at_size(FALLBACK_COVER, size, size) self._pixbuf=GdkPixbuf.Pixbuf.new_from_file_at_size(FALLBACK_COVER, size, size)
self._surface=Gdk.cairo_surface_create_from_pixbuf(self._pixbuf, 0, None) self._surface=Gdk.cairo_surface_create_from_pixbuf(self._pixbuf, 0, None)
height_factor,width_factor=(1,1) scale_factor=1
else: else:
height_factor=self.get_allocated_height()/self._pixbuf.get_height() scale_factor=min(self.get_allocated_width()/self._pixbuf.get_width(), self.get_allocated_height()/self._pixbuf.get_height())
width_factor=self.get_allocated_width()/self._pixbuf.get_width() context.scale(scale_factor, scale_factor)
if height_factor < width_factor: x=((self.get_allocated_width()/scale_factor)-self._pixbuf.get_width())/2
context.scale(height_factor, height_factor) y=((self.get_allocated_height()/scale_factor)-self._pixbuf.get_height())/2
context.set_source_surface(self._surface, ((self.get_allocated_width()/height_factor)-self._pixbuf.get_width())/2, 0) context.set_source_surface(self._surface, x, y)
else:
context.scale(width_factor, width_factor)
context.set_source_surface(self._surface, 0, ((self.get_allocated_height()/width_factor)-self._pixbuf.get_height())/2)
context.paint() context.paint()
class CoverLyricsWindow(Gtk.Overlay): class CoverLyricsWindow(Gtk.Overlay):