OSDN Git Service
Ivailo Monev [Wed, 16 Nov 2022 20:17:47 +0000 (22:17 +0200)]
lock before accessing the custom meta types global static in QMetaType::type()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 16 Nov 2022 19:27:57 +0000 (21:27 +0200)]
Revert "always allocate QGlyphLayout data on the heap"
will have to wait until the QTextEngine redo
This reverts commit
4a5239046adeb78397c868074fe48d595fcb8fa4.
Ivailo Monev [Wed, 16 Nov 2022 17:15:45 +0000 (19:15 +0200)]
always allocate QGlyphLayout data on the heap
much easier to calculate the glyph array data size and also no
possibility for stack corruption
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 16 Nov 2022 14:01:25 +0000 (16:01 +0200)]
add thread-safety test for QFontDatabase
it basically tests fontconfig thread-safety but QFontDatabase is documented
as thread-safe (as it should be) so why not add test case for it
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 16 Nov 2022 13:35:45 +0000 (15:35 +0200)]
QFontDatabase test review
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 16 Nov 2022 13:29:57 +0000 (15:29 +0200)]
do not assume FcObjectSetCreate(), FcPatternCreate() and FcFontList() return non-null pointers in QFontDatabase constructor
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 16 Nov 2022 13:26:25 +0000 (15:26 +0200)]
replace hardcoded QFont::Unstretched value with the enum
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 16 Nov 2022 03:05:56 +0000 (05:05 +0200)]
assume the codec MIB is in the table in QTextCodec::mibEnum() and add test for it
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 15 Nov 2022 18:17:42 +0000 (20:17 +0200)]
remove unused headers inclusions in qfont source file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 15 Nov 2022 18:08:42 +0000 (20:08 +0200)]
use the QPixmap::scaled() method in QMoviePrivate::next()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 15 Nov 2022 17:34:24 +0000 (19:34 +0200)]
use QVector for the QMetaMethod list in qInvokeTestMethods() function
operator new may throw if the method count is zero, a test case should have
atleast one method tho
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 15 Nov 2022 17:12:08 +0000 (19:12 +0200)]
move QTextConverter::ConversionFlag documentation bellow QTextConverter documentation
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 15 Nov 2022 15:59:57 +0000 (17:59 +0200)]
move constructor and destructor to the top in qfontdatabase source file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 15 Nov 2022 15:48:09 +0000 (17:48 +0200)]
read PNG rows directly into QImage allocated memory
KAT format is still faster, benchmark result:
********* Start testing of tst_QImageReader *********
Config: Using QTest library 4.12.0, Katie 4.12.0
PASS : tst_QImageReader::initTestCase()
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.kat":
449,473.586 CPU ticks per iteration (total: 224,736,793, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.kat":
12,192,500.92 CPU ticks per iteration (total: 6,096,250,460, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.kat":
4,553,239.292 CPU ticks per iteration (total: 2,276,619,646, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.png":
1,847,145.64 CPU ticks per iteration (total: 923,572,823, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.png":
19,422,744.28 CPU ticks per iteration (total: 9,711,372,141, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.png":
12,389,194.51 CPU ticks per iteration (total: 6,194,597,257, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.ppm":
653,286.280 CPU ticks per iteration (total: 326,643,140, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.ppm":
2,728,198.060 CPU ticks per iteration (total: 1,364,099,030, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.ppm":
2,455,954.036 CPU ticks per iteration (total: 1,227,977,018, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.svg":
10,524,974.96 CPU ticks per iteration (total: 5,262,487,482, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.xpm":
8,238,501.942 CPU ticks per iteration (total: 4,119,250,971, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.xpm":
74,886,112.602 CPU ticks per iteration (total: 37,443,056,301, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.xpm":
63,337,570.664 CPU ticks per iteration (total: 31,668,785,332, iterations: 500)
PASS : tst_QImageReader::readImage()
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.kat":
1,950,330.16 CPU ticks per iteration (total: 975,165,082, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.kat":
13,089,959.61 CPU ticks per iteration (total: 6,544,979,808, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.kat":
5,447,284.922 CPU ticks per iteration (total: 2,723,642,461, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.png":
3,342,337.962 CPU ticks per iteration (total: 1,671,168,981, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.png":
20,326,863.998 CPU ticks per iteration (total: 10,163,431,999, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.png":
13,279,201.09 CPU ticks per iteration (total: 6,639,600,546, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.ppm":
1,498,119.28 CPU ticks per iteration (total: 749,059,644, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.ppm":
3,641,910.638 CPU ticks per iteration (total: 1,820,955,319, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.ppm":
3,370,265.894 CPU ticks per iteration (total: 1,685,132,947, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.svg":
9,147,455.174 CPU ticks per iteration (total: 4,573,727,587, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.xpm":
9,729,368.638 CPU ticks per iteration (total: 4,864,684,319, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.xpm":
75,966,954.086 CPU ticks per iteration (total: 37,983,477,043, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.xpm":
64,719,740.840 CPU ticks per iteration (total: 32,359,870,420, iterations: 500)
PASS : tst_QImageReader::setScaledSize()
PASS : tst_QImageReader::cleanupTestCase()
Totals: 4 passed, 0 failed, 0 skipped
********* Finished testing of tst_QImageReader *********
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 15 Nov 2022 14:11:43 +0000 (16:11 +0200)]
cache system fonts on per QFontDatabase object basis
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 14 Nov 2022 22:50:06 +0000 (00:50 +0200)]
drop support for registering custom QVariantAnimation interpolators
even the declarative component inherit and use internal animation classes
methods for interpolation, if anything there should be more interpolators
(e.g. for QVariant::LongLong and QVariant::ULongLong)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 14 Nov 2022 21:26:22 +0000 (23:26 +0200)]
qconfig header update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 14 Nov 2022 21:22:19 +0000 (23:22 +0200)]
remove unused QErrorMessage class
Katana uses KMessageBox or system notifcations for such things
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 14 Nov 2022 19:08:39 +0000 (21:08 +0200)]
do not store the hinting flags in QFontEngineFT
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 14 Nov 2022 18:38:47 +0000 (20:38 +0200)]
translations update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 14 Nov 2022 18:38:04 +0000 (20:38 +0200)]
update URL TLDs table data
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 14 Nov 2022 18:36:12 +0000 (20:36 +0200)]
Merge branch 'master' of https://scm.osdn.net/gitroot/kde/Katie
Ivailo Monev [Mon, 14 Nov 2022 18:35:44 +0000 (20:35 +0200)]
prepare genlocale.py script for CLDR v42
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 14 Nov 2022 17:03:15 +0000 (19:03 +0200)]
FreeBSD package footprint file update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 14 Nov 2022 16:24:04 +0000 (18:24 +0200)]
add QChar enum for unicode v15.0
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 14 Nov 2022 16:21:40 +0000 (18:21 +0200)]
update unicode data tables to v15.0
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 14 Nov 2022 15:58:00 +0000 (17:58 +0200)]
include system locale header for setlocale() and LC_CTYPE in qkeymapper_x11 source file
fixes build on FreeBSD
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 14 Nov 2022 15:18:09 +0000 (17:18 +0200)]
remove unused qsettings header inclusion in qcommonstyle source file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 14 Nov 2022 13:47:25 +0000 (15:47 +0200)]
remove redundant Q_EXPORT_PLUGIN2() macro
its PLUGIN argument is unused
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 14 Nov 2022 13:37:03 +0000 (15:37 +0200)]
README update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 14 Nov 2022 13:36:36 +0000 (15:36 +0200)]
remove now unused plugin verification section and data
it should've been added even if QT_NO_PLUGIN_CHECK was defined btw, now
only ELF header is checked tho
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 14 Nov 2022 13:25:55 +0000 (15:25 +0200)]
remove redundant handle check in QLibrary::unload()
QLibraryPrivate::unload() does the same check
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 14 Nov 2022 13:16:59 +0000 (15:16 +0200)]
compiler warnings fix
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 14 Nov 2022 13:16:50 +0000 (15:16 +0200)]
remove redundant QSettings forward-declaration in qlibrary_p header
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 14 Nov 2022 12:43:19 +0000 (14:43 +0200)]
replace internal loadDocument<T>() function with its body
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 14 Nov 2022 12:37:58 +0000 (14:37 +0200)]
QIconLoader doesn't need QObject as base class
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 14 Nov 2022 12:29:05 +0000 (14:29 +0200)]
Merge branch 'master' of https://scm.osdn.net/gitroot/kde/Katie
Ivailo Monev [Mon, 14 Nov 2022 12:28:50 +0000 (14:28 +0200)]
replace QCursorData::setBitmap() with its body
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 14 Nov 2022 03:53:41 +0000 (05:53 +0200)]
remove resource system leftovers in QPixmapIconEngine::addFile()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 14 Nov 2022 00:41:39 +0000 (02:41 +0200)]
use the stored pixmap mask in QCursor::handle()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 14 Nov 2022 00:33:31 +0000 (02:33 +0200)]
QCursor rewrite
X may or may not copy the pixmaps so handles have to be kept until cursor
data destruction
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 13 Nov 2022 23:08:36 +0000 (01:08 +0200)]
ensure the QVariant type is QVariant::String in ini_settings_read() for compat
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 13 Nov 2022 20:46:53 +0000 (22:46 +0200)]
do not register QColor, QVector2D, QVector3D and QVector2D interpolators as external
now the interpolators global mutex will be held 4 times less when the
GUI component library is loaded and 4 more times when it is unloaded
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 13 Nov 2022 20:45:37 +0000 (22:45 +0200)]
document internal QFontDatabase methods as such
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 13 Nov 2022 20:12:08 +0000 (22:12 +0200)]
mark qt_FcPatternToQFontDef() function as static
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 13 Nov 2022 20:08:44 +0000 (22:08 +0200)]
Merge branch 'master' of https://scm.osdn.net/gitroot/kde/Katie
Ivailo Monev [Sun, 13 Nov 2022 20:52:32 +0000 (22:52 +0200)]
initialize values in QFont streaming operator
if they are not read from the QDataStream (e.g. premature end of data or
corrupt data) they will end up being zero tho because that is what
QDataStream sets them to on failure, perhaps it should not
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 13 Nov 2022 20:41:53 +0000 (22:41 +0200)]
QFontDatabase::families() optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 13 Nov 2022 20:08:26 +0000 (22:08 +0200)]
remove QApplication::fontDatabaseChanged() signal
it indicates that QFontDatabase has cached the fonts, not that system font
was added or removed which QFontDatabase should have signal for no
QCoreApplication/QApplication
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 13 Nov 2022 18:14:34 +0000 (20:14 +0200)]
QJsonDocument optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 13 Nov 2022 17:27:13 +0000 (19:27 +0200)]
drop support for storing types that are not QString-convertable via QSettings
I am not interested in custom types feature at all - QMainWindow for
example saves its state via QDataStream. ofcourse it involves conversion
but that is the case with QVariant aswell. there is also the qreal type
thing - it may be float, it may double. streaming QRectF has to be done
in such a way to account for both cases but here is the catch - if
conversion fails there has to be fallback which QSettings::value() kinda
covers for types that are not composed of several more types.
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 13 Nov 2022 16:49:13 +0000 (18:49 +0200)]
QDebug documentation update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 13 Nov 2022 13:39:19 +0000 (15:39 +0200)]
QDebug rewrite to use QByteArray as internal buffer
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 13 Nov 2022 12:47:47 +0000 (14:47 +0200)]
QDeclarativeInfo rewrite to not use QDebug
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 13 Nov 2022 12:44:26 +0000 (14:44 +0200)]
log the error string, not the QDeclarativeError pointer in QDeclarativeScriptActionPrivate::execute()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 12 Nov 2022 13:50:44 +0000 (15:50 +0200)]
revert
f92053f38142c9b4a589f5623e3055958d145a01
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 12 Nov 2022 13:43:29 +0000 (15:43 +0200)]
Merge branch 'master' of https://scm.osdn.net/gitroot/kde/Katie
Ivailo Monev [Sat, 12 Nov 2022 11:18:03 +0000 (13:18 +0200)]
remove unused AVG16() macro
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 12 Nov 2022 03:37:25 +0000 (05:37 +0200)]
namefsck script update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 12 Nov 2022 01:11:56 +0000 (03:11 +0200)]
drop compile-time options to disable debug and warning output
such type of messages can still be filtered by installing message handler
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 11 Nov 2022 20:58:03 +0000 (22:58 +0200)]
QImage documentation update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 11 Nov 2022 18:49:22 +0000 (20:49 +0200)]
use growing buffer (QDataBuffer) in blending functions
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 11 Nov 2022 17:38:57 +0000 (19:38 +0200)]
move variables to the scope they are used in QGradientData::generateGradientColorTable()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 11 Nov 2022 17:06:16 +0000 (19:06 +0200)]
QImage::Format_RGB16 to XImage copying optimization
it is a bit tricky to figure out the compatible cases but the zero-copy
optimizations pay off
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 11 Nov 2022 03:26:01 +0000 (05:26 +0200)]
create print preview images with the page rectangle size and fill them with white color
fixes possible rendering issues (e.g. random colors at the edges)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 11 Nov 2022 03:18:07 +0000 (05:18 +0200)]
create dummy device as fallbak from QPdfPrinter
fixes possible crash
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 11 Nov 2022 03:14:43 +0000 (05:14 +0200)]
build fix for the case when QT_NO_CUPS is defined
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 11 Nov 2022 00:43:09 +0000 (02:43 +0200)]
remove unused QPSPrintEnginePrivate member
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 11 Nov 2022 00:41:39 +0000 (02:41 +0200)]
drop unused epsf feature of QPSPrintEngine
note that it is hidden behind backdoor function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 11 Nov 2022 00:29:42 +0000 (02:29 +0200)]
remove now unused QPolygonClipper class
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 10 Nov 2022 23:09:16 +0000 (01:09 +0200)]
assume fetch and store operators are valid in drawing functions
any attempt to paint on QImage (and in turn QPixmap) the format of which is
QImage::Format_Invalid (with no private data pointer) will fail due to
paint engine check in QPainter::begin(), in addition the operators should
be (and currently are) implemented for all QImage formats
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 10 Nov 2022 23:05:18 +0000 (01:05 +0200)]
benchmark painting on and of mono image formats
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 10 Nov 2022 23:04:43 +0000 (01:04 +0200)]
compiler warnings fixes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 10 Nov 2022 22:17:24 +0000 (00:17 +0200)]
remove now unused constants
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 10 Nov 2022 21:35:06 +0000 (23:35 +0200)]
fix copying of QImage to XImage when the QImage format is QImage::Format_RGB16
even transparency is a thing on 16-bit depth X display but it is very slow
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 10 Nov 2022 20:10:52 +0000 (22:10 +0200)]
replace QPixmapData::createCompatiblePixmapData() with its body
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 10 Nov 2022 20:08:26 +0000 (22:08 +0200)]
remove now unused QPixmapData::resize() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 10 Nov 2022 19:54:32 +0000 (21:54 +0200)]
allocate the ARGB visuals and colormaps only if XRender is to be used
they are null-checked in qt_cleanup() and used only when qt_x11Data->use_xrender
equals true
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 10 Nov 2022 18:50:05 +0000 (20:50 +0200)]
ensure the image is not constructed with zero width or height in QX11PaintEngine::drawPath()
must be rounding to zero somewhere
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 10 Nov 2022 17:29:38 +0000 (19:29 +0200)]
remove check for non-existing internal property
it was used by the designer tool to override the DPI
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 10 Nov 2022 16:14:06 +0000 (18:14 +0200)]
convert QPixmapData::create() method to specialized constructor
now QPixmap::load() and QPixmap::loadFromData() will be slightly faster
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 10 Nov 2022 16:00:31 +0000 (18:00 +0200)]
pass the pixel type to makeBitmapCompliantIfNeeded() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 10 Nov 2022 15:50:36 +0000 (17:50 +0200)]
remove redundant QPixmapData members
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 10 Nov 2022 15:40:17 +0000 (17:40 +0200)]
replace qt_mask_image() function with its body
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 10 Nov 2022 15:23:46 +0000 (17:23 +0200)]
remove unused lowest_bit() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 10 Nov 2022 14:37:14 +0000 (16:37 +0200)]
implement the missing QImage converter functions
that includes QImage::Format_ARGB32_Premultiplied to QImage::Format_RGB16,
QImage::Format_RGB16 to QImage::Format_Mono and QImage::Format_MonoLSB
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 10 Nov 2022 04:14:28 +0000 (06:14 +0200)]
inline QWidgetBackingStore::surface() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 10 Nov 2022 04:08:18 +0000 (06:08 +0200)]
remove noop QWidgetBackingStore::updateList()
does nothing since Qt::WA_StaticContents was dropped
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 10 Nov 2022 04:00:32 +0000 (06:00 +0200)]
QETWidget and QWindowSurface do not have to be friends with QWidgetBackingStore
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 10 Nov 2022 04:00:05 +0000 (06:00 +0200)]
remove unused QWidgetBackingStore::topLevelOffset() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 10 Nov 2022 02:17:28 +0000 (04:17 +0200)]
X server running at 24-bit depth is alpha capable
now the optimization from the previous commit applies to the backing store
in more cases
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 10 Nov 2022 01:27:36 +0000 (03:27 +0200)]
QImage::Format_ARGB32_Premultiplied to XImage copying optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 10 Nov 2022 01:29:01 +0000 (03:29 +0200)]
QWindowSurface::beginPaint() optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 10 Nov 2022 00:38:09 +0000 (02:38 +0200)]
oops, fix build
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 9 Nov 2022 21:28:05 +0000 (23:28 +0200)]
add note when QPixmap::toX11Pixmap() was introduced
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 9 Nov 2022 21:24:37 +0000 (23:24 +0200)]
QPixmap::grabWindow() optimization
TODO: replace WId with Qt::HANDLE or vice-versa, eventually
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 9 Nov 2022 21:06:30 +0000 (23:06 +0200)]
merge QRasterPixmapData into QPixmapData
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 9 Nov 2022 20:21:43 +0000 (22:21 +0200)]
remove now unused XRender fills cache
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 9 Nov 2022 22:18:47 +0000 (00:18 +0200)]
QPixmap documentation update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 9 Nov 2022 22:08:54 +0000 (00:08 +0200)]
QPixmap no longer requires GUI application or to be constructed in the application thread
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>