⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exports.c

📁 flash swf file player
💻 C
字号:
/* ==================================================================== * Copyright (c) 2000-2003 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. * ==================================================================== * * $Id: Exports.c,v 1.7 2003/09/13 09:23:38 peterdd Exp $ */#include "perl_swf.h"static char *SWF_Fill_tag[] = {     "SWFFILL_SOLID",     "SWFFILL_GRADIENT",     "SWFFILL_LINEAR_GRADIENT",     "SWFFILL_RADIAL_GRADIENT",     "SWFFILL_BITMAP",     "SWFFILL_TILED_BITMAP",     "SWFFILL_CLIPPED_BITMAP",     NULL,};static char *SWF_Button_tag[] = {     "SWFBUTTON_HIT",     "SWFBUTTON_DOWN",     "SWFBUTTON_OVER",     "SWFBUTTON_UP",     "SWFBUTTON_MOUSEUPOUTSIDE",     "SWFBUTTON_DRAGOVER",     "SWFBUTTON_DRAGOUT",     "SWFBUTTON_MOUSEUP",     "SWFBUTTON_MOUSEDOWN",     "SWFBUTTON_MOUSEOUT",     "SWFBUTTON_MOUSEOVER",     "SWFBUTTON_KEYPRESS",     "SWFBUTTON_ONKEYPRESS",     NULL,};static char *SWF_Sound_tag[] = {     "SWF_SOUND_NOT_COMPRESSED",     "SWF_SOUND_ADPCM_COMPRESSED",     "SWF_SOUND_MP3_COMPRESSED",     "SWF_SOUND_NOT_COMPRESSED_LE",     "SWF_SOUND_NELLY_COMPRESSED",     "SWF_SOUND_5KHZ",     "SWF_SOUND_11KHZ",     "SWF_SOUND_22KHZ",     "SWF_SOUND_44KHZ",     "SWF_SOUND_8BITS",     "SWF_SOUND_16BITS",     "SWF_SOUND_MONO",     "SWF_SOUND_STEREO",     NULL,};static char *SWF_TextField_tag[] = {     "SWFTEXTFIELD_NOEDIT",     "SWFTEXTFIELD_PASSWORD",     "SWFTEXTFIELD_DRAWBOX",     "SWFTEXTFIELD_MULTILINE",     "SWFTEXTFIELD_WORDWRAP",     "SWFTEXTFIELD_NOSELECT",     "SWFTEXTFIELD_ALIGN_LEFT",     "SWFTEXTFIELD_ALIGN_RIGHT",     "SWFTEXTFIELD_ALIGN_CENTER",     "SWFTEXTFIELD_ALIGN_JUSTIFY",     "SWFTEXTFIELD_HTML",     "SWFTEXTFIELD_HASLENGTH",     "SWFTEXTFIELD_USEFONT",     "SWFTEXTFIELD_AUTOSIZE",     NULL,};static char *SWF_DisplayItem_tag[] = {     "SWFACTION_ONLOAD",     "SWFACTION_ENTERFRAME",     "SWFACTION_UNLOAD",     "SWFACTION_MOUSEMOVE",     "SWFACTION_MOUSEDOWN",     "SWFACTION_MOUSEUP",     "SWFACTION_KEYDOWN",     "SWFACTION_KEYUP",     "SWFACTION_DATA",     NULL,};static char **export_tags(char *tag) {   switch (*tag) {   case 'B':     if(strEQ("Button", tag))       return SWF_Button_tag;   case 'D':     if(strEQ("DisplayItem", tag))       return SWF_DisplayItem_tag;   case 'F':     if(strEQ("Fill", tag))       return SWF_Fill_tag;   	 case 'S':     if(strEQ("Sound", tag))       return SWF_Sound_tag;   case 'T':     if(strEQ("Text", tag))       return SWF_TextField_tag;   default:     croak("unknown tag `%s'", tag);   }}void export_cv(SV *class, SV *caller, char *sub) {     GV *gv; #if 0    fprintf(stderr, "Here is the result: *%s::%s = \\&%s::%s\n",             SvPVX(caller), sub, SvPVX(class), sub); #endif     gv = gv_fetchpv(form("%_::%s", caller, sub), TRUE, SVt_PVCV);     GvCV(gv) = perl_get_cv(form("%_::%s", class, sub), TRUE);     GvIMPORTED_CV_on(gv);     GvMULTI_on(gv);} static void my_import(SV *pclass, SV *caller, SV *sv){    char *sym = SvPV(sv,na), **tags;    int i;    switch (*sym) {    case ':':        ++sym;        tags = export_tags(sym);        for(i=0; tags[i]; i++) {            export_cv(pclass, caller, tags[i]);        }        break;    case '$':    case '%':    case '*':    case '@':        croak("\"%s\" is not exported by the SWF module", sym);    case '&':        ++sym;    default:        if(isALPHA(sym[0])) {            export_cv(pclass, caller, sym);            break;        }        else {            croak("Can't export symbol: %s", sym);        }    }}

⌨️ 快捷键说明

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