Mercurial > octave
diff m4/acinclude.m4 @ 31212:55415fa6a20f
svgconvert: Use Lossless encoding of images when available (bug #52193)
* acinclude.m4: Check that QPainter::LosslessImageRendering flag is available.
* octave-svgconvert.cc (draw): Use new flag if available.
* print.m (doc): Update word of caution about svgconvert and images.
author | Pantxo Diribarne <pantxo.diribarne@gmail.com> |
---|---|
date | Mon, 29 Aug 2022 16:36:34 +0200 |
parents | b8d37c022e40 |
children | 1c4e017664fd |
line wrap: on
line diff
--- a/m4/acinclude.m4 Mon Aug 29 13:58:00 2022 +0200 +++ b/m4/acinclude.m4 Mon Aug 29 16:36:34 2022 +0200 @@ -804,6 +804,35 @@ fi ]) dnl +dnl Check whether the Qt method QPainter::setRenderHint accepts the +dnl QPainter::LosslessImageRendering flag. This flag was introduced in Qt 5.13. +dnl +AC_DEFUN([OCTAVE_CHECK_FUNC_QPAINTER_SETRENDERHINT_LOSSLESS], [ + AC_CACHE_CHECK([for QPainter::LosslessImageRendering flag], + [octave_cv_func_qpainter_setrenderhint_lossless], + [AC_LANG_PUSH(C++) + ac_octave_save_CPPFLAGS="$CPPFLAGS" + ac_octave_save_CXXFLAGS="$CXXFLAGS" + CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS" + CXXFLAGS="$CXXPICFLAG $CXXFLAGS" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include <QPainter> + ]], [[ + QPainter painter; + painter.setRenderHint (QPainter::LosslessImageRendering); + ]])], + octave_cv_func_qpainter_setrenderhint_lossless=yes, + octave_cv_func_qpainter_setrenderhint_lossless=no) + CPPFLAGS="$ac_octave_save_CPPFLAGS" + CXXFLAGS="$ac_octave_save_CXXFLAGS" + AC_LANG_POP(C++) + ]) + if test $octave_cv_func_qpainter_setrenderhint_lossless = yes; then + AC_DEFINE(HAVE_QPAINTER_RENDERHINT_LOSSLESS, 1, + [Define to 1 if you have the `QPainter::LosslessImageRendering' flag.]) + fi +]) +dnl dnl Check whether HDF5 library has version 1.6 API functions. dnl AC_DEFUN([OCTAVE_CHECK_HDF5_HAS_VER_16_API], [ @@ -2279,6 +2308,7 @@ OCTAVE_CHECK_FUNC_QHELPENGINE_DOCUMENTSFORIDENTIFIER OCTAVE_CHECK_FUNC_QWHEELEVENT_ANGLEDELTA OCTAVE_CHECK_FUNC_QWHEELEVENT_POSITION + OCTAVE_CHECK_FUNC_QPAINTER_SETRENDERHINT_LOSSLESS OCTAVE_CHECK_QOVERLOAD_TEMPLATE OCTAVE_CHECK_QREGION_ITERATORS