QtBase  v6.3.1
Classes | Macros | Typedefs | Enumerations
ftraster.c File Reference
#include "ftraster.h"
#include <freetype/internal/ftcalc.h>
#include <freetype/ftoutln.h>
#include <freetype/internal/ftobjs.h>
#include <freetype/internal/ftdebug.h>
#include "rasterrs.h"
Include dependency graph for ftraster.c:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

union  Alignment_
 
struct  TPoint_
 
struct  TProfile_
 
struct  black_TBand_
 
struct  black_TWorker_
 
struct  black_TRaster_
 

Macros

#define FT_COMPONENT   raster
 
#define Raster_Err_None   FT_Err_Ok
 
#define Raster_Err_Not_Ini   Raster_Err_Raster_Uninitialized
 
#define Raster_Err_Overflow   Raster_Err_Raster_Overflow
 
#define Raster_Err_Neg_Height   Raster_Err_Raster_Negative_Height
 
#define Raster_Err_Invalid   Raster_Err_Invalid_Outline
 
#define Raster_Err_Unsupported   Raster_Err_Cannot_Render_Glyph
 
#define FT_MEM_SET(d, s, c)   ft_memset( d, s, c )
 
#define FT_MEM_ZERO(dest, count)   FT_MEM_SET( dest, 0, count )
 
#define FT_ZERO(p)   FT_MEM_ZERO( p, sizeof ( *(p) ) )
 
#define FMulDiv(a, b, c)   ( (a) * (b) / (c) )
 
#define SMulDiv   FT_MulDiv
 
#define SMulDiv_No_Round   FT_MulDiv_No_Round
 
#define TRUE   1
 
#define FALSE   0
 
#define NULL   (void*)0
 
#define SUCCESS   0
 
#define FAILURE   1
 
#define MaxBezier   32 /* The maximum number of stacked Bezier curves. */
 
#define Pixel_Bits   6 /* fractional bits of *input* coordinates */
 
#define Flow_Up   0x08U
 
#define Overshoot_Top   0x10U
 
#define Overshoot_Bottom   0x20U
 
#define AlignProfileSize    ( ( sizeof ( TProfile ) + sizeof ( Alignment ) - 1 ) / sizeof ( Long ) )
 
#define RAS_ARGS   black_PWorker worker,
 
#define RAS_ARG   black_PWorker worker
 
#define RAS_VARS   worker,
 
#define RAS_VAR   worker
 
#define FT_UNUSED_RASTER   FT_UNUSED( worker )
 
#define FLOOR(x)   ( (x) & -ras.precision )
 
#define CEILING(x)   ( ( (x) + ras.precision - 1 ) & -ras.precision )
 
#define TRUNC(x)   ( (Long)(x) >> ras.precision_bits )
 
#define FRAC(x)   ( (x) & ( ras.precision - 1 ) )
 
#define SCALED(x)   ( (x) * ras.precision_scale - ras.precision_half )
 
#define IS_BOTTOM_OVERSHOOT(x)    (Bool)( CEILING( x ) - x >= ras.precision_half )
 
#define IS_TOP_OVERSHOOT(x)    (Bool)( x - FLOOR( x ) >= ras.precision_half )
 
#define SMART(p, q)   FLOOR( ( (p) + (q) + ras.precision * 63 / 64 ) >> 1 )
 
#define FT_MAX_BLACK_POOL   ( 2048 / sizeof ( Long ) )
 
#define ras   (*worker)
 
#define SWAP_(x, y)
 

Typedefs

typedef int Int
 
typedef unsigned int UInt
 
typedef short Short
 
typedef unsigned short UShort
 
typedef unsigned short * PUShort
 
typedef long Long
 
typedef long * PLong
 
typedef unsigned long ULong
 
typedef unsigned char Byte
 
typedef unsigned char * PByte
 
typedef char Bool
 
typedef union Alignment_ Alignment
 
typedef union Alignment_PAlignment
 
typedef struct TPoint_ TPoint
 
typedef enum TStates_ TStates
 
typedef struct TProfile_ TProfile
 
typedef TProfilePProfile
 
typedef PProfile TProfileList
 
typedef PProfilePProfileList
 
typedef struct black_TBand_ black_TBand
 
typedef struct black_TWorker_ black_TWorker
 
typedef struct black_TWorker_black_PWorker
 
typedef void Function_Sweep_Init(RAS_ARGS Short *min, Short *max)
 
typedef void Function_Sweep_Span(RAS_ARGS Short y, FT_F26Dot6 x1, FT_F26Dot6 x2, PProfile left, PProfile right)
 
typedef void Function_Sweep_Step(RAS_ARG)
 
