Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qdistancefield.cpp File Reference

(f97fded63a034cbdaf99e7ddab7419fba00efe56)

#include "qdistancefield_p.h"
#include <qmath.h>
#include <QtGui/qimagereader.h>
#include <private/qdatabuffer_p.h>
#include <private/qpathsimplifier_p.h>
Include dependency graph for qdistancefield.cpp:

Go to the source code of this file.

Functions

 Q_STATIC_LOGGING_CATEGORY (lcDistanceField, "qt.distanceField")
template<FillClip clip, FillHDir dir>
void fillLine (qint32 *, int, int, int, qint32, qint32)
template<>
void fillLine< Clip, LeftToRight > (qint32 *line, int widthwidth, int lx, int rx, qint32 d, qint32 dd)
template<>
void fillLine< Clip, RightToLeft > (qint32 *line, int widthwidth, int lx, int rx, qint32 d, qint32 dd)
template<>
void fillLine< NoClip, LeftToRight > (qint32 *line, int, int lx, int rx, qint32 d, qint32 dd)
template<>
void fillLine< NoClip, RightToLeft > (qint32 *line, int, int lx, int rx, qint32 d, qint32 dd)
template<FillClip clip, FillVDir vDir, FillHDir hDir>
void fillLines (qint32 *bitsbits, int widthwidth, int heightheight, int upperY, int lowerY, int &lx, int ldx, int &rx, int rdx, qint32 &d, qint32 ddy, qint32 ddx)
template<FillClip clip>
void drawTriangle (qint32 *bitsbits, int widthwidth, int heightheight, const QPoint *center, const QPoint *v1v1, const QPoint *v2v2, qint32 valuevalue)
template<FillClip clip>
void drawRectangle (qint32 *bitsbits, int widthwidth, int heightheight, const QPoint *int1, const QPoint *center1, const QPoint *ext1, const QPoint *int2, const QPoint *center2, const QPoint *ext2, qint32 extValue)
static void drawPolygons (qint32 *bitsbits, int widthwidth, int heightheight, const QPoint *vertices, const quint32 *indicesindices, int indexCount, qint32 valuevalue)
static void makeDistanceField (QA8Image *imageimage, const QPainterPath &pathpath, int dfScale, int offs)
static bool imageHasNarrowOutlines (const QImage &im)
static void initialDistanceFieldFactor ()
bool qt_fontHasNarrowOutlines (QFontEngine *fontEngine)
bool qt_fontHasNarrowOutlines (const QRawFont &ff)
int QT_DISTANCEFIELD_BASEFONTSIZE (bool narrowOutlineFont)
int QT_DISTANCEFIELD_SCALE (bool narrowOutlineFont)
int QT_DISTANCEFIELD_RADIUS (bool narrowOutlineFont)
int QT_DISTANCEFIELD_HIGHGLYPHCOUNT ()
static bool isWithinAllocationLimit (QSize sizesize)
static QSize distanceFieldSize (const QPainterPath &pathpath, bool doubleResolution)
static QPainterPath glyphPath (const QRawFont &font, glyph_t glyph, bool doubleResolution)
static QPainterPath glyphPath (QFontEngine *fontEngine, glyph_t glyph)
template<>
void fillLine< Clip, LeftToRight > (qint32 *line, int widthwidth, int lx, int rx, qint32 d, qint32 dd)
template<>
void fillLine< Clip, RightToLeft > (qint32 *line, int widthwidth, int lx, int rx, qint32 d, qint32 dd)
template<>
void fillLine< NoClip, LeftToRight > (qint32 *line, int, int lx, int rx, qint32 d, qint32 dd)
template<>
void fillLine< NoClip, RightToLeft > (qint32 *line, int, int lx, int rx, qint32 d, qint32 dd)

Variables

static int QT_DISTANCEFIELD_DEFAULT_BASEFONTSIZE = 54
static int QT_DISTANCEFIELD_DEFAULT_SCALE = 16
static int QT_DISTANCEFIELD_DEFAULT_RADIUS = 80
static int QT_DISTANCEFIELD_DEFAULT_HIGHGLYPHCOUNT = 2000

Function Documentation

◆ distanceFieldSize()

QSize distanceFieldSize ( const QPainterPath & path,
bool doubleResolution )
static

Definition at line 833 of file qdistancefield.cpp.

References QT_DISTANCEFIELD_RADIUS(), and QT_DISTANCEFIELD_SCALE().

Here is the call graph for this function:

