Name Description Size Coverage
LICENSE.QIMAGETRANSFORM.txt 3004 -
LICENSE.XCONSORTIUM.txt 2294 -
qbackingstore.cpp ! \class QBackingStore \since 5.0 \inmodule QtGui \brief The QBackingStore class provides a drawing area for QWindow. QBackingStore enables the use of QPainter to paint on a QWindow with type RasterSurface. The other way of rendering to a QWindow is through the use of OpenGL with QOpenGLContext. A QBackingStore contains a buffered representation of the window contents, and thus supports partial updates by using QPainter to only update a sub region of the window contents. QBackingStore might be used by an application that wants to use QPainter without OpenGL acceleration and without the extra overhead of using the QWidget or QGraphicsView UI stacks. For an example of how to use QBackingStore see the \l{Raster Window Example}. 12324 -
qbackingstore.h 1214 -
qbackingstoredefaultcompositor.cpp 29647 -
qbackingstoredefaultcompositor_p.h 4361 -
qbackingstorerhisupport.cpp 11933 -
qbackingstorerhisupport_p.h 2342 -
qbezier.cpp ! \internal 16748 -
qbezier_p.h 6440 -
qblendfunctions.cpp RGB16 (565) format target format ********************************************************************** 24540 -
qblendfunctions_p.h 19322 -
qblittable.cpp 1325 -
qblittable_p.h 3172 -
qbrush.cpp dense1 72048 -
qbrush.h QBrush stream functions *************************************************************************** 12954 -
qcmyk_p.h 2672 -
qcolor.cpp ! \internal If s[0..n] is a valid hex number, returns its integer value, otherwise returns -1. 100921 -
qcolor.h 29940 -
qcolor_p.h 696 -
qcolorclut_p.h 7397 -
qcolormatrix_p.h 14123 -
qcolorspace.cpp 55536 -
qcolorspace.h 6423 -
qcolorspace_p.h 4807 -
qcolortransferfunction_p.h 6130 -
qcolortransfergeneric_p.h 3904 -
qcolortransfertable_p.h 7851 -
qcolortransform.cpp ! \class QColorTransform \brief The QColorTransform class is a transformation between color spaces. \since 5.14 \ingroup painting \ingroup appearance \inmodule QtGui QColorTransform is an instantiation of a transformation between color spaces. It can be applied on color and pixels to convert them from one color space to another. To create a QColorTransform, use QColorSpace::transformationToColorSpace(): \code QColorSpace sourceColorSpace(QColorSpace::SRgb); QColorSpace targetColorSpace(QColorSpace::DisplayP3); QColorTransform srgbToP3Transform = sourceColorSpace.transformationToColorSpace(targetColorSpace); \endcode Setting up a QColorTransform takes some preprocessing, so keeping around QColorTransforms that you need often is recommended, instead of generating them on the fly. 83375 -
qcolortransform.h 2080 -
qcolortransform_p.h 2073 -
qcolortrc_p.h 4307 -
qcolortrclut.cpp 4533 -
qcolortrclut_p.h 9938 -
qcompositionfunctions.cpp The constant alpha factor describes an alpha factor that gets applied to the result of the composition operation combining it with the destination. The intent is that if const_alpha == 0. we get back dest, and if const_alpha == 1. we get the unmodified operation result = src op dest dest = result * const_alpha + dest * (1. - const_alpha) This means that in the comments below, the first line is the const_alpha==255 case, the second line the general one. In the lines below: s == src, sa == alpha(src), sia = 1 - alpha(src) d == dest, da == alpha(dest), dia = 1 - alpha(dest) ca = const_alpha, cia = 1 - const_alpha The methods exist in two variants. One where we have a constant source, the other where the source is an array of pixels. 146628 -
qcoregraphics.mm 28204 -
qcoregraphics_p.h 3530 -
qcosmeticstroker.cpp The return value is the result of the clipLine() call performed at the start of each of the two functions, aka "false" means completely outside the devices rect. 34735 -
qcosmeticstroker_p.h 3005 -
qcssutil.cpp 15244 -
qcssutil_p.h 1455 -
qdatabuffer_p.h 3534 -
qdrawhelper.cpp constants and structures 308745 -
qdrawhelper_avx2.cpp 73474 -
qdrawhelper_lasx.cpp 64229 -
qdrawhelper_loongarch64_p.h 2157 -
qdrawhelper_lsx.cpp 54507 -
qdrawhelper_mips_dsp.cpp 16937 -
qdrawhelper_mips_dsp_asm.S 58972 -
qdrawhelper_mips_dsp_p.h 8899 -
qdrawhelper_mips_dspr2_asm.S 16573 -
qdrawhelper_neon.cpp 54351 -
qdrawhelper_neon_asm.S 6409 -
qdrawhelper_neon_p.h useGammaCorrection 5164 -
qdrawhelper_p.h 38151 -
qdrawhelper_sse2.cpp 24410 -
qdrawhelper_sse4.cpp 26536 -
qdrawhelper_ssse3.cpp The instruction palignr uses direct arguments, so we have to generate the code fo the different shift (4, 8, 12). Checking the alignment inside the loop is unfortunately way too slow. 11355 -
qdrawhelper_x86_p.h 2074 -
qdrawingprimitive_lsx_p.h Multiply the components of pixelVector by alphaChannel Each 32bits components of alphaChannel must be in the form 0x00AA00AA colorMask must have 0x00ff00ff on each 32 bits component half must have the value 128 (0x80) for each 32 bits component 12761 -
qdrawingprimitive_sse2_p.h Multiply the components of pixelVector by alphaChannel Each 32bits components of alphaChannel must be in the form 0x00AA00AA colorMask must have 0x00ff00ff on each 32 bits component half must have the value 128 (0x80) for each 32 bits component 11446 -
qemulationpaintengine.cpp 7427 -
qemulationpaintengine_p.h 2372 -
qfixed_p.h 7822 -
qgrayraster.c / /* 60078 -
qgrayraster_p.h / /* 2744 -
qicc.cpp 81307 -
qicc_p.h 795 -
qimageeffects.cpp expblur(QImage &img, int radius) Based on exponential blur algorithm by Jani Huhtanen In-place blur of image 'img' with kernel of approximate radius 'radius'. Blurs with two sided exponential impulse response. aprec = precision of alpha parameter in fixed-point format 0.aprec zprec = precision of state parameters zR,zG,zB and zA in fp format 8.zprec 11529 -
qimagescale.cpp Copyright (C) 2004, 2005 Daniel M. Duley Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 44570 -
qimagescale_lsx.cpp go through every scanline in the output buffer 8551 -
qimagescale_neon.cpp go through every scanline in the output buffer 7388 -
qimagescale_p.h This version accepts only supported formats. 2050 -
qimagescale_sse4.cpp go through every scanline in the output buffer 8092 -
qmath_p.h 1679 -
qmemrotate.cpp 15036 -
qmemrotate_p.h 1099 -
qoutlinemapper.cpp 12313 -
qoutlinemapper_p.h class QOutlineMapper Used to map between QPainterPath and the QT_FT_Outline structure used by the freetype scanconverter. The outline mapper uses a path iterator to get points from the path, so that it is possible to transform the points as they are converted. The callback can be a noop, translate or full-fledged xform. (Tests indicated that using a C callback was low cost). 5453 -
qpagedpaintdevice.cpp ! \class QPagedPaintDevice \inmodule QtGui \brief The QPagedPaintDevice class represents a paint device that supports multiple pages. \ingroup painting Paged paint devices are used to generate output for printing or for formats like PDF. QPdfWriter and QPrinter inherit from it. 5212 -
qpagedpaintdevice.h 1468 -
qpagedpaintdevice_p.h 1463 -
qpagelayout.cpp 28783 -
qpagelayout.h 4069 -
qpageranges.cpp ! \class QPageRanges \brief The QPageRanges class represents a collection of page ranges. \inmodule QtGui \ingroup painting \ingroup printing \ingroup shared \since 6.0 Use QPagedPaintDevice::pageRanges() to access the collection of page ranges associated with a paged device. 8326 -
qpageranges.h 2679 -
qpageranges_p.h 724 -
qpagesize.cpp 79434 -
qpagesize.h 6432 -
qpaintdevice.cpp ! \internal 3266 -
qpaintdevice.h Inline functions *************************************************************************** 3110 -
qpaintdevice.qdoc 10417 -
qpaintengine.cpp ! \class QTextItem \inmodule QtGui \brief The QTextItem class provides all the information required to draw text in a custom paint engine. When you reimplement your own paint engine, you must reimplement QPaintEngine::drawTextItem(), a function that takes a QTextItem as one of its arguments. 31195 -
qpaintengine.h 0x10000000, // Used for emulating QGradient::StretchToDevice, defined in qpainter.cpp 0x40000000, // Used internally for emulating opaque backgrounds 9592 -
qpaintengine_blitter.cpp 27893 -
qpaintengine_blitter_p.h 3312 -
qpaintengine_p.h 3295 -
qpaintengine_raster.cpp ! \internal 156581 -
qpaintengine_raster_p.h QRasterPaintEngine 13853 -
qpaintengineex.cpp class QVectorPath 38140 -
qpaintengineex_p.h 5208 -
qpainter.cpp Discards the emulation flags that are not relevant for line drawing and returns the result 260663 -
qpainter.h 28334 -
qpainter_p.h 8537 -
qpainterpath.cpp 113128 -
qpainterpath.h 10264 -
qpainterpath_p.h 9948 -
qpainterstateguard.cpp ! \class QPainterStateGuard \brief The QPainterStateGuard is a RAII convenience class for balanced QPainter::save() and QPainter::restore() calls. \since 6.9 \inmodule QtGui \ingroup painting \reentrant \sa QPainter QPainterStateGuard should be used everywhere as a replacement for QPainter::save() to make sure that the corresponding QPainter::restore() is called upon finishing of the painting routine to avoid unbalanced calls between those two functions. Example with QPainter::save()/QPainter::restore(): \snippet code/src_gui_painting_qpainterstateguard.cpp 0 Example with QPainterStateGuard: \snippet code/src_gui_painting_qpainterstateguard.cpp 1 2407 -
qpainterstateguard.h 1667 -
qpathclipper.cpp The algorithm is as follows: 1. Find all intersections between the two paths (including self-intersections), and build a winged edge structure of non-intersecting parts. 2. While there are more unhandled edges: 3. Pick a y-coordinate from an unhandled edge. 4. Intersect the horizontal line at y-coordinate with all edges. 5. Traverse intersections left to right deciding whether each subpath should be added or not. 6. If the subpath should be added, traverse the winged-edge structure and add the edges to a separate winged edge structure. 7. Mark all edges in subpaths crossing the horizontal line as handled. 8. (Optional) Simplify the resulting winged edge structure by merging shared edges. 9. Convert the resulting winged edge structure to a painter path. 58230 -
qpathclipper_p.h 9974 -
qpathsimplifier.cpp 61080 -
qpathsimplifier_p.h 1115 -
qpdf.cpp also adds a space at the end of the number 107892 -
qpdf_p.h 10932 -
qpdfoutputintent.cpp ! \class QPdfOutputIntent \inmodule QtGui \ingroup painting \since 6.8 The QPdfOutputIntent class contains metadata that characterize the printing condition for which painting data has been prepared when generating a PDF file. \sa QPdfWriter 5137 -
qpdfoutputintent.h 1595 -
qpdfwriter.cpp ! \class QPdfWriter \inmodule QtGui \brief The QPdfWriter class is a class to generate PDFs that can be used as a paint device. \ingroup painting QPdfWriter generates PDF out of a series of drawing commands using QPainter. The newPage() method can be used to create several pages. 8996 -
qpdfwriter.h 1926 -
qpen.cpp 27091 -
qpen.h 3236 -
qpen_p.h 1092 -
qpixellayout.cpp 112516 -
qpixellayout_p.h 10889 -
qplatformbackingstore.cpp ! \class QPlatformBackingStore \since 5.0 \internal \preliminary \ingroup qpa \brief The QPlatformBackingStore class provides the drawing area for top-level windows. 12396 -
qplatformbackingstore.h 5505 -
qpolygon.cpp ! \class QPolygon \brief The QPolygon class provides a list of points using integer precision. \inmodule QtGui \reentrant \ingroup painting \ingroup shared A QPolygon object is a QList<QPoint>. The easiest way to add points to a QPolygon is to use QList's streaming operator, as illustrated below: \snippet polygon/polygon.cpp 0 In addition to the functions provided by QList, QPolygon provides some point-specific functions. Each point in a polygon can be retrieved by passing its index to the point() function. To populate the polygon, QPolygon provides the setPoint() function to set the point at a given index, the setPoints() function to set all the points in the polygon (resizing it to the given number of points), and the putPoints() function which copies a number of given points into the polygon from a specified index (resizing the polygon if necessary). QPolygon provides the boundingRect() and translate() functions for geometry functions. Use the QTransform::map() function for more general transformations of QPolygons. The QPolygon class is \l {Implicit Data Sharing}{implicitly shared}. \sa QList, QPolygonF, QLine 22626 -
qpolygon.h QPolygon stream functions *************************************************************************** 5637 -
qrasterbackingstore.cpp 2334 -
qrasterbackingstore_p.h 1178 -
qrasterdefs_p.h / /* 79090 -
qrasterizer.cpp 42026 -
qrasterizer_p.h 1273 -
qrbtree_p.h 13943 -
qregion.cpp ! \class QRegion \brief The QRegion class specifies a clip region for a painter. \inmodule QtGui \ingroup painting \ingroup shared QRegion is used with QPainter::setClipRegion() to limit the paint area to what needs to be painted. There is also a QWidget::repaint() function that takes a QRegion parameter. QRegion is the best tool for minimizing the amount of screen area to be updated by a repaint. This class is not suitable for constructing shapes for rendering, especially as outlines. Use QPainterPath to create paths and shapes for use with QPainter. QRegion is an \l{implicitly shared} class. \section1 Creating and Using Regions A region can be created from a rectangle, an ellipse, a polygon or a bitmap. Complex regions may be created by combining simple regions using united(), intersected(), subtracted(), or xored() (exclusive or). You can move a region using translate(). You can test whether a region isEmpty() or if it contains() a QPoint or QRect. The bounding rectangle can be found with boundingRect(). Iteration over the region (with begin(), end(), or ranged-for loops) gives a decomposition of the region into rectangles. Example of using complex regions: \snippet code/src_gui_painting_qregion.cpp 0 \sa QPainter::setClipRegion(), QPainter::setClipRect(), QPainterPath 133050 -
qregion.h QRegion stream functions *************************************************************************** 5195 -
qrgb.h 2643 -
qrgba64.h 7326 -
qrgba64.qdoc 5462 -
qrgba64_p.h 19397 -
qrgbafloat.h 4270 -
qrgbafloat.qdoc 5379 -
qrhibackingstore.cpp 2846 -
qrhibackingstore_p.h 886 -
qstroker.cpp QLineF::angleTo gives us the angle between two lines with respecting the direction. Here we want to identify the line's angle direction on the unit circle. 44448 -
qstroker_p.h 11209 -
qt_attribution.json 2256 -
qt_mips_asm_dsp_p.h LEAF_MIPS32R2 - declare leaf_mips32r2 routine 12504 -
qtextureglyphcache.cpp 14017 -
qtextureglyphcache_p.h 4694 -
qtransform.cpp 65624 -
qtransform.h 10492 -
qtriangulatingstroker.cpp 20788 -
qtriangulatingstroker_p.h 4039 -
qtriangulator.cpp 88059 -
qtriangulator_p.h 3347 -
qvectorpath_p.h 6471 -
REUSE.toml 267 -
shaders -
webgradients.cpp 39581 -