typedef struct black_TRaster_ black_TRaster
 
typedef struct black_TRaster_black_PRaster
 
typedef void(* TSplitter) (TPoint *base)
 

Enumerations

enum  TStates_ { Unknown_State , Ascending_State , Descending_State , Flat_State }
 

Macro Definition Documentation

◆ AlignProfileSize

#define AlignProfileSize    ( ( sizeof ( TProfile ) + sizeof ( Alignment ) - 1 ) / sizeof ( Long ) )

Definition at line 388 of file ftraster.c.

◆ CEILING

#define CEILING (   x)    ( ( (x) + ras.precision - 1 ) & -ras.precision )

Definition at line 450 of file ftraster.c.

◆ FAILURE

#define FAILURE   1

Definition at line 288 of file ftraster.c.

◆ FALSE

#define FALSE   0

Definition at line 276 of file ftraster.c.

◆ FLOOR

#define FLOOR (   x)    ( (x) & -ras.precision )

Definition at line 449 of file ftraster.c.

◆ Flow_Up

#define Flow_Up   0x08U

Definition at line 336 of file ftraster.c.

◆ FMulDiv

#define FMulDiv (   a,
  b,
  c 
)    ( (a) * (b) / (c) )

Definition at line 259 of file ftraster.c.

◆ FRAC

#define FRAC (   x)    ( (x) & ( ras.precision - 1 ) )

Definition at line 452 of file ftraster.c.

◆ FT_COMPONENT

#define FT_COMPONENT   raster

CONFIGURATION MACROS
OTHER MACROS (do not change)

Definition at line 171 of file ftraster.c.

◆ FT_MAX_BLACK_POOL

#define FT_MAX_BLACK_POOL   ( 2048 / sizeof ( Long ) )

Definition at line 470 of file ftraster.c.

◆ FT_MEM_SET

#define FT_MEM_SET (   d,
  s,
  c 
)    ft_memset( d, s, c )

Definition at line 245 of file ftraster.c.

◆ FT_MEM_ZERO

#define FT_MEM_ZERO (   dest,
  count 
)    FT_MEM_SET( dest, 0, count )

Definition at line 249 of file ftraster.c.

◆ FT_UNUSED_RASTER

#define FT_UNUSED_RASTER   FT_UNUSED( worker )

Definition at line 418 of file ftraster.c.

◆ FT_ZERO

#define FT_ZERO (   p)    FT_MEM_ZERO( p, sizeof ( *(p) ) )

Definition at line 253 of file ftraster.c.

◆ IS_BOTTOM_OVERSHOOT

#define IS_BOTTOM_OVERSHOOT (   x)     (Bool)( CEILING( x ) - x >= ras.precision_half )

Definition at line 457 of file ftraster.c.

◆ IS_TOP_OVERSHOOT

#define IS_TOP_OVERSHOOT (   x)     (Bool)( x - FLOOR( x ) >= ras.precision_half )

Definition at line 459 of file ftraster.c.

◆ MaxBezier

#define MaxBezier   32 /* The maximum number of stacked Bezier curves. */

Definition at line 292 of file ftraster.c.

◆ NULL

#define NULL   (void*)0

Definition at line 280 of file ftraster.c.

◆ Overshoot_Bottom

#define Overshoot_Bottom   0x20U

Definition at line 338 of file ftraster.c.

◆ Overshoot_Top

#define Overshoot_Top   0x10U

Definition at line 337 of file ftraster.c.

◆ Pixel_Bits

#define Pixel_Bits   6 /* fractional bits of *input* coordinates */

Definition at line 296 of file ftraster.c.

◆ ras

#define ras   (*worker)

Definition at line 557 of file ftraster.c.

◆ RAS_ARG

#define RAS_ARG   black_PWorker worker

Definition at line 413 of file ftraster.c.

◆ RAS_ARGS

#define RAS_ARGS   black_PWorker worker,

Definition at line 412 of file ftraster.c.

◆ RAS_VAR

#define RAS_VAR   worker

Definition at line 416 of file ftraster.c.

◆ RAS_VARS

#define RAS_VARS   worker,

Definition at line 415 of file ftraster.c.

◆ Raster_Err_Invalid

#define Raster_Err_Invalid   Raster_Err_Invalid_Outline

Definition at line 237 of file ftraster.c.

◆ Raster_Err_Neg_Height

#define Raster_Err_Neg_Height   Raster_Err_Raster_Negative_Height

Definition at line 236 of file ftraster.c.

◆ Raster_Err_None

#define Raster_Err_None   FT_Err_Ok

Definition at line 233 of file ftraster.c.

◆ Raster_Err_Not_Ini