◆ drawPolygons()

void drawPolygons ( qint32 * bits,
int width,
int height,
const QPoint * vertices,
const quint32 * indices,
int indexCount,
qint32 value )
static

Definition at line 401 of file qdistancefield.cpp.

◆ drawRectangle()

template<FillClip clip>
void drawRectangle ( qint32 * bits,
int width,
int height,
const QPoint * int1,
const QPoint * center1,
const QPoint * ext1,
const QPoint * int2,
const QPoint * center2,
const QPoint * ext2,
qint32 extValue )

Definition at line 257 of file qdistancefield.cpp.

◆ drawTriangle()

template<FillClip clip>
void drawTriangle ( qint32 * bits,
int width,
int height,
const QPoint * center,
const QPoint * v1,
const QPoint * v2,
qint32 value )

Definition at line 139 of file qdistancefield.cpp.

◆ fillLine()

template<FillClip clip, FillHDir dir>
void fillLine ( qint32 * ,
int ,
int ,
int ,
qint32 ,
qint32  )
inline

Definition at line 38 of file qdistancefield.cpp.

◆ fillLine< Clip, LeftToRight >() [1/2]

template<>
void fillLine< Clip, LeftToRight > ( qint32 * line,
int width,
int lx,
int rx,
qint32 d,
qint32 dd )
inline

Definition at line 43 of file qdistancefield.cpp.

◆ fillLine< Clip, LeftToRight >() [2/2]

template<>
void fillLine< Clip, LeftToRight > ( qint32 * line,
int width,
int lx,
int rx,
qint32 d,
qint32 dd )
inline

Definition at line 43 of file qdistancefield.cpp.

◆ fillLine< Clip, RightToLeft >() [1/2]

template<>
void fillLine< Clip, RightToLeft > ( qint32 * line,
int width,
int lx,
int rx,
qint32 d,
qint32 dd )
inline

Definition at line 60 of file qdistancefield.cpp.

Referenced by fillLines().

Here is the caller graph for this function:

◆ fillLine< Clip, RightToLeft >() [2/2]

template<>
void fillLine< Clip, RightToLeft > ( qint32 * line,
int width,
int lx,
int rx,
qint32 d,
qint32 dd )
inline

Definition at line 60 of file qdistancefield.cpp.

◆ fillLine< NoClip, LeftToRight >() [1/2]

template<>
void fillLine< NoClip, LeftToRight > ( qint32 * line,
int ,
int lx,
int rx,
qint32 d,
qint32 dd )
inline

Definition at line 77 of file qdistancefield.cpp.

◆ fillLine< NoClip, LeftToRight >() [2/2]

template<>
void fillLine< NoClip, LeftToRight > ( qint32 * line,
int ,
int lx,
int rx,
qint32 d,
qint32 dd )
inline

Definition at line 77 of file qdistancefield.cpp.

◆ fillLine< NoClip, RightToLeft >() [1/2]

template<>
void fillLine< NoClip, RightToLeft > ( qint32 * line,
int ,
int lx,
int rx,
qint32 d,
qint32 dd )
inline

Definition at line 94 of file qdistancefield.cpp.

◆ fillLine< NoClip, RightToLeft >() [2/2]

template<>
void fillLine< NoClip, RightToLeft > ( qint32 * line,
int ,
int lx,
int rx,
qint32 d,
qint32 dd )
inline

Definition at line 94 of file qdistancefield.cpp.

◆ fillLines()

template<FillClip clip, FillVDir vDir, FillHDir hDir>
void fillLines ( qint32 * bits,
int width,
int height,
int upperY,
int lowerY,
int & lx,
int ldx,
int & rx,
int rdx,
qint32 & d,
qint32 ddy,
qint32 ddx )
inline

Definition at line 111 of file qdistancefield.cpp.

References fillLine< Clip, RightToLeft >().

Here is the call graph for this function:

◆ glyphPath() [1/2]

QPainterPath glyphPath ( const QRawFont & font,
glyph_t glyph,
bool doubleResolution )
static

Definition at line 842 of file qdistancefield.cpp.

◆ glyphPath() [2/2]

QPainterPath glyphPath ( QFontEngine * fontEngine,
glyph_t glyph )
static

Definition at line 849 of file qdistancefield.cpp.

◆ imageHasNarrowOutlines()

bool imageHasNarrowOutlines ( const QImage & im)
static

Definition at line 671 of file qdistancefield.cpp.

