Skip to content

Conversation

@kleisauke
Copy link
Member

As the gdk-pixbuf dependency is expected to be dropped in GTK5, see:
https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/8061

As the gdk-pixbuf dependency is expected to be dropped in GTK5.
@jcupitt
Copy link
Member

jcupitt commented Jun 21, 2025

Ah, nice! I'll copy this over to nip4 as well.

@jcupitt jcupitt merged commit 13560a8 into libvips:master Jun 21, 2025
1 check failed
@kleisauke kleisauke deleted the migrate-away-from-pixbuf branch June 21, 2025 12:13
@jcupitt
Copy link
Member

jcupitt commented Jun 21, 2025

libvips/nip4@d2c967a

@kleisauke
Copy link
Member Author

kleisauke commented Jun 21, 2025

Great!

BTW, I just came across this GTK merge request: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/8327. The issues mentioned there are very similar to the ones we've encountered with visible tile boundaries (e.g. when opening this zone plate image).

@kleisauke
Copy link
Member Author

... i.e. we could probably remove the +1 here:
https://github.com/jcupitt/vipsdisp/blob/13560a8f2fe0020b64e7ef2faa08e9c355ada466/src/tilecache.c#L1026-L1030

with that merge request (untested).

@jcupitt
Copy link
Member

jcupitt commented Jun 21, 2025

Oh, interesting!

vipsdisp has much better seam hiding now, but you can still see them under some circumstances.

It was going to int for the tile position at various points, but now it's now double all the way through, plus a 1 pixel tile stretch during final render. The one pixel stretch hides the joins, but obviously can make a visible step with some images. A 0.5 pixel stretch almost works, but not quite.

It's these lines, if you're curious:

https://github.com/jcupitt/vipsdisp/blob/master/src/tilecache.c#L1026-L1030

@kleisauke
Copy link
Member Author

It seems to work! Using commit kleisauke@9ecdc97 and merge request https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/8494 (with commit https://gitlab.gnome.org/GNOME/gtk/-/commit/97af44e6704a6c22593851efb761e92e392b9c39 cherry-picked to avoid assertion failures), I see:

Old New
Screenshot From 2025-06-22 11-04-53 Screenshot From 2025-06-22 11-03-52
(click to enlarge) (click to enlarge)

@jcupitt
Copy link
Member

jcupitt commented Jun 22, 2025

That's great! Looks like they are hoping to land that change for gtk 4.20, so fingers crossed!

I guess we could post a +1 on that draft, but it sounds like they are doing it anyway.

@kleisauke
Copy link
Member Author

Indeed, hopefully that will land in GTK 4.20. I just opened draft PR #47 to track this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants