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

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

?? fminigui.c

?? MDE 圖形引擎
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*    $Id: fminigui.c,v 1.15 2003/08/15 08:45:46 weiym Exp $******************************************************************************   Flying-GGIs - Another neat GGI demo...   Porting to MiniGUI by WEI Yongming   Authors:    1998       Andrew Apted        [andrew@ggi-project.org]   This software is placed in the public domain and can be used freely   for any purpose. It comes without any kind of warranty, either   expressed or implied, including, but not limited to the implied   warranties of merchantability or fitness for a particular purpose.   Use it at your own risk. the author is not responsible for any damage   or consequences raised by use or inability to use this program.*******************************************************************************//* This is needed for the HAVE_* macros */#include <stdio.h>#include <stdlib.h>#include <string.h>#include <ctype.h>#include <time.h>#include <unistd.h>#include <math.h>#include <minigui/common.h>#include <minigui/minigui.h>#include <minigui/gdi.h>#include <minigui/window.h>#include "amuze.h"#define fixed  gal_sint32   /* 16.16 */#define DEFAULT_WIDTH   320#define DEFAULT_HEIGHT  200#define DEFAULT_GENTIME      200   /* msec */#define DEFAULT_MAXSIZE      100   /* percent */#define DEFAULT_CLUSTERSIZE  100   /* percent */#define DEFAULT_SPEED        30 /* Global Info */static int screen_width;static int screen_height;static int screen_diag;static int banner_width;static int banner_height;static int banner_diag;static int gen_time;      /* msec */static fixed max_size;    /* default 1.0 = full screen */static int cluster_size;  /* pixels */static int fixed_speed=0;static int speed;static int use_putbox;static gal_pixel lookup[256];static void *image_buf;static int image_size;typedef struct texture{        struct texture *succ;        struct texture *tail;        fixed mid_x, mid_y;        fixed size;        fixed millis;        fixed speed;        gal_uint8 color;} Texture;static Texture *texture_list;static char *banner[46];static void banner_size(int *width, int *height){        *width=0;        for (*height=0; banner[*height] != NULL; (*height)++) {                int len = strlen(banner[*height]);                if (len > *width) {                        *width = len;        }        }}static int random_in_range(int low, int high){    return low + random() % (high-low+1);}static void setup_palette(void){    int i;    use_putbox = 0;    if (GetGDCapability (HDC_SCREEN, GDCAP_DEPTH) == 8)        use_putbox = 1;    for (i=0; i < 256; i++) {        GAL_Color col;        col.r = ((i >> 5) & 7) * 0xffff / 7;        col.g = ((i >> 2) & 7) * 0xffff / 7;        col.b = ((i)      & 3) * 0xffff / 3;        lookup[i] = RGB2Pixel (HDC_SCREEN, col.r, col.g, col.b);    }}static gal_uint8 trans_buffer[8192];static void translate_hline(HDC hdc, int x, int y, int w, gal_uint8 *data){    int ww = w;#ifdef _USE_NEWGAL    BITMAP bmp = {BMP_TYPE_NORMAL};#else    BITMAP bmp;#endif    gal_uint8  *buf1 = (gal_uint8  *) trans_buffer;    gal_uint16 *buf2 = (gal_uint16 *) trans_buffer;    gal_uint32 *buf4 = (gal_uint32 *) trans_buffer;    switch ( GetGDCapability (hdc, GDCAP_BPP)) {    case 1:        for (; ww > 0; ww--) {            *buf1++ = lookup[*data++];        }        break;    case 2:        for (; ww > 0; ww--) {            *buf2++ = lookup[*data++];        }        break;    case 3:        for (; ww > 0; ww--) {            gal_pixel pix = lookup[*data++];            *buf1++ = pix; pix >>= 8;            *buf1++ = pix; pix >>= 8;            *buf1++ = pix;        }        break;    case 4:        for (; ww > 0; ww--) {            *buf4++ = lookup[*data++];        }        break;    }    #ifdef _USE_NEWGAL    bmp.bmBitsPerPixel = GetGDCapability (hdc, GDCAP_DEPTH);    bmp.bmBytesPerPixel = GetGDCapability (hdc, GDCAP_BPP);    bmp.bmPitch = w;#endif    bmp.bmWidth = w; bmp.bmHeight = 1;    bmp.bmBits = trans_buffer;    FillBoxWithBitmap (hdc, x, y, 0, 0, &bmp);}static void update_frame(HDC hdc){    if (use_putbox) {#ifdef _USE_NEWGAL        BITMAP bmp = {BMP_TYPE_NORMAL};        bmp.bmBitsPerPixel = GetGDCapability (hdc, GDCAP_DEPTH);        bmp.bmBytesPerPixel = GetGDCapability (hdc, GDCAP_BPP);    	bmp.bmPitch = screen_width;#else        BITMAP bmp;#endif    	bmp.bmWidth = screen_width;        bmp.bmHeight = screen_height;    	bmp.bmBits = image_buf;        FillBoxWithBitmap (hdc, 0, 0, 0, 0, &bmp);    } else {        int y;        gal_uint8 *src = (gal_uint8 *) image_buf;        for (y=0; y < screen_height; y++) {            translate_hline(hdc, 0, y, screen_width, src);            src += screen_width;        }    }}static void init_textures(void){        texture_list = NULL;}static void free_textures(void){    Texture *t;        while (texture_list != NULL) {                t = texture_list;        texture_list = t->succ;                free(t);    }    }static void add_texture(int x, int y, gal_uint8 color){        Texture *t;        t = (Texture *) malloc(sizeof(Texture));        t->mid_x = x << 16;        t->mid_y = y << 16;        t->millis = 0;        t->color  = color;        t->speed  = speed + (fixed_speed ? 0 :            random_in_range(-(speed/2), +(speed/2)));        t->succ = texture_list;        texture_list = t;}static void render_texture(int width, int height, Texture *t){        int x, y;        int sx, sy, bx;        int dx, dy;        gal_uint8 *dest;        height <<= 16;        width  <<= 16;        dx = dy = t->size * screen_diag / banner_diag;        bx = t->mid_x - (banner_width  * dx / 2);        sy = t->mid_y - (banner_height * dy / 2);        for (y=0; (banner[y] != NULL) && (sy < height); y++, sy += dy) {                char *pos = banner[y];                if (sy >= 0) {                        dest = image_buf;                        dest += ((sy>>16) * screen_width);                        for (x=0, sx=bx; (*pos != 0) && (sx < width);                  x++, pos++, sx += dx) {                                            if ((sx >= 0) && (*pos == '#'))                                {                                        dest[sx>>16] = t->color;                                }                        }                }        }}static void update_texture(Texture *t, Texture ***prev_ptr, int millis){        t->millis += millis;        t->size = t->millis * t->speed;        if (t->size > max_size) {                                /* remove texture */                **prev_ptr = t->succ;        free(t);                return;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91国偷自产一区二区开放时间 | 日韩三级在线免费观看| 97精品超碰一区二区三区| 国产乱人伦精品一区二区在线观看 | 国产精品九色蝌蚪自拍| 国产亚洲一区字幕| 久久众筹精品私拍模特| 精品福利二区三区| 久久免费看少妇高潮| 久久亚洲私人国产精品va媚药| 欧美丰满少妇xxxbbb| 337p亚洲精品色噜噜噜| 日韩欧美综合一区| 国产亚洲精品久| 国产精品福利av| 亚洲国产综合色| 五月天亚洲精品| 精品一区二区精品| 国产成人一级电影| 91高清视频免费看| 制服丝袜亚洲网站| 国产日韩欧美麻豆| 亚洲综合偷拍欧美一区色| 日韩av中文在线观看| 黄一区二区三区| 99久久综合狠狠综合久久| 欧美特级限制片免费在线观看| 欧美一区二区免费视频| 久久久久久久精| 亚洲柠檬福利资源导航| 日本美女一区二区三区视频| 国产69精品久久久久毛片 | 亚洲一区二区三区四区在线免费观看 | 欧美日韩一区二区电影| 日韩欧美视频在线| 自拍视频在线观看一区二区| 天堂午夜影视日韩欧美一区二区| 国产中文字幕精品| 欧美性生活一区| 国产欧美一区二区在线| 午夜精品久久久久久| 成人手机在线视频| 91精品国产91久久综合桃花| 国产精品素人一区二区| 免费看黄色91| 91福利在线播放| 久久精品男人天堂av| 午夜精品久久久久久久久久久| 国产麻豆精品久久一二三| 欧美猛男gaygay网站| 亚洲欧洲另类国产综合| 精品一区精品二区高清| 欧美日韩一区不卡| 国产精品国产三级国产aⅴ入口| 免费观看成人鲁鲁鲁鲁鲁视频| 99re热视频精品| 久久九九全国免费| 经典三级视频一区| 日韩欧美一级特黄在线播放| 一区二区三区四区视频精品免费| 国产高清成人在线| 久久天堂av综合合色蜜桃网 | 精品成人a区在线观看| 亚洲国产美女搞黄色| 欧美精品视频www在线观看 | 午夜视频一区二区三区| 91丨porny丨最新| 国产精品美女久久久久久久| 国内精品在线播放| 日韩女优毛片在线| 秋霞av亚洲一区二区三| 在线成人高清不卡| 午夜精品久久久久影视| 欧美日韩成人综合在线一区二区| 亚洲欧美激情小说另类| 91丨porny丨最新| 国产精品理论片在线观看| 成人一区二区三区视频| 国产精品美女视频| 成人蜜臀av电影| 国产精品国产成人国产三级| 99在线精品免费| 亚洲日本丝袜连裤袜办公室| 91丨porny丨国产| 亚洲欧美偷拍卡通变态| 色狠狠色狠狠综合| 天天操天天色综合| 日韩欧美在线不卡| 国产精品中文字幕一区二区三区| 26uuu国产在线精品一区二区| 国产一区二区影院| 在线国产亚洲欧美| 一区二区免费看| 中文字幕国产一区| 成a人片亚洲日本久久| 成人欧美一区二区三区小说| 日韩亚洲欧美综合| 精品在线视频一区| 亚洲国产精品传媒在线观看| 91在线国产观看| 日韩成人一区二区三区在线观看| 欧美一区二区三区免费在线看| 精品一区二区三区影院在线午夜 | 国产精品传媒在线| 欧美在线一二三| 久久99久久99| 国产精品久久久久一区| 欧美日韩一区三区| 国产精品亚洲专一区二区三区 | 久久综合九色综合欧美就去吻| 国产精品69毛片高清亚洲| 亚洲美女屁股眼交| 精品国产免费人成在线观看| 成人国产精品免费观看动漫| 亚洲高清中文字幕| 国产欧美视频一区二区三区| 欧美主播一区二区三区| 国产精品中文字幕欧美| 亚洲综合视频网| 日韩一区二区精品葵司在线| 精品国产免费人成电影在线观看四季 | 午夜一区二区三区视频| 国产午夜一区二区三区| 欧美午夜一区二区三区| 国产很黄免费观看久久| 日韩国产欧美三级| 中文字幕一区二区三区四区| 日韩欧美色综合| 一本到一区二区三区| 国产毛片一区二区| 丝袜美腿一区二区三区| 中文字幕亚洲欧美在线不卡| 精品国产乱码久久久久久免费| 欧洲精品在线观看| 99热精品国产| 国产高清不卡一区二区| 蜜芽一区二区三区| 一区二区三区国产豹纹内裤在线| 久久免费偷拍视频| 日韩欧美国产综合一区| 欧美日韩精品系列| 色屁屁一区二区| 成人app在线| 国产麻豆精品在线| 国内不卡的二区三区中文字幕| 亚洲成a人片在线不卡一二三区| 亚洲视频免费在线观看| 国产精品久久精品日日| 国产免费久久精品| 国产肉丝袜一区二区| 欧美va亚洲va在线观看蝴蝶网| 51精品国自产在线| 欧美一区永久视频免费观看| 欧美日韩中文国产| 欧美男男青年gay1069videost| 欧美性三三影院| 欧美日韩日日摸| 欧美日韩高清一区二区| 欧美日韩久久久久久| 欧美三级韩国三级日本一级| 色av成人天堂桃色av| 欧美在线视频你懂得| 欧美精品少妇一区二区三区| 9191久久久久久久久久久| 欧美一区二区久久| 欧美精品一区二区久久婷婷| 久久久精品天堂| 中文字幕一区二区三区在线不卡 | 在线中文字幕一区| 日本道在线观看一区二区| 在线免费观看日韩欧美| 欧美日韩国产另类不卡| 欧美一级精品在线| 国产人妖乱国产精品人妖| 17c精品麻豆一区二区免费| 一区二区三区四区在线免费观看 | 久久色.com| 中文字幕一区二区三区在线观看 | 国产在线视视频有精品| 成人三级伦理片| 欧美综合久久久| 精品捆绑美女sm三区| 国产精品久久久久久福利一牛影视 | 久久99久久99| 成人激情视频网站| 欧美精品久久久久久久多人混战| 精品日韩一区二区三区| 中文乱码免费一区二区| 亚洲午夜激情网页| 国产一区二区三区免费在线观看| 波多野结衣精品在线| 欧美丰满少妇xxxxx高潮对白| 久久亚洲免费视频| 一个色在线综合| 国产乱码精品1区2区3区| 欧美三电影在线| 中文字幕不卡三区| 欧美96一区二区免费视频| 99国产精品久久久久久久久久久| 欧美一级国产精品|