From 152f748dde6a545dfcab6b5a074b20b93dc7315c Mon Sep 17 00:00:00 2001
From: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
Date: Thu, 5 Oct 2023 18:00:21 +0200
Subject: [PATCH] src/background.vala: Better positioning of logo, make the
 positioning independent of logo height (i.e. adjust the position to the logo
 height).

 This introduces BackgroundLoader.logo_width and .logo_height. We
 currently only use .logo_height for now. But having both geoemtry values
 available might be helpful at a later time. And it feels incomplete to
 only pass-through the height.
---
 src/background.vala | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

--- a/src/background.vala
+++ b/src/background.vala
@@ -24,6 +24,8 @@
 {
     public string filename { get; private set; }
     public Cairo.Surface logo { get; set; }
+    public int logo_width;
+    public int logo_height;
 
     public int[] widths;
     public int[] heights;
@@ -206,8 +208,9 @@
         if (logo != null)
         {
             bc.save ();
-            var y = (int) (image.height / grid_size - 2) * grid_size + grid_y_offset;
-            bc.translate (grid_x_offset, y);
+            var x = (int) (grid_x_offset + 1.1 * grid_size);
+            var y = (int) (image.height - 1.1 * grid_size - logo_height + grid_y_offset);
+            bc.translate (x, y);
             bc.set_source_surface (logo, 0, 0);
             bc.paint_with_alpha (1);
             bc.restore ();
@@ -722,6 +725,8 @@
 
             b = new BackgroundLoader (target_surface, filename, widths, heights, draw_grid);
             b.logo = version_logo_surface;
+            b.logo_width = version_logo_width;
+            b.logo_height = version_logo_height;
             b.loaded.connect (() => { reload (); });
             b.load ();
             loaders.insert (filename, b);
