node_misc1.c.svn-base

来自「SumatraPDF是一款小型开源的pdf阅读工具。虽然玲珑小巧(只有800多K」· SVN-BASE 代码 · 共 156 行

SVN-BASE
156
字号
#include "fitz-base.h"#include "fitz-world.h"void fz_droplinknode(fz_linknode* node);void fz_droppathnode(fz_pathnode* node);void fz_droptextnode(fz_textnode* node);void fz_dropimagenode(fz_imagenode* node);void fz_dropshadenode(fz_shadenode* node);fz_rect fz_boundtransformnode(fz_transformnode* node, fz_matrix ctm);fz_rect fz_boundovernode(fz_overnode* node, fz_matrix ctm);fz_rect fz_boundmasknode(fz_masknode* node, fz_matrix ctm);fz_rect fz_boundblendnode(fz_blendnode* node, fz_matrix ctm);fz_rect fz_boundsolidnode(fz_solidnode* node, fz_matrix ctm);fz_rect fz_boundpathnode(fz_pathnode* node, fz_matrix ctm);fz_rect fz_boundtextnode(fz_textnode* node, fz_matrix ctm);fz_rect fz_boundimagenode(fz_imagenode* node, fz_matrix ctm);fz_rect fz_boundshadenode(fz_shadenode* node, fz_matrix ctm);fz_rect fz_boundlinknode(fz_linknode* node, fz_matrix ctm);voidfz_initnode(fz_node *node, fz_nodekind kind){	node->kind = kind;	node->parent = nil;	node->first = nil;	node->last = nil;	node->next = nil;}voidfz_dropnode(fz_node *node){	if (node->first)		fz_dropnode(node->first);	if (node->next)		fz_dropnode(node->next);	switch (node->kind)	{	case FZ_NTRANSFORM:	case FZ_NOVER:	case FZ_NMASK:	case FZ_NBLEND:	case FZ_NCOLOR:		break;	case FZ_NPATH:		fz_droppathnode((fz_pathnode *) node);		break;	case FZ_NTEXT:		fz_droptextnode((fz_textnode *) node);		break;	case FZ_NIMAGE:		fz_dropimagenode((fz_imagenode *) node);		break;	case FZ_NSHADE:		fz_dropshadenode((fz_shadenode *) node);		break;	case FZ_NLINK:		fz_droplinknode((fz_linknode *) node);		break;	}	fz_free(node);}fz_rectfz_boundnode(fz_node *node, fz_matrix ctm){	switch (node->kind)	{	case FZ_NTRANSFORM:		return fz_boundtransformnode((fz_transformnode *) node, ctm);	case FZ_NOVER:		return fz_boundovernode((fz_overnode *) node, ctm);	case FZ_NMASK:		return fz_boundmasknode((fz_masknode *) node, ctm);	case FZ_NBLEND:		return fz_boundblendnode((fz_blendnode *) node, ctm);	case FZ_NCOLOR:		return fz_boundsolidnode((fz_solidnode *) node, ctm);	case FZ_NPATH:		return fz_boundpathnode((fz_pathnode *) node, ctm);	case FZ_NTEXT:		return fz_boundtextnode((fz_textnode *) node, ctm);	case FZ_NIMAGE:		return fz_boundimagenode((fz_imagenode *) node, ctm);	case FZ_NSHADE:		return fz_boundshadenode((fz_shadenode *) node, ctm);	case FZ_NLINK:		return fz_boundlinknode((fz_linknode *) node, ctm);	}	return fz_emptyrect;}intfz_istransformnode(fz_node *node){	return node ? node->kind == FZ_NTRANSFORM : 0;}intfz_isovernode(fz_node *node){	return node ? node->kind == FZ_NOVER : 0;}intfz_ismasknode(fz_node *node){	return node ? node->kind == FZ_NMASK : 0;}intfz_isblendnode(fz_node *node){	return node ? node->kind == FZ_NBLEND : 0;}intfz_issolidnode(fz_node *node){	return node ? node->kind == FZ_NCOLOR : 0;}intfz_ispathnode(fz_node *node){	return node ? node->kind == FZ_NPATH : 0;}intfz_istextnode(fz_node *node){	return node ? node->kind == FZ_NTEXT : 0;}intfz_isimagenode(fz_node *node){	return node ? node->kind == FZ_NIMAGE : 0;}intfz_isshadenode(fz_node *node){	return node ? node->kind == FZ_NSHADE : 0;}intfz_islinknode(fz_node *node){	return node ? node->kind == FZ_NLINK : 0;}

⌨️ 快捷键说明

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