From 0c25cb5b8c781b9516e6581022ff6d3977a218f1 Mon Sep 17 00:00:00 2001 From: Kai Uwe Broulik Date: Fri, 30 Jan 2026 19:22:12 +0100 Subject: [PATCH] Add XCursor image format plug-in Allows to read XCursor files, including ones with animation. The cursor hotspot is set in QImage textKeys as "HotspotX" and "HotspotY". The "Sizes" textKey contains a list of available sizes in this file. --- autotests/CMakeLists.txt | 5 + autotests/xcursor/wait | Bin 0 -> 1034800 bytes autotests/xcursor/wait_24_1.png | Bin 0 -> 533 bytes autotests/xcursor/wait_24_2.png | Bin 0 -> 906 bytes autotests/xcursor/wait_24_3.png | Bin 0 -> 943 bytes autotests/xcursor/wait_48_1.png | Bin 0 -> 1198 bytes autotests/xcursor/wait_48_2.png | Bin 0 -> 2167 bytes autotests/xcursor/wait_48_3.png | Bin 0 -> 2205 bytes autotests/xcursor/wait_72_1.png | Bin 0 -> 2143 bytes autotests/xcursor/wait_72_2.png | Bin 0 -> 3844 bytes autotests/xcursor/wait_72_3.png | Bin 0 -> 3814 bytes autotests/xcursortest.cpp | 129 ++++++++++++ src/imageformats/CMakeLists.txt | 4 + src/imageformats/xcursor.cpp | 349 ++++++++++++++++++++++++++++++++ src/imageformats/xcursor.json | 8 + src/imageformats/xcursor_p.h | 69 +++++++ 16 files changed, 564 insertions(+) create mode 100644 autotests/xcursor/wait create mode 100644 autotests/xcursor/wait_24_1.png create mode 100644 autotests/xcursor/wait_24_2.png create mode 100644 autotests/xcursor/wait_24_3.png create mode 100644 autotests/xcursor/wait_48_1.png create mode 100644 autotests/xcursor/wait_48_2.png create mode 100644 autotests/xcursor/wait_48_3.png create mode 100644 autotests/xcursor/wait_72_1.png create mode 100644 autotests/xcursor/wait_72_2.png create mode 100644 autotests/xcursor/wait_72_3.png create mode 100644 autotests/xcursortest.cpp create mode 100644 src/imageformats/xcursor.cpp create mode 100644 src/imageformats/xcursor.json create mode 100644 src/imageformats/xcursor_p.h diff --git a/autotests/CMakeLists.txt b/autotests/CMakeLists.txt index 145aea1..2824f5a 100644 --- a/autotests/CMakeLists.txt +++ b/autotests/CMakeLists.txt @@ -247,3 +247,8 @@ add_executable(anitest anitest.cpp) target_link_libraries(anitest Qt6::Gui Qt6::Test) ecm_mark_as_test(anitest) add_test(NAME kimageformats-ani COMMAND anitest) + +add_executable(xcursortest xcursortest.cpp) +target_link_libraries(xcursortest Qt6::Gui Qt6::Test) +ecm_mark_as_test(xcursortest) +add_test(NAME kimageformats-xcursortest COMMAND xcursortest) diff --git a/autotests/xcursor/wait b/autotests/xcursor/wait new file mode 100644 index 0000000000000000000000000000000000000000..556453a4301535b6d01ee30b046b40be9455bf54 GIT binary patch literal 1034800 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 literal 0 HcmV?d00001 diff --git a/autotests/xcursor/wait_24_1.png b/autotests/xcursor/wait_24_1.png new file mode 100644 index 0000000000000000000000000000000000000000..d0b4762b43096d085cb279e06b8424f94d9d258c GIT binary patch literal 533 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEa{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8ZKG z?d}4kf#9d}Zjf%y0*}aI1_o|n5N2eUH3wuldx@v7EBh-(IU#;t0ks|zppB89E{-7{ z$CDEzL=Gri?>e~RfkJcQy=b<>fBYT3nX&z?VSgo&HzQu}-Mt^WOX@!FKXbDEf4Z;T zC;Jt7m+J+m|H@aeJjKJlE9k_^Z_zQ&=lzenI{Sb2avhfB@2h(ME8i~rD_*wpFWWcS zn+y^n-+rF{7yWeouk&wieV%_lUr54uciDgQlWbk-y1&@@thkzz|>pz!a@xN>} z-5>e$b~E*u3W@)j-Z|sveVgi+^#yw-&tzO zV#y1ae*Ql=(a%vpHl%yrzw_(sUjJXRkNJP}wD@25d5&=I{e5uSiFV(A{C~3MOhG0AA+DS<))Rm)3f~v zy(?e%!TafVe!ugabDoEy*8B^g{VBd`h}3&hA1OX_jpF8U9MhanGoC@kOHtY(YewA^ zPS%?cp}AvqmuSrtk4|9MoTCihv|npcT$)65#V7)E`|TB7{t$8JN8v6#yGZS2{8&t{ znha9ihE#39dYKMxM;hUFxB*UKwUFc+Ak5US61oh355S{;$<7SJJFyMB()1AI^nrh> z556fK@QQDRD7P0BPxXlnz>+wx-`+T)=suDORY?~o5LRdeH@gRZsT~A>`No1G=Cyx% z2ck+J;6(jnRP?<>SP)NemnzMMcJ zBDZ-O%9f`{)lI-BMrR>sq-WP$KuflSmRJ(1$8g~EAbb@!>~0P%7)E-X3Eq(x7Ac-m z!6uVTqU=rtWOc(MstMcV&G3xALh`8wLK1%A1%sdj%yTx}f8k_y!auXi9vf2iAokG% z*qM40TjebXA)Bn@F~8aH|5cRJ3t8b^#8-_YtLX_8xzm0Y!Ip!kCl!}?>o<~}(2@+-i z&O(iuI9$k1Nn9q;MXWK4vu~{?SC1pHY7Ct8cB`{UZM!=29OH#Rl@C!=AE^aG$!DUR gb`p4kHGh=+0m&O(tNm+g`2YX_07*qoM6N<$g1uUQK>z>% literal 0 HcmV?d00001 diff --git a/autotests/xcursor/wait_24_3.png b/autotests/xcursor/wait_24_3.png new file mode 100644 index 0000000000000000000000000000000000000000..8d8e85fd3c65269e31377d2e80b122feec18c958 GIT binary patch literal 943 zcmV;g15o^lP)z+X@k=%Gnsq9V!?E_mm!PiPzwrW`tL& z(eliVZ^vF`FX&u8u`yT<&gsRTj4p(q>&LOn_YqS%g3#PM@Ja84cd7yOn;+{p5NKwE zStcAVyo==8Cnz+$ME;EzNT_^lG4x1iV+^KP7^sR|#FdNj6_227dybajkEkE`0EO#;wt54Hl; zs->0dW0PiDDDMJ8R|eU+9g~nZPauktl}C-eWH%Xf%(6j8wfpggUksNRCg~r1Mp@5W zBvp+f;`|_-CAGgPzj|2=S?k2KDI}+RjWMXY{SHOODafvjftPNe?a|DWK72cAOU?EruBML8Rn4nX5NbZhH+(+^yl4c@|UxJD8 zl{PsRc`r$8Cpasx5Mg;Hr0DyRUik`A%@9({2Cyxw6$^t;*@UQmC_GgOjzOLgAyUr1 zIipG5XY(pkI^dyn^a9m)(>Dmkqj;D zgj<3U^P{UVC#sTz&6mX)5S;%2vFCfan1IYC`zn}asy0+nh`{X4MMV5L_UL*k+V?Rt zq8!dUu5h@7UWH3YDJBK8>r%{!sDPiU9g(NI5OcO0)BW?uM6k*wL-cj*G4> zRNILuNZ0 zAhih_r8`)ad>gLuM!1s@mL@^8dAH?ua0IFEVSQ#B7vdUUhm}b;;d!(fzUj?&0aiH# zuu~R3X^jZXF=1Us8{CgHQe^K!sWoF4rB&SdCw$XJ7hCw|X3yA4vETWmwUF2byMPfn z1Td?BRY~wcXKqr@J zgUbdr&+(`;79M3*17M8e4@ zd(=DS7Lj|(?L_X4_c%*YFTMW-mkDPmjgA}N;xO%n7~0%x4;sf!o$StZf)jO5G~mFM zJ~D1rqC4= zFQQI#!YkQ`$$pxN-vwHQLk*S+w$u4HA2eop9q6B!JXRLR#EjSuJPR+ovY0k8#1KRD zg+yOS^o2xUNc4q7Ur6+YL|;hsg+yOS^o2xUNc4q7Ur6+Y#Q6K;C*|`{gs4pN>Hq)$ M07*qoM6N<$g7UQzlK=n! literal 0 HcmV?d00001 diff --git a/autotests/xcursor/wait_48_2.png b/autotests/xcursor/wait_48_2.png new file mode 100644 index 0000000000000000000000000000000000000000..35308a2c67f1a69b4238f93635c5782b7d528a93 GIT binary patch literal 2167 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 literal 0 HcmV?d00001 diff --git a/autotests/xcursor/wait_72_1.png b/autotests/xcursor/wait_72_1.png new file mode 100644 index 0000000000000000000000000000000000000000..fc8b04f7d4126719bc174ff0c151f02b706297fc GIT binary patch literal 2143 zcmYjSc{G%5AATld8GAE!ne0ZE#+n$*jBSKSWSwkTD<)f-H%u5Y%Jw2f*&}6&Y*`8u zlDt{6Wo?i(jL7!I_jJDVo%7!3-1l{U*LD4_f9^l7B-``mJe*>j008h<;7#m6^!Rf* z*ua;Ob5jQds2|oE3jkHAT>tT81!qX8ojDFN)~y@^4wBw@J8J+S$pZj69su@1io6H_ z;b;I@_5c9g8~_j|<~3fxfC8JBrMU@+;Mp^7`m+rq;+;bQfD7^GLV!nkA|S~gW?^m0 zz6?Raq5NrI&VtG8#TF)5`^c|9Tz>=$`0(dPHI4t66r`pHCTl}XP$dFMv1XEiUhTq1 zP;VTA9qy_XjrC6K9}Pz3?6$psziTLBC<-^a11M?^2$QsHSTQd9q>0I?x4J)9*TPfD z&Cm(0hwgeUlTDLNWj}NMzTff<0z|mk;@UjW|At6L+M#3d!#7pZuIdZB!uuA_RsB$-p7!F z-y(x%?MUvHiEFK7*JSb97cb14~8Q>asU&VDi zFR}X~d$`-XpD7EwHbQxJRfEX*B&n>b-05z>7T2}^kbF>Bzpiv*$gh8CxH8vsdJXBh zM7w)#2Sc=AZmk@&mz0V?)c;`}J9m%Ep(bxn?A~JiEgh z4=MLw#Y~?s^dB*mnlFyTn+(;o!9EMxliEILA20Zz9vL~!9DFeIlF9h!7kQXVTxy!N zYMpe{lhG+s)xEyHO1?Qoa=6!b<3c|wdln0e`u$}Uo)g~Gy)7bw7_OTyh_c3>KtQO{ zGE%_1{3dSiV#iCD@Qq*p&K^q76FX+L(1PEi;FOwM7JNLv)i%a?(R({M^O`jw#t69_ z`fNxoZ%-E9Du>X><9+cpF({JLm$@A{3Evq~5x%@UCdNDH4D>KO$>mNx5tOUlOJV{cx;5Xc3m5x}u1X7i zxo$q8Vc#s3_)HoyM|-m3&+gD;_Sz$P)IkFxT zT&fETHknlp7`Cpx4K30q|B4*Zzavlg0@4G9ZH*vta%x<5YyLdAi!D zZ+~on^>jwBrZ0BNsVbuS&;dnpnySRy`yqsGn1UI<*A} znGOo1AE@CUqGF*kl7-tTB5A3b@wE3iH2*JJiz6 z%YTe@{Kiq5o>nA7$l^q!gArt&A}6BN2%#d4&!GN&LY(6$6aUoiQ`qMB8AKYo)`>mL_ z=GW+F(&~coB|lw{>+PrDUZ8?&<~&yFdS89p^YaY9EWGUr-#pkl-QbnbARVNfc@?dx z3q#DBZk$j$q}gX4@!S3CO{|GlF^!#id-}%R+o%e@^gy9ERFg+}=HbU<;=zDV}OC(_@=}ZH_cn zvkKlqyGZF5FwAY4`H76bs9E`kqJ8o7Y81h4`yQu`y>Wr2wvS!hm8nBW=) literal 0 HcmV?d00001 diff --git a/autotests/xcursor/wait_72_2.png b/autotests/xcursor/wait_72_2.png new file mode 100644 index 0000000000000000000000000000000000000000..c1210670cbaa53af3b026c6f8460581a052cf44f GIT binary patch literal 3844 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 literal 0 HcmV?d00001 diff --git a/autotests/xcursor/wait_72_3.png b/autotests/xcursor/wait_72_3.png new file mode 100644 index 0000000000000000000000000000000000000000..1abace6af24a74b30681a763613f5452579c3d37 GIT binary patch literal 3814 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 WnccFjY_41*001>G(Qnpuiu(^p&L!sn literal 0 HcmV?d00001 diff --git a/autotests/xcursortest.cpp b/autotests/xcursortest.cpp new file mode 100644 index 0000000..36ccc32 --- /dev/null +++ b/autotests/xcursortest.cpp @@ -0,0 +1,129 @@ +/* + * SPDX-FileCopyrightText: 2026 Kai Uwe Broulik + * + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ + +#include +#include +#include + +using namespace Qt::StringLiterals; + +static bool imgEquals(const QImage &im1, const QImage &im2) +{ + const int height = im1.height(); + const int width = im1.width(); + for (int i = 0; i < height; ++i) { + const auto *line1 = reinterpret_cast(im1.scanLine(i)); + const auto *line2 = reinterpret_cast(im2.scanLine(i)); + for (int j = 0; j < width; ++j) { + if (line1[j] - line2[j] != 0) { + return false; + } + } + } + return true; +} + +class XCursorTests : public QObject +{ + Q_OBJECT + +private Q_SLOTS: + void initTestCase() + { + QCoreApplication::addLibraryPath(QStringLiteral(PLUGIN_DIR)); + } + + void testReadMetadata() + { + QImageReader reader(QFINDTESTDATA("xcursor/wait")); + + QVERIFY(reader.canRead()); + + QCOMPARE(reader.imageCount(), 18); + + // By default it chooses the largest size + QCOMPARE(reader.size(), QSize(72, 72)); + + QCOMPARE(reader.text(u"Sizes"_s), u"24,48,72"_s); + } + + void testRead_data() + { + QTest::addColumn("size"); + QTest::addColumn("reference"); + + // It prefers downsampling over upsampling. + QTest::newRow("12px") << 12 << 24; + QTest::newRow("24px") << 24 << 24; + QTest::newRow("48px") << 48 << 48; + QTest::newRow("50px") << 50 << 72; + QTest::newRow("72px") << 72 << 72; + QTest::newRow("default") << 0 << 72; + } + + void testRead() + { + QFETCH(int, size); + QFETCH(int, reference); + + QImageReader reader(QFINDTESTDATA("xcursor/wait")); + QVERIFY(reader.canRead()); + QCOMPARE(reader.currentImageNumber(), 0); + + if (size) { + reader.setScaledSize(QSize(size, size)); + } + + QCOMPARE(reader.size(), QSize(reference, reference)); + + QImage aniFrame; + QVERIFY(reader.read(&aniFrame)); + + QImage img1(QFINDTESTDATA(u"xcursor/wait_%1_1.png"_s.arg(reference))); + img1.convertTo(aniFrame.format()); + + QVERIFY(imgEquals(aniFrame, img1)); + + QCOMPARE(reader.nextImageDelay(), 40); + QCOMPARE(reader.text(u"HotspotX"_s), u"48"_s); + QCOMPARE(reader.text(u"HotspotY"_s), u"48"_s); + + QVERIFY(reader.canRead()); + // that read() above should have advanced us to the next frame + QCOMPARE(reader.currentImageNumber(), 1); + + QVERIFY(reader.read(&aniFrame)); + QImage img2(QFINDTESTDATA(u"xcursor/wait_%1_2.png"_s.arg(reference))); + img2.convertTo(aniFrame.format()); + + QVERIFY(imgEquals(aniFrame, img2)); + + // Would be nice to have a cursor with variable delay and hotspot :-) + QCOMPARE(reader.nextImageDelay(), 40); + QCOMPARE(reader.text(u"HotspotX"_s), u"48"_s); + QCOMPARE(reader.text(u"HotspotY"_s), u"48"_s); + + QVERIFY(reader.canRead()); + QCOMPARE(reader.currentImageNumber(), 2); + + QVERIFY(reader.read(&aniFrame)); + QImage img3(QFINDTESTDATA(u"xcursor/wait_%1_3.png"_s.arg(reference))); + img3.convertTo(aniFrame.format()); + + QVERIFY(imgEquals(aniFrame, img3)); + + QCOMPARE(reader.text(u"HotspotX"_s), u"48"_s); + QCOMPARE(reader.text(u"HotspotY"_s), u"48"_s); + QCOMPARE(reader.nextImageDelay(), 40); + + QVERIFY(reader.canRead()); + QCOMPARE(reader.currentImageNumber(), 3); + } +}; + +QTEST_MAIN(XCursorTests) + +#include "xcursortest.moc" diff --git a/src/imageformats/CMakeLists.txt b/src/imageformats/CMakeLists.txt index e02347f..3baa69e 100644 --- a/src/imageformats/CMakeLists.txt +++ b/src/imageformats/CMakeLists.txt @@ -145,6 +145,10 @@ kimageformats_add_plugin(kimg_xcf SOURCES xcf.cpp) ################################## +kimageformats_add_plugin(kimg_xcursor SOURCES xcursor.cpp) + +################################## + if (LibRaw_FOUND) kimageformats_add_plugin(kimg_raw SOURCES raw.cpp) kde_enable_exceptions() diff --git a/src/imageformats/xcursor.cpp b/src/imageformats/xcursor.cpp new file mode 100644 index 0000000..6e9db90 --- /dev/null +++ b/src/imageformats/xcursor.cpp @@ -0,0 +1,349 @@ +/* + * SPDX-FileCopyrightText: 2026 Kai Uwe Broulik + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +#include "xcursor_p.h" + +#include +#include +#include +#include + +#include + +#include "util_p.h" + +#ifdef QT_DEBUG +Q_LOGGING_CATEGORY(LOG_XCURSORPLUGIN, "kf.imageformats.plugins.xcursor", QtDebugMsg) +#else +Q_LOGGING_CATEGORY(LOG_XCURSORPLUGIN, "kf.imageformats.plugins.xcursor", QtWarningMsg) +#endif + +using namespace Qt::StringLiterals; + +static constexpr quint32 XCURSOR_MAGIC = 0x72756358; // "Xcur" +static constexpr quint32 XCURSOR_IMAGE_TYPE = 0xfffd0002; + +XCursorHandler::XCursorHandler() = default; + +bool XCursorHandler::canRead() const +{ + if (canRead(device())) { + setFormat("xcursor"); + return true; + } + + // Check if there's another frame coming. + QDataStream stream(device()); + stream.setByteOrder(QDataStream::LittleEndian); + + // no peek on QDataStream... + const auto oldPos = device()->pos(); + auto cleanup = qScopeGuard([this, oldPos] { + device()->seek(oldPos); + }); + + quint32 headerSize, type, subtype, version, width, height, xhot, yhot, delay; + stream >> headerSize >> type >> subtype >> version >> width >> height >> xhot >> yhot >> delay; + + if (type != XCURSOR_IMAGE_TYPE || width == 0 || height == 0) { + return false; + } + + return true; +} + +bool XCursorHandler::read(QImage *outImage) +{ + if (!ensureScanned()) { + return false; + } + + const auto firstFrameOffset = m_images.value(m_currentSize).first(); + if (device()->pos() < firstFrameOffset) { + device()->seek(firstFrameOffset); + } + + QDataStream stream(device()); + stream.setByteOrder(QDataStream::LittleEndian); + + quint32 headerSize, type, subtype, version, width, height, xhot, yhot, delay; + stream >> headerSize >> type >> subtype >> version >> width >> height >> xhot >> yhot >> delay; + + if (type != XCURSOR_IMAGE_TYPE || width == 0 || height == 0) { + return false; + } + + QImage image = imageAlloc(width, height, QImage::Format_ARGB32); + if (image.isNull()) { + return false; + } + + const qsizetype byteCount = width * height * sizeof(quint32); + if (stream.readRawData(reinterpret_cast(image.bits()), byteCount) != byteCount) { + return false; + } + + *outImage = image; + ++m_currentImageNumber; + m_nextImageDelay = delay; + m_hotspot = QPoint(xhot, yhot); + + return !image.isNull(); +} + +int XCursorHandler::currentImageNumber() const +{ + if (!ensureScanned()) { + return 0; + } + return m_currentImageNumber; +} + +int XCursorHandler::imageCount() const +{ + if (!ensureScanned()) { + return 0; + } + return m_images.value(m_currentSize).count(); +} + +bool XCursorHandler::jumpToImage(int imageNumber) +{ + if (!ensureScanned()) { + return false; + } + + if (imageNumber < 0) { + return false; + } + + if (imageNumber == m_currentImageNumber) { + return true; + } + + if (imageNumber >= imageCount()) { + return false; + } + + if (!device()->seek(m_images.value(m_currentSize).at(imageNumber))) { + return false; + } + + return true; +} + +bool XCursorHandler::jumpToNextImage() +{ + if (!ensureScanned()) { + return false; + } + return jumpToImage(m_currentImageNumber + 1); +} + +int XCursorHandler::loopCount() const +{ + if (!ensureScanned()) { + return 0; + } + return -1; +} + +int XCursorHandler::nextImageDelay() const +{ + if (!ensureScanned()) { + return 0; + } + return m_nextImageDelay; +} + +bool XCursorHandler::supportsOption(ImageOption option) const +{ + return option == Size || option == ScaledSize || option == Description || option == Animation; +} + +QVariant XCursorHandler::option(ImageOption option) const +{ + if (!supportsOption(option) || !ensureScanned()) { + return QVariant(); + } + + switch (option) { + case QImageIOHandler::Size: + return QSize(m_currentSize, m_currentSize); + case QImageIOHandler::Description: { + QString description; + + if (m_hotspot.has_value()) { + description.append(u"HotspotX: %1\n\n"_s.arg(m_hotspot->x())); + description.append(u"HotspotY: %1\n\n"_s.arg(m_hotspot->y())); + } + + // TODO std::transform... + QStringList stringSizes; + stringSizes.reserve(m_images.size()); + for (auto it = m_images.keyBegin(); it != m_images.keyEnd(); ++it) { + stringSizes.append(QString::number(*it)); + } + description.append(u"Sizes: %1\n\n"_s.arg(stringSizes.join(','_L1))); + + return description; + } + + case QImageIOHandler::Animation: + return imageCount() > 1; + default: + break; + } + + return QVariant(); +} + +void XCursorHandler::setOption(ImageOption option, const QVariant &value) +{ + switch (option) { + case QImageIOHandler::ScaledSize: + m_scaledSize = value.toSize(); + pickSize(); + break; + default: + break; + } +} + +bool XCursorHandler::ensureScanned() const +{ + if (m_scanned) { + return true; + } + + if (device()->isSequential()) { + return false; + } + + auto *mutableThis = const_cast(this); + + const auto oldPos = device()->pos(); + auto cleanup = qScopeGuard([this, oldPos] { + device()->seek(oldPos); + }); + + device()->seek(0); + + const QByteArray intro = device()->read(4); + if (intro != "Xcur") { + return false; + } + + QDataStream stream(device()); + stream.setByteOrder(QDataStream::LittleEndian); + + quint32 headerSize, version, ntoc; + stream >> headerSize >> version >> ntoc; + + // TODO headerSize + // TODO version + + if (!ntoc) { + return false; + } + + mutableThis->m_images.clear(); + + for (quint32 i = 0; i < ntoc; ++i) { + quint32 type, size, position; + stream >> type >> size >> position; + + if (type != XCURSOR_IMAGE_TYPE) { + continue; + } + + mutableThis->m_images[size].append(position); + } + + mutableThis->pickSize(); + + return !m_images.isEmpty(); +} + +void XCursorHandler::pickSize() +{ + if (m_images.isEmpty()) { + return; + } + + // If a scaled size was requested, find the closest match. + const auto sizes = m_images.keys(); + // If no scaled size is specified, use the biggest one available. + m_currentSize = sizes.last(); + + if (!m_scaledSize.isEmpty()) { + // TODO Use some clever algo iterator thing instead of keys()... + const int wantedSize = std::max(m_scaledSize.width(), m_scaledSize.height()); + // Prefer downsampling over upsampling. + for (int i = sizes.size() - 1; i >= 0; --i) { + const int size = sizes.at(i); + if (size < wantedSize) { + break; + } + + m_currentSize = size; + } + } +} + +bool XCursorHandler::canRead(QIODevice *device) +{ + if (!device) { + qCWarning(LOG_XCURSORPLUGIN) << "XCurosorHandler::canRead() called with no device"; + return false; + } + if (device->isSequential()) { + return false; + } + + const QByteArray intro = device->peek(4 * 4); + + if (intro.length() != 4 * 4) { + return false; + } + + if (!intro.startsWith("Xcur")) { + return false; + } + + // TODO sanity check sizes? + + return true; +} + +QImageIOPlugin::Capabilities XCursorPlugin::capabilities(QIODevice *device, const QByteArray &format) const +{ + if (format == "xcursor") { + return Capabilities(CanRead); + } + if (!format.isEmpty()) { + return {}; + } + if (!device->isOpen()) { + return {}; + } + + Capabilities cap; + if (device->isReadable() && XCursorHandler::canRead(device)) { + cap |= CanRead; + } + return cap; +} + +QImageIOHandler *XCursorPlugin::create(QIODevice *device, const QByteArray &format) const +{ + QImageIOHandler *handler = new XCursorHandler; + handler->setDevice(device); + handler->setFormat(format); + return handler; +} + +#include "moc_xcursor_p.cpp" diff --git a/src/imageformats/xcursor.json b/src/imageformats/xcursor.json new file mode 100644 index 0000000..8746e7b --- /dev/null +++ b/src/imageformats/xcursor.json @@ -0,0 +1,8 @@ +{ + "Keys": [ + "xcursor" + ], + "MimeTypes": [ + "image/x-xcursor" + ] +} diff --git a/src/imageformats/xcursor_p.h b/src/imageformats/xcursor_p.h new file mode 100644 index 0000000..3170c2b --- /dev/null +++ b/src/imageformats/xcursor_p.h @@ -0,0 +1,69 @@ +/* + * SPDX-FileCopyrightText: 2026 Kai Uwe Broulik + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +#ifndef KIMG_XCURSOR_P_H +#define KIMG_XCURSOR_P_H + +#include +#include + +#include + +struct XCursorImage { + qint64 offset; + quint32 delay; +}; + +class XCursorHandler : public QImageIOHandler +{ +public: + XCursorHandler(); + + bool canRead() const override; + bool read(QImage *image) override; + + int currentImageNumber() const override; + int imageCount() const override; + bool jumpToImage(int imageNumber) override; + bool jumpToNextImage() override; + + int loopCount() const override; + int nextImageDelay() const override; + + bool supportsOption(ImageOption option) const override; + QVariant option(ImageOption option) const override; + void setOption(ImageOption option, const QVariant &value) override; + + static bool canRead(QIODevice *device); + +private: + bool ensureScanned() const; + void pickSize(); + + bool m_scanned = false; + + int m_currentImageNumber = 0; + + QSize m_scaledSize; + int m_currentSize = 0; + + QMap> m_images; + + int m_nextImageDelay = 0; + std::optional m_hotspot; +}; + +class XCursorPlugin : public QImageIOPlugin +{ + Q_OBJECT + Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QImageIOHandlerFactoryInterface" FILE "xcursor.json") + +public: + Capabilities capabilities(QIODevice *device, const QByteArray &format) const override; + QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const override; +}; + +#endif // KIMG_XCURSOR_P_H