154 lines
9.8 KiB
C
154 lines
9.8 KiB
C
#ifndef FTOUTLN_H
|
|
#define FTOUTLN_H
|
|
|
|
#include <ftobjs.h>
|
|
|
|
/*************************************************************************/
|
|
/* */
|
|
/* <Function> */
|
|
/* FT_Copy_Outline */
|
|
/* */
|
|
/* <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_Copy_Outline( FT_Outline* source,
|
|
FT_Outline* target );
|
|
|
|
/*************************************************************************/
|
|
/* */
|
|
/* <Function> */
|
|
/* FT_Get_Outline_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_Get_Outline_Bitmap( FT_Library library,
|
|
FT_Outline* outline,
|
|
FT_Bitmap* map );
|
|
|
|
|
|
/*************************************************************************/
|
|
/* */
|
|
/* <Function> */
|
|
/* FT_Transform_Outline */
|
|
/* */
|
|
/* <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_Translate_Outline() if you need to translate the */
|
|
/* outline's points. */
|
|
/* */
|
|
EXPORT_DEF
|
|
void FT_Transform_Outline( FT_Outline* outline,
|
|
FT_Matrix* matrix );
|
|
|
|
|
|
/*************************************************************************/
|
|
/* */
|
|
/* <Function> */
|
|
/* FT_Transform_Vector */
|
|
/* */
|
|
/* <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_Transform_Vector( 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 */
|