summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2018-05-30 09:18:16 +0100
committerEmmanuele Bassi <ebassi@gnome.org>2018-05-30 09:18:16 +0100
commit78fcdfc82ddf7a512ebc4c7dd489f9c8066a6679 (patch)
tree0845b4829c583e23174cc409beca655711c8c0fc
parent755d620392769fae6b32c9b2fcf3d0b8b7146dec (diff)
downloadgdk-pixbuf-issue-3.tar.gz
Deprecate GDK_INTERP_HYPERissue-3
The hyperbolic filter has been broken for the past 12 years, and nobody is going to fix it, now, as pixel operations in GdkPixbuf have been thoroughly superseded by Cairo. The only user of GDK_INTER_HYPER in tree is the thumbnailer code, which cannot use Cairo for dependency reasons. Closes: #3
-rw-r--r--gdk-pixbuf/gdk-pixbuf-transform.h19
-rw-r--r--thumbnailer/gnome-thumbnailer-skeleton.c2
2 files changed, 11 insertions, 10 deletions
diff --git a/gdk-pixbuf/gdk-pixbuf-transform.h b/gdk-pixbuf/gdk-pixbuf-transform.h
index 875628c7f..24e5ad5ae 100644
--- a/gdk-pixbuf/gdk-pixbuf-transform.h
+++ b/gdk-pixbuf/gdk-pixbuf-transform.h
@@ -56,17 +56,18 @@ G_BEGIN_DECLS
* Wolberg's "Digital Image Warping", and is formally defined as the
* hyperbolic-filter sampling the ideal hyperbolic-filter interpolated
* image (the filter is designed to be idempotent for 1:1 pixel mapping).
+ * **Deprecated**: this interpolation filter is deprecated, as in reality
+ * it has a lower quality than the @GDK_INTERP_BILINEAR filter
+ * (Since: 2.38)
*
- * This enumeration describes the different interpolation modes that
- * can be used with the scaling functions. @GDK_INTERP_NEAREST is
- * the fastest scaling method, but has horrible quality when
- * scaling down. @GDK_INTERP_BILINEAR is the best choice if you
- * aren't sure what to choose, it has a good speed/quality balance.
+ * This enumeration describes the different interpolation modes that
+ * can be used with the scaling functions. @GDK_INTERP_NEAREST is
+ * the fastest scaling method, but has horrible quality when
+ * scaling down. @GDK_INTERP_BILINEAR is the best choice if you
+ * aren't sure what to choose, it has a good speed/quality balance.
*
- * <note>
- * Cubic filtering is missing from the list; hyperbolic
- * interpolation is just as fast and results in higher quality.
- * </note>
+ * **Note**: Cubic filtering is missing from the list; hyperbolic
+ * interpolation is just as fast and results in higher quality.
*/
typedef enum {
GDK_INTERP_NEAREST,
diff --git a/thumbnailer/gnome-thumbnailer-skeleton.c b/thumbnailer/gnome-thumbnailer-skeleton.c
index 73da53e07..75c0f9c10 100644
--- a/thumbnailer/gnome-thumbnailer-skeleton.c
+++ b/thumbnailer/gnome-thumbnailer-skeleton.c
@@ -301,7 +301,7 @@ int main (int argc, char **argv)
scaled = gdk_pixbuf_scale_simple (pixbuf,
floor (width * scale + 0.5),
floor (height * scale + 0.5),
- GDK_INTERP_HYPER);
+ GDK_INTERP_BILINEAR);
#endif
gdk_pixbuf_copy_options (pixbuf, scaled);
g_object_unref (pixbuf);