![]() |
Qt 6.x
The Qt SDK
|
#include <string.h>
#include <setjmp.h>
#include <limits.h>
#include <stddef.h>
#include <private/qrasterdefs_p.h>
#include <private/qgrayraster_p.h>
#include <qcompilerdetection.h>
#include <stdlib.h>
#include <stdio.h>
#include <assert.h>
Go to the source code of this file.
Classes | |
struct | TCell_ |
struct | TWorker_ |
struct | TRaster_ |
struct | TBand_ |
Macros | |
#define | QT_FT_COMPONENT trace_smooth |
#define | QT_FT_ERR_XCAT(x, y) x ## y |
#define | QT_FT_ERR_CAT(x, y) QT_FT_ERR_XCAT( x, y ) |
#define | QT_FT_BEGIN_STMNT do { |
#define | QT_FT_END_STMNT } while ( 0 ) |
#define | QT_FT_MAX(a, b) ( (a) > (b) ? (a) : (b) ) |
#define | QT_FT_ABS(a) ( (a) < 0 ? -(a) : (a) ) |
#define | QT_FT_HYPOT(x, y) |
#define | ErrRaster_MemoryOverflow -4 |
#define | QT_FT_UINT_MAX UINT_MAX |
#define | qt_ft_memset memset |
#define | qt_ft_setjmp setjmp |
#define | qt_ft_longjmp longjmp |
#define | qt_ft_jmp_buf jmp_buf |
#define | ErrRaster_Invalid_Mode -2 |
#define | ErrRaster_Invalid_Outline -1 |
#define | ErrRaster_Invalid_Argument -3 |
#define | ErrRaster_Memory_Overflow -4 |
#define | ErrRaster_OutOfMemory -6 |
#define | QT_FT_BEGIN_HEADER |
#define | QT_FT_END_HEADER |
#define | QT_FT_UNUSED(x) (void) x |
#define | QT_FT_TRACE5(x) do { } while ( 0 ) /* nothing */ |
#define | QT_FT_TRACE7(x) do { } while ( 0 ) /* nothing */ |
#define | QT_FT_ERROR(x) do { } while ( 0 ) /* nothing */ |
#define | QT_FT_THROW(e) QT_FT_ERR_CAT( ErrRaster_, e ) |
#define | QT_FT_MEM_SET(d, s, c) qt_ft_memset( d, s, c ) |
#define | QT_FT_MEM_ZERO(dest, count) QT_FT_MEM_SET( dest, 0, count ) |
#define | RAS_ARG PWorker worker |
#define | RAS_ARG_ PWorker worker, |
#define | RAS_VAR worker |
#define | RAS_VAR_ worker, |
#define | ras (*worker) |
#define | PIXEL_BITS 8 |
#define | ONE_PIXEL ( 1L << PIXEL_BITS ) |
#define | TRUNC(x) (TCoord)( (x) >> PIXEL_BITS ) |
#define | FRACT(x) (TCoord)( (x) & ( ONE_PIXEL - 1 ) ) |
#define | UPSCALE(x) ( (x) * ( ONE_PIXEL >> 6 ) ) |
#define | DOWNSCALE(x) ( (x) >> ( PIXEL_BITS - 6 ) ) |
#define | QT_FT_DIV_MOD(type, dividend, divisor, quotient, remainder) |
#define | QT_FT_UDIVPREP(b) long b ## _r = (long)( ULONG_MAX >> PIXEL_BITS ) / ( b ) |
#define | QT_FT_UDIV(a, b) |
#define | QT_FT_MAX_GRAY_SPANS 256 |
#define | SCALED(x) (x) |
Typedefs | |
typedef ptrdiff_t | QT_FT_PtrDist |
typedef long | TCoord |
typedef long | TPos |
typedef long | TArea |
typedef struct TCell_ * | PCell |
typedef struct TCell_ | TCell |
typedef struct TWorker_ | TWorker |
typedef struct TWorker_ * | PWorker |
typedef struct TRaster_ | TRaster |
typedef struct TRaster_ * | PRaster |
typedef struct TBand_ | TBand |
Variables | |
const QT_FT_Raster_Funcs | qt_ft_grays_raster |
#define DOWNSCALE | ( | x | ) | ( (x) >> ( PIXEL_BITS - 6 ) ) |
Definition at line 189 of file qgrayraster.c.
#define ErrRaster_Invalid_Argument -3 |
Definition at line 140 of file qgrayraster.c.
#define ErrRaster_Invalid_Mode -2 |
Definition at line 138 of file qgrayraster.c.
#define ErrRaster_Invalid_Outline -1 |
Definition at line 139 of file qgrayraster.c.
#define ErrRaster_Memory_Overflow -4 |
Definition at line 141 of file qgrayraster.c.
#define ErrRaster_MemoryOverflow -4 |
Definition at line 118 of file qgrayraster.c.
#define ErrRaster_OutOfMemory -6 |
Definition at line 142 of file qgrayraster.c.
Definition at line 185 of file qgrayraster.c.
#define ONE_PIXEL ( 1L << PIXEL_BITS ) |
Definition at line 183 of file qgrayraster.c.
#define PIXEL_BITS 8 |
Definition at line 181 of file qgrayraster.c.
#define QT_FT_BEGIN_HEADER |
Definition at line 144 of file qgrayraster.c.
#define QT_FT_BEGIN_STMNT do { |
Definition at line 100 of file qgrayraster.c.
#define QT_FT_COMPONENT trace_smooth |
Definition at line 93 of file qgrayraster.c.
Definition at line 198 of file qgrayraster.c.
#define QT_FT_END_HEADER |
Definition at line 145 of file qgrayraster.c.
#define QT_FT_END_STMNT } while ( 0 ) |
Definition at line 101 of file qgrayraster.c.
#define QT_FT_ERR_CAT | ( | x, | |
y | |||
) | QT_FT_ERR_XCAT( x, y ) |
Definition at line 98 of file qgrayraster.c.
Definition at line 160 of file qgrayraster.c.
Definition at line 112 of file qgrayraster.c.
#define qt_ft_jmp_buf jmp_buf |
Definition at line 133 of file qgrayraster.c.
#define qt_ft_longjmp longjmp |
Definition at line 132 of file qgrayraster.c.
#define QT_FT_MAX_GRAY_SPANS 256 |
Definition at line 232 of file qgrayraster.c.
Definition at line 164 of file qgrayraster.c.
#define QT_FT_MEM_ZERO | ( | dest, | |
count | |||
) | QT_FT_MEM_SET( dest, 0, count ) |
Definition at line 168 of file qgrayraster.c.
#define qt_ft_memset memset |
Definition at line 129 of file qgrayraster.c.
#define qt_ft_setjmp setjmp |
Definition at line 131 of file qgrayraster.c.
#define QT_FT_THROW | ( | e | ) | QT_FT_ERR_CAT( ErrRaster_, e ) |
Definition at line 161 of file qgrayraster.c.
Definition at line 158 of file qgrayraster.c.
Definition at line 159 of file qgrayraster.c.
Definition at line 213 of file qgrayraster.c.
#define QT_FT_UDIVPREP | ( | b | ) | long b ## _r = (long)( ULONG_MAX >> PIXEL_BITS ) / ( b ) |
Definition at line 211 of file qgrayraster.c.
#define QT_FT_UINT_MAX UINT_MAX |
Definition at line 127 of file qgrayraster.c.
Definition at line 156 of file qgrayraster.c.
#define ras (*worker) |
Definition at line 178 of file qgrayraster.c.
#define RAS_ARG PWorker worker |
Definition at line 172 of file qgrayraster.c.
#define RAS_ARG_ PWorker worker, |
Definition at line 173 of file qgrayraster.c.
#define RAS_VAR worker |
Definition at line 175 of file qgrayraster.c.
#define RAS_VAR_ worker, |
Definition at line 176 of file qgrayraster.c.
#define TRUNC | ( | x | ) | (TCoord)( (x) >> PIXEL_BITS ) |
Definition at line 184 of file qgrayraster.c.
Definition at line 188 of file qgrayraster.c.
Definition at line 235 of file qgrayraster.c.
typedef ptrdiff_t QT_FT_PtrDist |
Definition at line 136 of file qgrayraster.c.
typedef long TArea |
Definition at line 229 of file qgrayraster.c.
typedef long TCoord |
Definition at line 227 of file qgrayraster.c.
typedef long TPos |
Definition at line 228 of file qgrayraster.c.
Definition at line 333 of file qgrayraster.c.
References QT_FT_Outline_::n_points, QT_FT_Outline_::points, ras, QT_FT_Vector_::x, and QT_FT_Vector_::y.
Referenced by gray_convert_glyph().
|
static |
Definition at line 1645 of file qgrayraster.c.
References error, ErrRaster_Memory_Overflow, ErrRaster_OutOfMemory, gray_compute_cbox(), gray_convert_glyph_inner(), gray_sweep(), TBand_::max, TBand_::min, ras, RAS_VAR, RAS_VAR_, QT_FT_BBox_::xMax, QT_FT_BBox_::xMin, QT_FT_BBox_::yMax, and QT_FT_BBox_::yMin.
Referenced by gray_raster_render().
|
static |
Definition at line 1625 of file qgrayraster.c.
References error, ErrRaster_Memory_Overflow, gray_record_cell(), QT_FT_Outline_Decompose(), qt_ft_setjmp, ras, and RAS_VAR.
Referenced by gray_convert_glyph().
Definition at line 377 of file qgrayraster.c.
References TCell_::area, TCell_::cover, TCell_::next, qt_ft_longjmp, ras, and TCell_::x.
Referenced by gray_record_cell().
Definition at line 1182 of file qgrayraster.c.
References area(), PIXEL_BITS, QT_FT_MAX_GRAY_SPANS, QT_FT_OUTLINE_EVEN_ODD_FILL, and ras.
Referenced by gray_sweep().
Definition at line 312 of file qgrayraster.c.
References ras.
Referenced by gray_raster_render().
|
static |
Definition at line 1115 of file qgrayraster.c.
References gray_record_cell(), gray_start_cell(), ras, TRUNC, UPSCALE, QT_FT_Vector_::x, and QT_FT_Vector_::y.
Referenced by QT_FT_Outline_Decompose().
|
static |
Definition at line 1913 of file qgrayraster.c.
|
static |
Definition at line 1899 of file qgrayraster.c.
References ErrRaster_Memory_Overflow, and QT_FT_MEM_ZERO.
|
static |
Definition at line 1794 of file qgrayraster.c.
References assert, TRaster_::band_size, TRaster_::buffer, QT_FT_Bitmap_::buffer, TRaster_::buffer_allocated_size, TRaster_::buffer_size, QT_FT_Outline_::contours, ErrRaster_Invalid_Argument, ErrRaster_Invalid_Mode, ErrRaster_Invalid_Outline, ErrRaster_OutOfMemory, gray_convert_glyph(), gray_init_cells(), gray_render_span(), MINIMUM_POOL_SIZE, QT_FT_Outline_::n_contours, QT_FT_Outline_::n_points, QT_FT_Outline_::points, QT_FT_RASTER_FLAG_AA, QT_FT_RASTER_FLAG_CLIP, QT_FT_RASTER_FLAG_DIRECT, QT_FT_Raster_Span_Func, ras, QT_FT_Bitmap_::rows, TWorker_::skip_spans, QT_FT_Bitmap_::width, and TRaster_::worker.
|
static |
Definition at line 1920 of file qgrayraster.c.
References TRaster_::band_size, TRaster_::buffer, TRaster_::buffer_allocated_size, TRaster_::buffer_size, MINIMUM_POOL_SIZE, and TRaster_::worker.
Definition at line 416 of file qgrayraster.c.
References TCell_::area, TCell_::cover, gray_find_cell(), ras, and RAS_VAR.
Referenced by gray_convert_glyph_inner(), gray_move_to(), and gray_set_cell().
|
static |
Definition at line 926 of file qgrayraster.c.
References draw(), gray_render_line(), gray_split_conic(), ONE_PIXEL, QT_FT_ABS, ras, RAS_VAR_, split(), TRUNC, UPSCALE, QT_FT_Vector_::x, and QT_FT_Vector_::y.
Referenced by QT_FT_Outline_Decompose().
|
static |
Definition at line 1019 of file qgrayraster.c.
References gray_render_line(), gray_split_cubic(), ONE_PIXEL, QT_FT_ABS, QT_FT_HYPOT, ras, RAS_VAR_, Split, TRUNC, UPSCALE, QT_FT_Vector_::x, and QT_FT_Vector_::y.
Referenced by QT_FT_Outline_Decompose().
Definition at line 602 of file qgrayraster.c.
References area(), End, FRACT, gray_render_scanline(), gray_set_cell(), ONE_PIXEL, QT_FT_DIV_MOD, ras, RAS_VAR_, and TRUNC.
Referenced by gray_render_conic(), gray_render_cubic(), and QT_FT_Outline_Decompose().
|
static |
Definition at line 507 of file qgrayraster.c.
References End, FRACT, gray_set_cell(), ONE_PIXEL, QT_FT_DIV_MOD, ras, RAS_VAR_, and TRUNC.
Referenced by gray_render_line().
|
static |
Definition at line 1137 of file qgrayraster.c.
References QT_FT_Span_::coverage, QT_FT_Span_::len, map, Q_FALLTHROUGH, QT_FT_MEM_SET, TWorker_::target, QT_FT_Span_::x, and QT_FT_Span_::y.
Referenced by gray_raster_render().
Definition at line 434 of file qgrayraster.c.
References gray_record_cell(), ras, and RAS_VAR.
Referenced by gray_render_line(), gray_render_scanline(), and gray_start_cell().
|
static |
Definition at line 906 of file qgrayraster.c.
References base.
Referenced by gray_render_conic().
|
static |
Definition at line 991 of file qgrayraster.c.
Referenced by gray_render_cubic().
Definition at line 481 of file qgrayraster.c.
References gray_set_cell(), ras, and RAS_VAR_.
Referenced by gray_move_to().
|
static |
Definition at line 1320 of file qgrayraster.c.
References area(), TCell_::area, TCell_::cover, gray_hline(), TCell_::next, ONE_PIXEL, QT_FT_TRACE7, QT_FT_UNUSED, ras, RAS_VAR_, and TCell_::x.
Referenced by gray_convert_glyph().
int q_gray_rendered_spans | ( | TRaster * | raster | ) |
Definition at line 300 of file qgrayraster.c.
References TWorker_::skip_spans, and TRaster_::worker.
Referenced by QRasterPaintEnginePrivate::rasterize().
|
static |
Definition at line 1395 of file qgrayraster.c.
References Close(), QT_FT_Outline_::contours, error, ErrRaster_Invalid_Outline, gray_move_to(), gray_render_conic(), gray_render_cubic(), gray_render_line(), QT_FT_Outline_::n_contours, QT_FT_Outline_::points, QT_FT_CURVE_TAG, QT_FT_CURVE_TAG_CONIC, QT_FT_CURVE_TAG_CUBIC, QT_FT_CURVE_TAG_ON, QT_FT_TRACE5, SCALED, tag, QT_FT_Outline_::tags, UPSCALE, QT_FT_Vector_::x, and QT_FT_Vector_::y.
Referenced by gray_convert_glyph_inner().
const QT_FT_Raster_Funcs qt_ft_grays_raster |
Definition at line 1960 of file qgrayraster.c.
Referenced by QRasterPaintEngine::~QRasterPaintEngine(), and QRasterPaintEnginePrivate::rasterize().