font.xs

来自「flash swf file player」· XS 代码 · 共 86 行

XS
86
字号
/* ==================================================================== * Copyright (c) 2000-2001 by Soheil Seyfaie. All rights reserved. * This program is free software; you can redistribute it and/or modify * it under the same terms as Perl itself. * ==================================================================== * * $Author: whamann $ * $Id: Font.xs,v 1.6 2003/11/08 18:24:55 whamann Exp $ */#include "EXTERN.h"#include "perl.h"#include "XSUB.h"#include "SWF.h"#include "perl_swf.h"MODULE = SWF::Font		PACKAGE = SWF::Font		PREFIX = SWFFont_PROTOTYPES: ENABLESWF::FontSWFFont_new(package="SWF::Font", filename)	char *package	char *filename = NO_INIT	PREINIT:	FILE   *f;	STRLEN len;	CODE:	filename = (char *) SvPV(ST(1), len);	if (strncasecmp(filename+len-4, ".fdb", 4) == 0){	    if (!(f = fopen(filename, "rb"))) {		fprintf(stderr, "Unable to open FDB file %s\n", filename);		XSRETURN_UNDEF;	    }else{		RETVAL = loadSWFFontFromFile(f);		fclose(f);	    }	}	else	    RETVAL = newSWFBrowserFont(filename);	ST(0) = sv_newmortal();        sv_setref_pv(ST(0), package, (void*)RETVAL);voiddestroySWFFont(block)        SWF::Block      block = (SWF__Block) SvIV((SV*)SvRV(ST(0)));        ALIAS:        SWF::Font::DESTROY = 1        CODE:        S_DEBUG(2, fprintf(stderr, "FONT DESTROY CALLED\n"));	destroySWFBlock((SWFBlock)block);intSWFFont_getStringWidth(font, string)	SWF::Font	font	char *	string        ALIAS:        SWF::Font::getWidth = 1intSWFFont_getUTF8StringWidth(font, string)	SWF::Font	font	char *	stringshortSWFFont_getAscent(font)	SWF::Font	fontshortSWFFont_getDescent(font)	SWF::Font	fontshortSWFFont_getLeading(font)	SWF::Font	fontchar *SWFFont_getShape(font, code)	SWF::Font font	int code;	CLEANUP:		free(RETVAL);

⌨️ 快捷键说明

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