ref: eb2b5bb10754da426b4ea9da78fbb017f0bcb9ec
dir: /src/sdf/ftsdf.h/
#ifndef FTSDF_H_ #define FTSDF_H_ #include <ft2build.h> #include FT_CONFIG_CONFIG_H #include <freetype/ftimage.h> /* common properties and function */ #include "ftsdfcommon.h" FT_BEGIN_HEADER /************************************************************************** * * @struct: * SDF_Raster_Params * * @description: * This struct must be passed to the raster render function * @FT_Raster_RenderFunc instead of @FT_Raster_Params because the * rasterizer requires some additional information to render properly. * * @fields: * root :: * The native raster parameters structure. * * spread :: * This is an essential parameter/property required by the renderer. * `spread` defines the maximum unsigned value that is present in the * final SDF output. For the default value check file * `ftsdfcommon.h`. * * flip_sign :: * By default positive values indicate positions inside of contours, * i.e., filled by a contour. If this property is true then that * output will be the opposite of the default, i.e., negative values * indicate positions inside of contours. * * flip_y :: * Setting this parameter to true maked the output image flipped * along the y-axis. * * overlaps :: * Set this to true to generate SDF for glyphs having overlapping * contours. The overlapping support is limited to glyphs that do not * have self-intersecting contours. Also, removing overlaps require a * considerable amount of extra memory; additionally, it will not work * if generating SDF from bitmap. * * @note: * All properties are valid for both the 'sdf' and 'bsdf' renderers; the * exception is `overlaps`, which gets ignored by the 'bsdf' renderer. * */ typedef struct SDF_Raster_Params_ { FT_Raster_Params root; FT_UInt spread; FT_Bool flip_sign; FT_Bool flip_y; FT_Bool overlaps; } SDF_Raster_Params; /* rasterizer to convert outline to SDF */ FT_EXPORT_VAR( const FT_Raster_Funcs ) ft_sdf_raster; /* rasterizer to convert bitmap to SDF */ FT_EXPORT_VAR( const FT_Raster_Funcs ) ft_bitmap_sdf_raster; FT_END_HEADER #endif /* FTSDF_H_ */ /* END */