ref: ed7f62aca5eab9d808daf0879607779bd2670173
dir: /src/base/ftoutln.h/
#ifndef FTOUTLN_H #define FTOUTLN_H #include <ftobjs.h> /*************************************************************************/ /* */ /* <Function> */ /* FT_Outline_Copy */ /* */ /* <Description> */ /* Copies an outline into another one. Both objects must have the */ /* same sizes (number of points & number of contours) when this */ /* function is called. */ /* */ /* <Input> */ /* source :: A handle to the source outline. */ /* target :: A handle to the target outline. */ /* */ /* <Return> */ /* FreeType error code. 0 means success. */ /* */ EXPORT_DEF FT_Error FT_Outline_Copy( FT_Outline* source, FT_Outline* target ); /*************************************************************************/ /* */ /* <Function> */ /* FT_Outline_Get_Bitmap */ /* */ /* <Description> */ /* Renders an outline within a bitmap. The outline's image is simply */ /* or-ed to the target bitmap. */ /* */ /* */ /* <Input> */ /* library :: A handle to a FreeType library object. */ /* outline :: A pointer to the source outline descriptor. */ /* map :: A pointer to the target bitmap descriptor. */ /* */ /* <Return> */ /* FreeType error code. 0 means success. */ /* */ /* <MT-Note> */ /* YES. Rendering is synchronized, so that concurrent calls to the */ /* scan-line converter will be serialized. */ /* */ /* <Note> */ /* This function does NOT CREATE the bitmap, it only renders an */ /* outline image within the one you pass to it! */ /* */ /* It will use the raster correponding to the default glyph format. */ /* */ EXPORT_DEF FT_Error FT_Outline_Get_Bitmap( FT_Library library, FT_Outline* outline, FT_Bitmap* map ); /*************************************************************************/ /* */ /* <Function> */ /* FT_Outline_Transform */ /* */ /* <Description> */ /* Applies a simple 2x2 matrix to all of an outline's points. Useful */ /* for applying rotations, slanting, flipping, etc. */ /* */ /* <Input> */ /* outline :: A pointer to the target outline descriptor. */ /* matrix :: A pointer to the transformation matrix. */ /* */ /* <MT-Note> */ /* Yes. */ /* */ /* <Note> */ /* You can use FT_Outline_Translate() if you need to translate the */ /* outline's points. */ /* */ EXPORT_DEF void FT_Outline_Transform( FT_Outline* outline, FT_Matrix* matrix ); /*************************************************************************/ /* */ /* <Function> */ /* FT_Vector_Transform */ /* */ /* <Description> */ /* Transforms a single vector through a 2x2 matrix. */ /* */ /* <InOut> */ /* x :: The horizontal vector coordinate. */ /* y :: The vertical vector coordinate. */ /* */ /* <Input> */ /* matrix :: A pointer to the source 2x2 matrix. */ /* */ /* <MT-Note> */ /* Yes. */ /* */ EXPORT_DEF void FT_Vector_Transform( FT_Pos* x, FT_Pos* y, FT_Matrix* matrix ); /*************************************************************************/ /* */ /* <Function> */ /* FT_Matrix_Multiply */ /* */ /* <Description> */ /* Performs the matrix operation `b = a*b'. */ /* */ /* <Input> */ /* a :: A pointer to matrix `a'. */ /* */ /* <InOut> */ /* b :: A pointer to matrix `b'. */ /* */ /* <MT-Note> */ /* Yes. */ /* */ EXPORT_DEF void FT_Matrix_Multiply( FT_Matrix* a, FT_Matrix* b ); /*************************************************************************/ /* */ /* <Function> */ /* FT_Matrix_Invert */ /* */ /* <Description> */ /* Inverts a 2x2 matrix. Returns an error if it can't be inverted. */ /* */ /* <InOut> */ /* matrix :: A pointer to the target matrix. Remains untouched in */ /* case of error. */ /* */ /* <Return> */ /* FreeType error code. 0 means success. */ /* */ /* <MT-Note> */ /* Yes. */ /* */ EXPORT_DEF FT_Error FT_Matrix_Invert( FT_Matrix* matrix ); #endif /* FTOUTLN_H */