◆ initialDistanceFieldFactor()

void initialDistanceFieldFactor ( )
static

Definition at line 719 of file qdistancefield.cpp.

References QT_DISTANCEFIELD_DEFAULT_BASEFONTSIZE, QT_DISTANCEFIELD_DEFAULT_HIGHGLYPHCOUNT, QT_DISTANCEFIELD_DEFAULT_RADIUS, and QT_DISTANCEFIELD_DEFAULT_SCALE.

Referenced by QT_DISTANCEFIELD_BASEFONTSIZE(), QT_DISTANCEFIELD_HIGHGLYPHCOUNT(), QT_DISTANCEFIELD_RADIUS(), QT_DISTANCEFIELD_SCALE(), qt_fontHasNarrowOutlines(), and qt_fontHasNarrowOutlines().

Here is the caller graph for this function:

◆ isWithinAllocationLimit()

bool isWithinAllocationLimit ( QSize size)
static

Definition at line 816 of file qdistancefield.cpp.

◆ makeDistanceField()

void makeDistanceField ( QA8Image * image,
const QPainterPath & path,
int dfScale,
int offs )
static

Definition at line 457 of file qdistancefield.cpp.

◆ Q_STATIC_LOGGING_CATEGORY()

Q_STATIC_LOGGING_CATEGORY ( lcDistanceField ,
"qt.distanceField"  )

◆ QT_DISTANCEFIELD_BASEFONTSIZE()

int QT_DISTANCEFIELD_BASEFONTSIZE ( bool narrowOutlineFont)

Definition at line 780 of file qdistancefield.cpp.

References initialDistanceFieldFactor(), and QT_DISTANCEFIELD_DEFAULT_BASEFONTSIZE.

Here is the call graph for this function:

◆ QT_DISTANCEFIELD_HIGHGLYPHCOUNT()

int QT_DISTANCEFIELD_HIGHGLYPHCOUNT ( )

Definition at line 810 of file qdistancefield.cpp.

References initialDistanceFieldFactor(), and QT_DISTANCEFIELD_DEFAULT_HIGHGLYPHCOUNT.

Here is the call graph for this function:

◆ QT_DISTANCEFIELD_RADIUS()

int QT_DISTANCEFIELD_RADIUS ( bool narrowOutlineFont)

Definition at line 800 of file qdistancefield.cpp.

References initialDistanceFieldFactor(), and QT_DISTANCEFIELD_DEFAULT_RADIUS.

Referenced by distanceFieldSize().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ QT_DISTANCEFIELD_SCALE()

int QT_DISTANCEFIELD_SCALE ( bool narrowOutlineFont)

Definition at line 790 of file qdistancefield.cpp.

References initialDistanceFieldFactor(), and QT_DISTANCEFIELD_DEFAULT_SCALE.

Referenced by distanceFieldSize().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ qt_fontHasNarrowOutlines() [1/2]

bool qt_fontHasNarrowOutlines ( const QRawFont & f)

Definition at line 764 of file qdistancefield.cpp.

References initialDistanceFieldFactor().

Here is the call graph for this function:

◆ qt_fontHasNarrowOutlines() [2/2]

bool qt_fontHasNarrowOutlines ( QFontEngine * fontEngine)

Definition at line 745 of file qdistancefield.cpp.

References initialDistanceFieldFactor(), and QT_DISTANCEFIELD_DEFAULT_BASEFONTSIZE.

Here is the call graph for this function:

Variable Documentation

◆ QT_DISTANCEFIELD_DEFAULT_BASEFONTSIZE

int QT_DISTANCEFIELD_DEFAULT_BASEFONTSIZE = 54
static

◆ QT_DISTANCEFIELD_DEFAULT_HIGHGLYPHCOUNT

int QT_DISTANCEFIELD_DEFAULT_HIGHGLYPHCOUNT = 2000
static

◆ QT_DISTANCEFIELD_DEFAULT_RADIUS

int QT_DISTANCEFIELD_DEFAULT_RADIUS = 80
static

Definition at line 716 of file qdistancefield.cpp.

Referenced by initialDistanceFieldFactor(), and QT_DISTANCEFIELD_RADIUS().

◆ QT_DISTANCEFIELD_DEFAULT_SCALE

int QT_DISTANCEFIELD_DEFAULT_SCALE = 16
static

Definition at line 715 of file qdistancefield.cpp.

Referenced by initialDistanceFieldFactor(), and QT_DISTANCEFIELD_SCALE().