After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 761559 - Replace gegl-gtk with a simpler and streamlined widget
Replace gegl-gtk with a simpler and streamlined widget
Status: RESOLVED FIXED
Product: gnome-photos
Classification: Applications
Component: general
3.19.x
Other All
: Normal normal
: ---
Assigned To: GNOME photos maintainer(s)
GNOME photos maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2016-02-04 15:37 UTC by Debarshi Ray
Modified: 2016-02-12 22:35 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Rewrite gegl-gtk as PhotosImageView (66.71 KB, patch)
2016-02-04 15:39 UTC, Debarshi Ray
committed Details | Review
Rewrite gegl-gtk as PhotosImageView (65.58 KB, patch)
2016-02-12 22:24 UTC, Debarshi Ray
committed Details | Review

Description Debarshi Ray 2016-02-04 15:37:52 UTC
gegl-gtk is not an actively maintained or widely distributed library, but it did give us a head start with rendering a GeglNode inside a GtkWidget. This is why we carry our own copy of the code.

Over the years, our copy of gegl-gtk had diverged quite a bit:
 - We don't use a processor inside the widget.
 - Our AUTOSCALE_CONTENT logic always centres the image.
 - Sharper renders on HiDpi displays.
 - We don't care about GTK+ 2.x or the absence of Cairo.
    
The widget / helper split is also largely useless for us. While it will be good to have tests for the automatic centring and scaling code, we don't need a separate helper class for it.
    
While some of our changes can be upstreamed, we are ultimately going to use the new image viewer widget in GTK+. We are also thinking of using transitions when the output of the GeglNode changes. Having only the bits that we need in a single class, and getting rid of the extra fluff will help us evolve this code in future.

Otherwise we are stuck with a class that is, in theory, meant to be used by multiple different applications and hence should have a nice API, while in reality we are the only users and there is barely any "upstream" maintenance.

Since PhotosImageView largely constitutes code written by me, we can license it as GPLv2+, unlike gegl-gtk, which was LGPLv3+.
Comment 1 Debarshi Ray 2016-02-04 15:39:04 UTC
Created attachment 320444 [details] [review]
Rewrite gegl-gtk as PhotosImageView
Comment 2 Debarshi Ray 2016-02-12 22:24:41 UTC
Created attachment 321046 [details] [review]
Rewrite gegl-gtk as PhotosImageView

Rebased on top of master and pushed.