wld_path.h

来自「SumatraPDF是一款小型开源的pdf阅读工具。虽然玲珑小巧(只有800多K」· C头文件 代码 · 共 85 行

H
85
字号
/* * Vector path nodes in the display tree. * They can be stroked and dashed, or be filled. * They have a fill rule (nonzero or evenodd). * * When rendering, they are flattened, stroked and dashed straight * into the Global Edge List. * * TODO flatten, stroke and dash into another path * TODO set operations on flat paths (union, intersect, difference) * TODO decide whether dashing should be part of the tree and renderer, *      or if it is something the client has to do (with a util function). */typedef struct fz_stroke_s fz_stroke;typedef struct fz_dash_s fz_dash;typedef union fz_pathel_s fz_pathel;typedef enum fz_pathkind_e{	FZ_STROKE,	FZ_FILL,	FZ_EOFILL} fz_pathkind;typedef enum fz_pathelkind_e{	FZ_MOVETO,	FZ_LINETO,	FZ_CURVETO,	FZ_CLOSEPATH} fz_pathelkind;struct fz_stroke_s{	int linecap;	int linejoin;	float linewidth;	float miterlimit;};struct fz_dash_s{	int len;	float phase;	float array[FZ_FLEX];};union fz_pathel_s{	fz_pathelkind k;	float v;};struct fz_pathnode_s{	fz_node super;	fz_pathkind paint;	fz_dash *dash;	int linecap;	int linejoin;	float linewidth;	float miterlimit;	int len, cap;	fz_pathel *els;};fz_error *fz_newpathnode(fz_pathnode **pathp);fz_error *fz_clonepathnode(fz_pathnode **pathp, fz_pathnode *oldpath);fz_error *fz_moveto(fz_pathnode*, float x, float y);fz_error *fz_lineto(fz_pathnode*, float x, float y);fz_error *fz_curveto(fz_pathnode*, float, float, float, float, float, float);fz_error *fz_curvetov(fz_pathnode*, float, float, float, float);fz_error *fz_curvetoy(fz_pathnode*, float, float, float, float);fz_error *fz_closepath(fz_pathnode*);fz_error *fz_endpath(fz_pathnode*, fz_pathkind paint, fz_stroke *stroke, fz_dash *dash);fz_rect fz_boundpathnode(fz_pathnode *node, fz_matrix ctm);void fz_debugpathnode(fz_pathnode *node, int indent);void fz_printpathnode(fz_pathnode *node, int indent);fz_error *fz_newdash(fz_dash **dashp, float phase, int len, float *array);void fz_dropdash(fz_dash *dash);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?