#define Raster_Err_Not_Ini   Raster_Err_Raster_Uninitialized

Definition at line 234 of file ftraster.c.

◆ Raster_Err_Overflow

#define Raster_Err_Overflow   Raster_Err_Raster_Overflow

Definition at line 235 of file ftraster.c.

◆ Raster_Err_Unsupported

#define Raster_Err_Unsupported   Raster_Err_Cannot_Render_Glyph

Definition at line 238 of file ftraster.c.

◆ SCALED

#define SCALED (   x)    ( (x) * ras.precision_scale - ras.precision_half )

Definition at line 455 of file ftraster.c.

◆ SMART

#define SMART (   p,
  q 
)    FLOOR( ( (p) + (q) + ras.precision * 63 / 64 ) >> 1 )

Definition at line 465 of file ftraster.c.

◆ SMulDiv

#define SMulDiv   FT_MulDiv

Definition at line 264 of file ftraster.c.

◆ SMulDiv_No_Round

#define SMulDiv_No_Round   FT_MulDiv_No_Round

Definition at line 265 of file ftraster.c.

◆ SUCCESS

#define SUCCESS   0

Definition at line 284 of file ftraster.c.

◆ SWAP_

#define SWAP_ (   x,
  y 
)
Value:
do \
{ \
Long swap = x; \
\
\
x = y; \
y = swap; \
} while ( 0 )
GLint GLint GLint GLint GLint x
[0]
GLint y
this swap(other)

Definition at line 1735 of file ftraster.c.

◆ TRUE

#define TRUE   1

Definition at line 272 of file ftraster.c.

◆ TRUNC

#define TRUNC (   x)    ( (Long)(x) >> ras.precision_bits )

Definition at line 451 of file ftraster.c.

Typedef Documentation

◆ Alignment

typedef union Alignment_ Alignment

◆ black_PRaster

typedef struct black_TRaster_ * black_PRaster

◆ black_PWorker

typedef struct black_TWorker_ * black_PWorker

Definition at line 424 of file ftraster.c.

◆ black_TBand

typedef struct black_TBand_ black_TBand

◆ black_TRaster

typedef struct black_TRaster_ black_TRaster

◆ black_TWorker

typedef struct black_TWorker_ black_TWorker

Definition at line 375 of file ftraster.c.

◆ Bool

typedef char Bool

Definition at line 315 of file ftraster.c.

◆ Byte

typedef unsigned char Byte

Definition at line 314 of file ftraster.c.

◆ Function_Sweep_Init

typedef void Function_Sweep_Init(RAS_ARGS Short *min, Short *max)

Definition at line 429 of file ftraster.c.

◆ Function_Sweep_Span

typedef void Function_Sweep_Span(RAS_ARGS Short y, FT_F26Dot6 x1, FT_F26Dot6 x2, PProfile left, PProfile right)

Definition at line 433 of file ftraster.c.

◆ Function_Sweep_Step

typedef void Function_Sweep_Step(RAS_ARG)

Definition at line 440 of file ftraster.c.

◆ Int

typedef int Int

SIMPLE TYPE DECLARATIONS

Definition at line 307 of file ftraster.c.

◆ Long

typedef long Long

Definition at line 311 of file ftraster.c.

◆ PAlignment

typedef union Alignment_ * PAlignment

◆ PByte

typedef unsigned char * PByte

Definition at line 314 of file ftraster.c.

◆ PLong

typedef long * PLong

Definition at line 311 of file ftraster.c.

◆ PProfile

typedef TProfile* PProfile

Definition at line 353 of file ftraster.c.

◆ PProfileList

Definition at line 375 of file ftraster.c.

◆ PUShort

typedef unsigned short * PUShort

Definition at line 310 of file ftraster.c.

◆ Short

typedef short Short

Definition at line 309 of file ftraster.c.

◆ TPoint

typedef struct TPoint_ TPoint

◆ TProfile

typedef struct TProfile_ TProfile

Definition at line 315 of file ftraster.c.

◆ TProfileList

Definition at line 374 of file ftraster.c.

◆ TSplitter

typedef void(* TSplitter) (TPoint *base)

Definition at line 1182 of file ftraster.c.

◆ TStates

typedef enum TStates_ TStates

◆ UInt

typedef unsigned int UInt

Definition at line 308 of file ftraster.c.

◆ ULong

typedef unsigned long ULong

Definition at line 312 of file ftraster.c.

◆ UShort

typedef unsigned short UShort

Definition at line 310 of file ftraster.c.

Enumeration Type Documentation

◆ TStates_

enum TStates_
Enumerator
Unknown_State 
Ascending_State 
Descending_State 
Flat_State 

Definition at line 342 of file ftraster.c.