📄 qrasterdefs_p.h
字号:
/* 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 QT_FT_Outline_Funcs_ { QT_FT_Outline_MoveToFunc move_to; QT_FT_Outline_LineToFunc line_to; QT_FT_Outline_ConicToFunc conic_to; QT_FT_Outline_CubicToFunc cubic_to; int shift; QT_FT_Pos delta; } QT_FT_Outline_Funcs; /*************************************************************************/ /* */ /* <Section> */ /* basic_types */ /* */ /*************************************************************************/ /*************************************************************************/ /* */ /* <Macro> */ /* QT_FT_IMAGE_TAG */ /* */ /* <Description> */ /* This macro converts four letter tags into an unsigned long. */ /* */ /* <Note> */ /* Since many 16bit compilers don't like 32bit enumerations, you */ /* should redefine this macro in case of problems to something like */ /* this: */ /* */ /* #define QT_FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 ) value */ /* */ /* to get a simple enumeration without assigning special numbers. */ /* */#ifndef QT_FT_IMAGE_TAG#define QT_FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 ) \ value = ( ( (unsigned long)_x1 << 24 ) | \ ( (unsigned long)_x2 << 16 ) | \ ( (unsigned long)_x3 << 8 ) | \ (unsigned long)_x4 )#endif /* QT_FT_IMAGE_TAG */ /*************************************************************************/ /* */ /* <Enum> */ /* QT_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. */ /* */ /* <Values> */ /* QT_FT_GLYPH_FORMAT_NONE :: */ /* The value 0 is reserved and does describe a glyph format. */ /* */ /* QT_FT_GLYPH_FORMAT_COMPOSITE :: */ /* The glyph image is a composite of several other images. This */ /* format is _only_ used with @QT_FT_LOAD_NO_RECURSE, and is used to */ /* report compound glyphs (like accented characters). */ /* */ /* QT_FT_GLYPH_FORMAT_BITMAP :: */ /* The glyph image is a bitmap, and can be described as an */ /* @QT_FT_Bitmap. You generally need to access the `bitmap' field of */ /* the @QT_FT_GlyphSlotRec structure to read it. */ /* */ /* QT_FT_GLYPH_FORMAT_OUTLINE :: */ /* The glyph image is a vertorial outline made of line segments */ /* and Bezier arcs; it can be described as an @QT_FT_Outline; you */ /* generally want to access the `outline' field of the */ /* @QT_FT_GlyphSlotRec structure to read it. */ /* */ /* QT_FT_GLYPH_FORMAT_PLOTTER :: */ /* The glyph image is a vectorial path with no inside/outside */ /* contours. Some Type 1 fonts, like those in the Hershey family, */ /* contain glyphs in this format. These are described as */ /* @QT_FT_Outline, but FreeType isn't currently capable of rendering */ /* them correctly. */ /* */ typedef enum QT_FT_Glyph_Format_ { QT_FT_IMAGE_TAG( QT_FT_GLYPH_FORMAT_NONE, 0, 0, 0, 0 ), QT_FT_IMAGE_TAG( QT_FT_GLYPH_FORMAT_COMPOSITE, 'c', 'o', 'm', 'p' ), QT_FT_IMAGE_TAG( QT_FT_GLYPH_FORMAT_BITMAP, 'b', 'i', 't', 's' ), QT_FT_IMAGE_TAG( QT_FT_GLYPH_FORMAT_OUTLINE, 'o', 'u', 't', 'l' ), QT_FT_IMAGE_TAG( QT_FT_GLYPH_FORMAT_PLOTTER, 'p', 'l', 'o', 't' ) } QT_FT_Glyph_Format; /*************************************************************************/ /* */ /* <Enum> */ /* qt_ft_glyph_format_xxx */ /* */ /* <Description> */ /* A list of decprecated constants. Use the corresponding */ /* @QT_FT_Glyph_Format values instead. */ /* */ /* <Values> */ /* qt_ft_glyph_format_none :: see @QT_FT_GLYPH_FORMAT_NONE */ /* qt_ft_glyph_format_composite :: see @QT_FT_GLYPH_FORMAT_COMPOSITE */ /* qt_ft_glyph_format_bitmap :: see @QT_FT_GLYPH_FORMAT_BITMAP */ /* qt_ft_glyph_format_outline :: see @QT_FT_GLYPH_FORMAT_OUTLINE */ /* qt_ft_glyph_format_plotter :: see @QT_FT_GLYPH_FORMAT_PLOTTER */ /* */#define qt_ft_glyph_format_none QT_FT_GLYPH_FORMAT_NONE#define qt_ft_glyph_format_composite QT_FT_GLYPH_FORMAT_COMPOSITE#define qt_ft_glyph_format_bitmap QT_FT_GLYPH_FORMAT_BITMAP#define qt_ft_glyph_format_outline QT_FT_GLYPH_FORMAT_OUTLINE#define qt_ft_glyph_format_plotter QT_FT_GLYPH_FORMAT_PLOTTER /*************************************************************************/ /*************************************************************************/ /*************************************************************************/ /***** *****/ /***** 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. */ /* */ /*************************************************************************/ /*************************************************************************/ /* */ /* <Section> */ /* raster */ /* */ /* <Title> */ /* Scanline converter */ /* */ /* <Abstract> */ /* How vectorial outlines are converted into bitmaps and pixmaps. */ /* */ /* <Description> */ /* This section contains technical definitions. */ /* */ /*************************************************************************/ /*************************************************************************/ /* */ /* <Type> */ /* QT_FT_Raster */ /* */ /* <Description> */ /* A handle (pointer) to a raster object. Each object can be used */ /* independently to convert an outline into a bitmap or pixmap. */ /* */ typedef struct QT_FT_RasterRec_* QT_FT_Raster; /*************************************************************************/ /* */ /* <Struct> */ /* QT_FT_Span */ /* */ /* <Description> */ /* A structure used to model a single span of gray (or black) pixels */ /* when rendering a monochrome or anti-aliased bitmap. */ /* */ /* <Fields> */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -