📄 ftimage.h
字号:
/* user :: A typeless pointer which is passed from the caller of the */ /* decomposition function. */ /* */ /* <Return> */ /* Error code. 0 means success. */ /* */ typedef int (*FT_Outline_LineTo_Func)( FT_Vector* to, void* user ); /*************************************************************************/ /* */ /* <FuncType> */ /* FT_Outline_ConicTo_Func */ /* */ /* <Description> */ /* A function pointer type use to describe the signature of a `conic */ /* to' function during outline walking/decomposition. */ /* */ /* A `conic to' is emitted to indicate a second-order Bezier arc in */ /* the outline. */ /* */ /* <Input> */ /* control :: An intermediate control point between the last position */ /* and the new target in `to'. */ /* */ /* to :: A pointer to the target end point of the conic arc. */ /* */ /* user :: A typeless pointer which is passed from the caller of */ /* the decomposition function. */ /* */ /* <Return> */ /* Error code. 0 means success. */ /* */ typedef int (*FT_Outline_ConicTo_Func)( FT_Vector* control, FT_Vector* to, void* user ); /*************************************************************************/ /* */ /* <FuncType> */ /* FT_Outline_CubicTo_Func */ /* */ /* <Description> */ /* A function pointer type used to describe the signature of a `cubic */ /* to' function during outline walking/decomposition. */ /* */ /* A `cubic to' is emitted to indicate a third-order Bezier arc. */ /* */ /* <Input> */ /* control1 :: A pointer to the first Bezier control point. */ /* */ /* control2 :: A pointer to the second Bezier control point. */ /* */ /* to :: A pointer to the target end point. */ /* */ /* user :: A typeless pointer which is passed from the caller of */ /* the decomposition function. */ /* */ /* <Return> */ /* Error code. 0 means success. */ /* */ typedef int (*FT_Outline_CubicTo_Func)( FT_Vector* control1, FT_Vector* control2, FT_Vector* to, void* user ); /*************************************************************************/ /* */ /* <Struct> */ /* FT_Outline_Funcs */ /* */ /* <Description> */ /* A structure to hold various function pointers used during outline */ /* decomposition in order to emit segments, conic, and cubic Beziers, */ /* as well as `move to' and `close to' operations. */ /* */ /* <Fields> */ /* move_to :: The `move to' emitter. */ /* */ /* line_to :: The segment emitter. */ /* */ /* conic_to :: The second-order Bezier arc emitter. */ /* */ /* cubic_to :: The third-order Bezier arc emitter. */ /* */ /* shift :: The shift that is applied to coordinates before they */ /* are sent to the emitter. */ /* */ /* delta :: The delta that is applied to coordinates before they */ /* are sent to the emitter, but after the shift. */ /* */ /* <Note> */ /* The point coordinates sent to the emitters are the transformed */ /* version of the original coordinates (this is important for high */ /* accuracy during scan-conversion). The transformation is simple: */ /* */ /* x' = (x << shift) - delta */ /* y' = (x << shift) - delta */ /* */ /* Set the value of `shift' and `delta' to 0 to get the original */ /* point coordinates. */ /* */ typedef struct FT_Outline_Funcs_ { FT_Outline_MoveTo_Func move_to; FT_Outline_LineTo_Func line_to; FT_Outline_ConicTo_Func conic_to; FT_Outline_CubicTo_Func cubic_to; int shift; FT_Pos delta; } FT_Outline_Funcs; /*************************************************************************/ /* */ /* <Macro> */ /* FT_IMAGE_TAG */ /* */ /* <Description> */ /* This macro converts four letter tags into an unsigned long. */ /* */#define FT_IMAGE_TAG( _x1, _x2, _x3, _x4 ) \ ( ( (unsigned long)_x1 << 24 ) | \ ( (unsigned long)_x2 << 16 ) | \ ( (unsigned long)_x3 << 8 ) | \ (unsigned long)_x4 ) /*************************************************************************/ /* */ /* <Enum> */ /* FT_Glyph_Format */ /* */ /* <Description> */ /* An enumeration type used to describe the format of a given glyph */ /* image. Note that this version of FreeType only supports two image */ /* formats, even though future font drivers will be able to register */ /* their own format. */ /* */ /* <Fields> */ /* ft_glyph_format_composite :: The glyph image is a composite of */ /* several other images. This glyph */ /* format is _only_ used with the */ /* FT_LOAD_FLAG_NO_RECURSE flag (XXX: */ /* Which is currently unimplemented). */ /* */ /* ft_glyph_format_bitmap :: The glyph image is a bitmap, and can */ /* be described as a FT_Bitmap. */ /* */ /* ft_glyph_format_outline :: The glyph image is a vectorial image */ /* made of bezier control points, and */ /* can be described as a FT_Outline. */ /* */ /* ft_glyph_format_plotter :: The glyph image is a vectorial image */ /* made of plotter lines (some T1 fonts */ /* like Hershey contain glyph in this */ /* format). */ /* */ typedef enum FT_Glyph_Format_ { ft_glyph_format_none = 0, ft_glyph_format_composite = FT_IMAGE_TAG( 'c', 'o', 'm', 'p' ), ft_glyph_format_bitmap = FT_IMAGE_TAG( 'b', 'i', 't', 's' ), ft_glyph_format_outline = FT_IMAGE_TAG( 'o', 'u', 't', 'l' ), ft_glyph_format_plotter = FT_IMAGE_TAG( 'p', 'l', 'o', 't' ) } FT_Glyph_Format; /*************************************************************************/ /*************************************************************************/ /*************************************************************************/ /***** *****/ /***** R A S T E R D E F I N I T I O N S *****/ /***** *****/ /*************************************************************************/ /*************************************************************************/ /*************************************************************************/ /*************************************************************************/ /* */ /* A raster is a scan converter, in charge of rendering an outline into */ /* a a bitmap. This section contains the public API for rasters. */ /* */ /* Note that in FreeType 2, all rasters are now encapsulated within */ /* specific modules called `renderers'. See `freetype/ftrender.h' for */ /* more details on renderers. */ /* */ /*************************************************************************/ /*************************************************************************/ /* */ /* <Type> */ /* FT_Raster */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -