diff --git a/src/sdf/ftsdf.h b/src/sdf/ftsdf.h index 8e52a68ab..37eaa6ab4 100644 --- a/src/sdf/ftsdf.h +++ b/src/sdf/ftsdf.h @@ -2,6 +2,69 @@ #ifndef FTSDF_H_ #define FTSDF_H_ +#include +#include FT_CONFIG_CONFIG_H +#include + +/* 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_Render_Func' instead of `FT_Raster_Params' because + * the rasterizer require some addition information to render properly. + * So, this struct is used to pass additional parameter to the + * rasterizer. + * + * @fields: + * root :: + * The native raster params struct. + * + * spread :: + * This is and essential parameter/property required by the + * rendere. `spread' defines the maximum unsigned value that + * will be present in the final SDF output. For default value + * check `ftsdfcommon.h'. + * + * flip_sign :: + * By default the position values are inside the contours i.e. + * filled by a contour. If this property is true then that output + * will be opposite from the default i.e. negative will be filled + * by a contour. + * + * 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 glyph which do + * not have self intersecting contours. Also, removing overlaps + * require a considerable amount of extra memory and this is not + * valid while generating SDF from bitmap. + * + * @note: + * It is valid for both `sdf' and `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; + +FT_END_HEADER #endif /* FTSDF_H_ */ diff --git a/src/sdf/ftsdfrend.h b/src/sdf/ftsdfrend.h index 4131a52f8..219acd5aa 100644 --- a/src/sdf/ftsdfrend.h +++ b/src/sdf/ftsdfrend.h @@ -50,6 +50,7 @@ FT_BEGIN_HEADER * @note: * All properties except `overlaps' is valid for both `sdf' and * `bsdf' renderer. + * */ typedef struct SDF_Renderer_Module_ { diff --git a/src/sdf/sdf.c b/src/sdf/sdf.c index 93a4c65b0..78677873c 100644 --- a/src/sdf/sdf.c +++ b/src/sdf/sdf.c @@ -1,3 +1,8 @@ +#define FT_MAKE_OPTION_SINGLE_OBJECT + +#include "ftsdfrend.c" +#include "ftbsdf.c" +#include "ftsdf.c" /* END */