make the KAT image format non-optional

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2024-06-03 21:38:28 +03:00
parent 26bb23543a
commit bffd6e4405
12 changed files with 17 additions and 62 deletions

View file

@ -401,7 +401,7 @@ if(NOT HAVE_pic)
endif()
# keep in sync with the GUI component CMake file, only definitions setup is needed here
foreach(x11ext Xshape Xinerama Xrandr Xrender Xfixes Xcursor)
foreach(x11ext Xshape Xinerama Xrandr Xrender Xfixes Xcursor Xpm)
if(NOT X11_${x11ext}_FOUND)
message(WARNING "The X11 ${x11ext} extension was not found")
string(TOUPPER "${x11ext}" upperext)
@ -413,10 +413,6 @@ if(NOT X11_Xext_FOUND)
katie_config(QT_NO_XSYNC)
katie_config(QT_NO_XSHAPE)
endif()
if(NOT X11_Xpm_FOUND)
message(WARNING "The X11 Xpm extension was not found")
katie_config(QT_NO_IMAGEFORMAT_XPM)
endif()
configure_file(
${CMAKE_SOURCE_DIR}/src/core/global/qconfig.h.cmake

View file

@ -80,6 +80,7 @@
#cmakedefine QT_NO_XRENDER
#cmakedefine QT_NO_XSHAPE
#cmakedefine QT_NO_XSYNC
#cmakedefine QT_NO_XPM
// Broken, do not set until further notice
// #cmakedefine QT_NO_ACTION
@ -171,8 +172,6 @@
#cmakedefine QT_NO_FRAME
#cmakedefine QT_NO_FSCOMPLETER
#cmakedefine QT_NO_IDENTITYPROXYMODEL
#cmakedefine QT_NO_IMAGEFORMAT_KAT
#cmakedefine QT_NO_IMAGEFORMAT_XPM
#cmakedefine QT_NO_IMAGE_HEURISTIC_MASK
#cmakedefine QT_NO_IPV6
#cmakedefine QT_NO_LCDNUMBER

View file

@ -132,11 +132,9 @@ static QImageIOHandler *createReadHandlerHelper(QIODevice *device,
// check if we have built-in support for the format first
if (form == "png") {
handler = new QPngHandler();
#ifndef QT_NO_IMAGEFORMAT_KAT
} else if (form == "kat") {
handler = new QKatHandler();
#endif
#ifndef QT_NO_IMAGEFORMAT_XPM
#ifndef QT_NO_XPM
} else if (form == "xpm") {
handler = new QXpmHandler();
#endif
@ -159,12 +157,10 @@ static QImageIOHandler *createReadHandlerHelper(QIODevice *device,
if (QPngHandler::canRead(device)) {
handler = new QPngHandler();
}
#ifndef QT_NO_IMAGEFORMAT_KAT
if (!handler && QKatHandler::canRead(device)) {
handler = new QKatHandler();
}
#endif
#ifndef QT_NO_IMAGEFORMAT_XPM
#ifndef QT_NO_XPM
if (!handler && QXpmHandler::canRead(device)) {
handler = new QXpmHandler();
}
@ -849,19 +845,14 @@ QByteArray QImageReader::imageFormat(QIODevice *device)
Reading and writing SVG files is supported through Qt's
\l{QtSvg Module}{SVG Module}.
Note that the QApplication instance must be created before this function is
called.
\sa setFormat(), QImageWriter::supportedImageFormats(), QImageIOPlugin
*/
QList<QByteArray> QImageReader::supportedImageFormats()
{
QList<QByteArray> formats = QList<QByteArray>()
<< "png"
#ifndef QT_NO_IMAGEFORMAT_KAT
<< "kat"
#endif
#ifndef QT_NO_IMAGEFORMAT_XPM
#ifndef QT_NO_XPM
<< "xpm"
#endif
;
@ -891,12 +882,10 @@ QByteArray QImageReader::formatForMimeType(const QByteArray &mime)
if (mime == "image/png") {
return QByteArray("png");
}
#ifndef QT_NO_IMAGEFORMAT_KAT
if (mime == "image/katie") {
return QByteArray("kat");
}
#endif
#ifndef QT_NO_IMAGEFORMAT_XPM
#ifndef QT_NO_XPM
if (mime == "image/x-xpixmap") {
return QByteArray("xpm");
}
@ -928,10 +917,8 @@ QList<QByteArray> QImageReader::supportedMimeTypes()
{
QList<QByteArray> mimes = QList<QByteArray>()
<< "image/png"
#ifndef QT_NO_IMAGEFORMAT_KAT
<< "image/katie"
#endif
#ifndef QT_NO_IMAGEFORMAT_XPM
#ifndef QT_NO_XPM
<< "image/x-xpixmap"
#endif
;

View file

@ -97,10 +97,8 @@ static QImageIOHandler *createWriteHandlerHelper(QIODevice *device, const QByteA
// check if any built-in handlers can write the image
if (form == "png") {
handler = new QPngHandler();
#ifndef QT_NO_IMAGEFORMAT_KAT
} else if (form == "kat") {
handler = new QKatHandler();
#endif
}
#ifndef QT_NO_LIBRARY
@ -486,9 +484,6 @@ QByteArray QImageWriter::defaultImageFormat()
Reading and writing SVG files is supported through Katie's
\l{QtSvg Module}{SVG Module}.
Note that the QApplication instance must be created before this function is
called.
\sa setFormat(), QImageReader::supportedImageFormats(), QImageIOPlugin,
defaultImageFormat()
*/
@ -496,9 +491,7 @@ QList<QByteArray> QImageWriter::supportedImageFormats()
{
QList<QByteArray> formats;
formats << "png";
#ifndef QT_NO_IMAGEFORMAT_KAT
formats << "kat";
#endif
#ifndef QT_NO_LIBRARY
QFactoryLoader *l = imageloader();
@ -525,11 +518,9 @@ QByteArray QImageWriter::formatForMimeType(const QByteArray &mime)
if (mime == "image/png") {
return QByteArray("png");
}
#ifndef QT_NO_IMAGEFORMAT_KAT
if (mime == "image/katie") {
return QByteArray("kat");
}
#endif
#ifndef QT_NO_LIBRARY
QFactoryLoader *l = imageloader();
@ -557,10 +548,7 @@ QList<QByteArray> QImageWriter::supportedMimeTypes()
{
QList<QByteArray> mimes = QList<QByteArray>()
<< "image/png"
#ifndef QT_NO_IMAGEFORMAT_KAT
<< "image/katie"
#endif
;
<< "image/katie";
#ifndef QT_NO_LIBRARY
QFactoryLoader *l = imageloader();

View file

@ -20,8 +20,6 @@
#include "qkathandler_p.h"
#ifndef QT_NO_IMAGEFORMAT_KAT
#include "qimage.h"
#include "qimage_p.h"
#include "qvariant.h"
@ -246,5 +244,3 @@ QByteArray QKatHandler::name() const
}
QT_END_NAMESPACE
#endif // QT_NO_IMAGEFORMAT_KAT

View file

@ -34,8 +34,6 @@
#include "QtGui/qimageiohandler.h"
#ifndef QT_NO_IMAGEFORMAT_KAT
QT_BEGIN_NAMESPACE
class QKatHandler : public QImageIOHandler
@ -61,6 +59,4 @@ private:
QT_END_NAMESPACE
#endif // QT_NO_IMAGEFORMAT_KAT
#endif // QKATHANDLER_P_H

View file

@ -20,14 +20,12 @@
#include "qxpmhandler_p.h"
#ifndef QT_NO_IMAGEFORMAT_XPM
#ifndef QT_NO_XPM
#include "qimage.h"
#include "qt_x11_p.h"
#include "qcorecommon_p.h"
#include <X11/xpm.h>
QT_BEGIN_NAMESPACE
static inline void qt_ximage_to_qimage(XImage *ximage, QImage &image)
@ -123,4 +121,4 @@ bool QXpmHandler::canRead(QIODevice *device)
QT_END_NAMESPACE
#endif // QT_NO_IMAGEFORMAT_XPM
#endif // QT_NO_XPM

View file

@ -34,7 +34,7 @@
#include "QtGui/qimageiohandler.h"
#ifndef QT_NO_IMAGEFORMAT_XPM
#ifndef QT_NO_XPM
QT_BEGIN_NAMESPACE
@ -53,6 +53,6 @@ public:
QT_END_NAMESPACE
#endif // QT_NO_IMAGEFORMAT_XPM
#endif // QT_NO_XPM
#endif // QXPMHANDLER_P_H

View file

@ -21,7 +21,6 @@
#include "qkeysequence.h"
#include "qkeysequence_p.h"
#include "qapplication_p.h"
#ifndef QT_NO_SHORTCUT
@ -156,9 +155,6 @@ QT_BEGIN_NAMESPACE
\snippet doc/src/snippets/code/src_gui_kernel_qkeysequence.cpp 1
\warning A QApplication instance must have been constructed before a
QKeySequence is created; otherwise, your application may crash.
\sa QShortcut
*/

View file

@ -134,7 +134,7 @@ void QX11Data::copyXImageToQImage(XImage *ximage, QImage &image, bool *freedata)
uchar* imageline = QFAST_SCAN_LINE(imagedata, imagebpl, h);
for (int w = 0; w < ximage->width; w++) {
const uint xpixel = XGetPixel(ximage, w, h);
//make sure alpha is 255, we depend on it in qdrawhelper for cases
// make sure alpha is 255, we depend on it in qdrawhelper for cases
// when image is set as a texture pattern on a qbrush
((uint *)imageline)[w] = (xpixel | 0xff000000);
}

View file

@ -92,6 +92,10 @@
# include <X11/extensions/Xfixes.h>
#endif // QT_NO_XFIXES
#ifndef QT_NO_XPM
# include <X11/xpm.h>
#endif // QT_NO_XPM
QT_BEGIN_NAMESPACE
class QWidget;

View file

@ -19,13 +19,8 @@ struct QRealRect {
qreal x1, y1, x2, y2;
};
#ifndef QT_NO_IMAGEFORMAT_KAT
static const char* const qt_imageformat = "kat";
static const char* const qt_imagemime = "image/katie";
#else
static const char* const qt_imageformat = "png";
static const char* const qt_imagemime = "image/png";
#endif
#ifdef QT_NO_FPU
static const qreal qt_epsilon = qreal(1e-12);