* src/sdf/ftsdf.c (get_control_box): Use goto instead of letting the next case statement
execute to avoid compiler warning [-Wimplicit-fallthrough=].
* src/sdf/ftsdf.c (sdf_generate_bounding_box): Fix compiler warning due to signed
unsigned mismatch.
* src/sdf/ftsdfrend.c (ft_sdf_done): The function must have a return type of `void'
to match the signature of `FT_Module_Destructor'.
* src/sdf/ftsdf.c (*): Only track memory when `FT_DEBUG_MEMORY' is defined. Some
variables used internally by the freetype memory debugger are only defined when
we are tracking memory. If `FT_DEBUG_MEMORY' is not defined those variable
are not defined and we get undefined reference error.
* src/sdf/ftsdf.c (*): Added a technical overview of the working of the `sdf' rasterizer.
* src/sdf/ftbsdf,c (*) : Added a technical overview of the working of the `bsdf'
rasterizer.
* src/sdf/ftsdf.c (sdf_generate_with_overlaps): Added another `sdf_generate_'
function which can generate SDF for glyphs with overlapping contour. Note that
it cannot generate proper SDF for glyphs with self intersecting contours.
* src/sdf/ftsdf.c (sdf_raster_): Added interface functions which are called from the
FreeType core library to rasterize and do various other stuff with the rasterizer.
* src/sdf/ftsdf.c (sdf_generate_bounding_box): Added function to generate SDF by
only checking grid point around the bounding box of any edge.
* src/sdf/ftsdf.c (sdf_generate_subdivision): Added function to generate SDF by
splitting the shape into a number of line segments and then only checking grid
points around the neighborhood of the lines.
* src/sdf/ftsdf.c (sdf_generate): Added function to generate SDF. This one doesn't use
any optimization, it simply check all grid point against all contours.
* src/sdf/ftsdf,c (sdf_edge_get_min_distance): Added function to get shortest distance
from any arbitary edge.
* src/sdf/ftsdf.c (sdf_contour_get_min_distance): Added function to get shortest
distance from a contour. It basically returns the shortest distance from the nearest
edge.
* src/sdf/ftsdf.c (get_min_distance_): Added function to find the closest distance
from a point to a curves of all three different types (i.e. line segment, conic
bezier and cubic bezier).
* src/sdf/ftsdf.c (cube_root, arc_cos): Added functions to compute cube root and
cosine inverse of a 16.16 fixed point number.
* src/sdf/ftsdf.c (solve_quadratic_equation, solve_cubic_equation): Added
functions to find roots of quadratic and cubic polynomial equations.
* src/sdf/ftsdf.c (get_control_box, get_contour_orientation): Added functions to
get control box and orientation of any `SDF_Contour'.
* src/sdf/ftsdf.c (split_sdf_shape): Added function to split a complete shape (i.e.
a collection of contours) into a number of small lines.
* src/sdf/ftsdf.c (sdf_outline_decompose): Added a function which decompose
a `FT_Outline' using `FT_Outline_Decompose' and adds the outline data to a
`SDF_Shape' for easier handling later on.
* src/sdf/ftsdf.c (SDF_): Added the essential structures and enums which will
be used internally by the `sdf' rasterizer. Also added allocator and deallocator
functions for the structs.
* src/sdf/ftsdf.c (SDF_MemoryUser): Added a custom memory allocator which
is used to track intermediate memory usage while generate SDF.
* src/sdf/ftsdf.c (definations): Added various definitions which can be used to
modify the `sdf' rasterizer and also added a few helper macros.
Added the necessary files required by the `sdf' module. These include files
for both the `sdf' and the `bsdf' renderers. Here is breakdown of what the
specific files will contain:
* src/sdf/ftsdfrend.*: Both the renderers.
* src/sdf/ftsdf.*: The rasterizer for the `sdf' renderer.
* src/sdf/ftbsdf.c: The rasterizer for the `bsdf' renderer.
* src/sdf/ftsdfcommon.h: Commmon properties and functions for both the
rasterizers.
* src/sdf/ftsdferrs.h: Common error define.
* src/sdf/sdf.c: For building a single object of the entire module.