亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sdl-player.c

?? 嵌入式linux環境下的一個FLASH播放器(支持FLASH7.0以下版本)
?? C
字號:
/** * libFAD - Flash Animation Decode library * Copyright (C) 2005-2006 VGSystem Technologies, Inc. * * libFAD is the legal property of its developers, whose names are too numerous * to list here.  Please refer to the COPYRIGHT file distributed with this * source distribution. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Library General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA * * $Id: sdl-player.c,v 1.1 2006/03/22 02:17:52 wrxzzj Exp $ */#include <errno.h>#include <signal.h>#include <string.h>#include <SDL/SDL.h>#include "fad.h"#define FAD_ONTIMER  SDL_USEREVENT+100#define DUMP(...) fprintf(stderr, "sdl-player: "__VA_ARGS__)SDL_Surface *sdl_screen = NULL, *sdl_surface = NULL;SDL_TimerID tid;static void _sdl_update_callback(void *surface, s32_t x, s32_t y, s32_t w, s32_t h) {	/**copy image buffer from surface to screen*/	SDL_BlitSurface(sdl_surface, NULL, sdl_screen, NULL);	SDL_UpdateRect(sdl_screen, 0, 0, 0, 0);}static u32_t _sdl_on_timer(u32_t interval, void* param) {  SDL_Event event;  event.type = FAD_ONTIMER;  event.user.code = 2;  event.user.data1 = NULL;  event.user.data2 = NULL;  SDL_PushEvent(&event);  return interval;}int main(int argc, char* argv[]) {  fad_frame_t frame = {0};  fad_stream_t stream = {0};  FILE* fp = NULL;  u8_t *imgbuf = NULL, quit = 0;  SDL_Event event;  int bits_per_pixel, bytes_per_pixel, stride, width, height;  if(argc != 2) {    printf("\tFlash animation player base on libFAD-%d.%d.%d.\n", FAD_MAJOR_VER, FAD_MINOR_VER, FAD_MICRO_VER);    printf("\tCopyright (c) 2005 - 2006 RuXu W.(wrxzzj-AT-gmail-DOT-com)\n");    printf("\n\tUsage: \tfap <flash animation file>.swf\n");    return -1;  }  if(SDL_Init(SDL_INIT_VIDEO|SDL_INIT_TIMER) < 0) {    DUMP("SDL system initialized failure.\n");    return -1;  }  atexit(SDL_Quit);  signal(SIGINT, SIG_DFL);  fp = fopen(argv[1], "rb");  if(fp == NULL) {    DUMP("open %s failure, err = %s.\n", argv[1], strerror(errno));    return -1;  }  fad_frame_init(&frame);  fad_stream_init(&stream, NULL);	fad_frame_set_update_callback(&frame, _sdl_update_callback, NULL);  fad_stream_stdio(&stream, fp);  /**decode flash file header*/  fad_frame_decode(&frame, &stream);  if(stream.err != FAD_ERROR_NONE) {    DUMP("decode flash file header failure.\n");    fclose(fp);    return -1;  }  width = (frame.size.x1-frame.size.x0)/20;  height = (frame.size.y1-frame.size.y0)/20;  sdl_screen = SDL_SetVideoMode(width, height, 32, SDL_SWSURFACE);  if(sdl_screen == NULL)    goto error;  SDL_WM_SetCaption("Flash Animation Player", NULL);  stride = width*(SDL_GetVideoInfo()->vfmt->BytesPerPixel);  imgbuf = calloc(1, stride*height);  if(imgbuf == NULL)    goto error;  sdl_surface = SDL_CreateRGBSurfaceFrom((void* )imgbuf, width, height, SDL_GetVideoInfo()->vfmt->BitsPerPixel, stride, 0x00, 0x00, 0x00, 0xff<<24);  if(sdl_surface == NULL)    goto error;  {    cairo_surface_t *mysurface = NULL;    mysurface = cairo_image_surface_create_for_data(imgbuf, CAIRO_FORMAT_ARGB32, width, height, stride);    if(mysurface == NULL) {      DUMP("create cairo image surface failure.\n");      goto error;    }    frame.render->cr = cairo_create(mysurface);    if(frame.render->cr == NULL) {      DUMP("create cairo context failure.\n");      goto error;    }    cairo_surface_destroy(mysurface);  }  cairo_set_fill_rule(frame.render->cr, CAIRO_FILL_RULE_EVEN_ODD);  cairo_set_tolerance(frame.render->cr, 0.50);  tid = SDL_AddTimer(256000/frame.rate, _sdl_on_timer, NULL);  while(SDL_WaitEvent(&event)) {    switch(event.type) {      case FAD_ONTIMER:        /**TIPS:you can skip vector graphic movie render if your CPU is slower*/        /**if frame isn't render-ready mode, decode more flash stream*/        if(frame.sta == FAD_STA_END) {          //quit = 1;          break;        }        if(frame.sta == FAD_STA_STOP)          break;        while(frame.sta!=FAD_STA_DORENDER && frame.sta!=FAD_STA_FINISH && frame.sta!=FAD_STA_UPDATEBTN )          fad_frame_decode(&frame, &stream);        /**set background color for movie*/        SDL_FillRect(sdl_surface, NULL, SDL_MapRGB(sdl_surface->format, frame.r, frame.g, frame.b));        /**render vector graphic movie*/        fad_frame_render_movie(&frame);        /**copy image buffer from surface to screen*/        SDL_BlitSurface(sdl_surface, NULL, sdl_screen, NULL);        SDL_UpdateRect(sdl_screen, 0, 0, 0, 0);        /**render audio in frame*/        fad_frame_render_audio(&frame, &stream);        break;      /**set mouse position & state in render public attribute*/      case SDL_MOUSEBUTTONUP:				if(frame.proc_mbevt)					frame.proc_mbevt(&frame, FAD_EVT_MBUP, event.button.x, event.button.y);				break;      case SDL_MOUSEBUTTONDOWN:				if(frame.proc_mbevt)					frame.proc_mbevt(&frame, FAD_EVT_MBDOWN, event.button.x, event.button.y);        break;      case SDL_MOUSEMOTION:				if(frame.proc_mbevt)					frame.proc_mbevt(&frame, FAD_EVT_MBMOTION, event.motion.x, event.motion.y);        break;      case SDL_QUIT:        quit = 1;        break;      default:        break;    }    if(quit)      break;  }/**while(poll_event)*/error:  fclose(fp);  fad_frame_finish(&frame);  fad_stream_finish(&stream);  if(imgbuf != NULL)    free(imgbuf);  if(sdl_screen != NULL)    SDL_FreeSurface(sdl_screen);  if(sdl_surface != NULL)    SDL_FreeSurface(sdl_surface);  if(tid != NULL)    SDL_RemoveTimer(tid);  return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一区二| 色综合天天综合网国产成人综合天| 日韩欧美国产一区在线观看| 一区二区三区在线视频播放| 在线视频国内一区二区| 亚洲国产精品久久一线不卡| 欧美日韩精品三区| 蜜臀av亚洲一区中文字幕| 欧美成人一区二区三区| 国产乱人伦偷精品视频不卡| 国产精品久久久久婷婷二区次| 丰满岳乱妇一区二区三区| |精品福利一区二区三区| 在线观看视频一区二区欧美日韩 | 欧美日韩国产高清一区二区三区| 亚洲激情在线播放| 欧美高清精品3d| 狠狠色伊人亚洲综合成人| 国产区在线观看成人精品| 色妹子一区二区| 久久精品国产在热久久| 中文字幕久久午夜不卡| 欧美性三三影院| 激情欧美一区二区三区在线观看| 亚洲国产成人一区二区三区| 色婷婷综合中文久久一本| 视频一区二区国产| 中文字幕精品在线不卡| 欧美欧美欧美欧美首页| 国产伦精品一区二区三区视频青涩| 国产精品无遮挡| 在线播放中文一区| 国产成人无遮挡在线视频| 亚洲一区二区在线视频| 久久综合国产精品| 欧美视频一区二区三区| 国产成人三级在线观看| 亚洲综合激情另类小说区| 久久久99久久| 欧美精品日日鲁夜夜添| 成人高清在线视频| 美女网站色91| 亚洲一区二区三区四区在线 | 99热国产精品| 精品一区二区免费视频| 一区二区三区免费看视频| 久久久久久97三级| 337p亚洲精品色噜噜噜| 91在线免费看| 国产成人综合亚洲91猫咪| 视频在线观看91| 亚洲欧美日韩成人高清在线一区| 日韩欧美激情在线| 欧美男生操女生| 91在线一区二区三区| 国产精品18久久久久久久久| 日韩福利视频导航| 亚洲综合一区二区| 国产亚洲一本大道中文在线| 337p亚洲精品色噜噜噜| 欧美日韩美少妇| 日本久久一区二区三区| 不卡免费追剧大全电视剧网站| 蜜臀久久久99精品久久久久久| 亚洲一区二区视频| 亚洲乱码一区二区三区在线观看| 国产日韩欧美一区二区三区乱码 | 欧美一区二区三区视频免费| 在线免费av一区| 色呦呦日韩精品| 99re热这里只有精品免费视频| 国产精品亚洲人在线观看| 日本vs亚洲vs韩国一区三区二区| 亚洲一区二区三区影院| 一区二区在线观看免费| 亚洲同性gay激情无套| 国产精品久久久久影院| 欧美国产精品v| 国产精品网站在线播放| 国产日韩一级二级三级| 久久久国际精品| 国产日韩欧美麻豆| 国产精品视频免费| 综合久久国产九一剧情麻豆| 国产精品乱人伦一区二区| 国产精品每日更新| 亚洲特级片在线| 樱花影视一区二区| 亚洲一区二区三区国产| 首页亚洲欧美制服丝腿| 麻豆精品视频在线观看视频| 精品系列免费在线观看| 国产一区二区三区电影在线观看 | 日日夜夜免费精品| 午夜电影一区二区| 久久97超碰色| 国产福利一区二区三区视频| 成a人片国产精品| 在线精品观看国产| 日韩一区二区三区电影在线观看 | 欧美色图12p| 欧美一区二区高清| 久久久高清一区二区三区| 国产精品欧美久久久久无广告| 日韩伦理免费电影| 天涯成人国产亚洲精品一区av| 人妖欧美一区二区| 国产69精品久久777的优势| 99国产欧美久久久精品| 欧美人动与zoxxxx乱| 久久综合五月天婷婷伊人| 国产精品成人网| 亚洲午夜精品在线| 国产一区中文字幕| 91首页免费视频| 欧美一卡二卡三卡| 国产精品视频一区二区三区不卡| 一区二区三区四区激情| 91美女福利视频| 91精品国产麻豆| 国产精品福利影院| 免费在线观看一区| 色一情一乱一乱一91av| 欧美刺激脚交jootjob| 亚洲区小说区图片区qvod| 欧美aaaaa成人免费观看视频| 成人在线视频一区| 欧美一区二区三区四区在线观看 | 中文字幕在线一区| 丝袜美腿亚洲色图| av一区二区久久| 日韩欧美不卡在线观看视频| 中文字幕一区二区三区不卡| 日韩电影在线观看电影| 91美女片黄在线观看| 精品粉嫩超白一线天av| 亚洲一区免费观看| 成人高清视频免费观看| 精品国产一区二区精华| 午夜精品福利视频网站| 99精品视频中文字幕| 欧美成人女星排行榜| 性久久久久久久久久久久| 99国内精品久久| 欧美韩国日本一区| 国产一区二区三区四区五区入口| 欧美日韩黄色影视| 亚洲老妇xxxxxx| a在线欧美一区| 久久综合九色欧美综合狠狠| 日韩精品亚洲一区| 欧美性高清videossexo| 亚洲精品老司机| av在线这里只有精品| 国产女主播视频一区二区| 激情久久五月天| 337p粉嫩大胆色噜噜噜噜亚洲| 日韩中文字幕亚洲一区二区va在线 | 国产成人av一区二区三区在线观看| 欧美日韩www| 亚洲自拍欧美精品| 在线视频国内自拍亚洲视频| 亚洲少妇屁股交4| 99免费精品在线观看| 国产日产欧美精品一区二区三区| 精品一区二区三区久久| 日韩三级av在线播放| 人人狠狠综合久久亚洲| 91精品国产一区二区三区香蕉| 亚洲成av人片在线观看| 欧美色手机在线观看| 亚洲成人tv网| 91精品国产黑色紧身裤美女| 日韩中文字幕亚洲一区二区va在线| 欧美日韩一区国产| 亚洲夂夂婷婷色拍ww47 | 国产九色sp调教91| 久久久久久久电影| 北条麻妃国产九九精品视频| 亚洲午夜电影在线观看| 色偷偷久久一区二区三区| 一区二区三区在线观看欧美| 一本色道亚洲精品aⅴ| 亚洲综合偷拍欧美一区色| 精品视频一区三区九区| 男男成人高潮片免费网站| 26uuu欧美日本| 成人理论电影网| 一区二区三区欧美日| 9191成人精品久久| 国产一区视频导航| 国产精品久久99| 欧美日韩在线观看一区二区 | 日韩美女在线视频| 国产精品99久久久久久宅男| 中文字幕亚洲在| 欧美日韩电影在线| 国产精品影视在线| 亚洲精品成人少妇| 日韩视频一区二区三区|