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

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

?? scrnsaver.c

?? 對做ARM的人來說
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*    $Id: scrnsaver.c,v 1.5 2005/09/04 08:24:53 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 <sys/time.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>#define fixed  gal_sint32   /* 16.16 */#define DEFAULT_WIDTH   1024#define DEFAULT_HEIGHT  768#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;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本道在线观看一区二区| 精品日产卡一卡二卡麻豆| 国产三级久久久| 国产精品1024| 国产清纯在线一区二区www| 岛国一区二区在线观看| 最新不卡av在线| 丁香激情综合国产| 中文字幕av在线一区二区三区| 国产一区二区福利| 中文字幕中文字幕在线一区 | 欧美日韩国产经典色站一区二区三区| 亚洲人精品午夜| 欧美一区二区三区在线观看视频| 免费观看在线色综合| 日本一区二区成人| 欧美老肥妇做.爰bbww视频| 国产精品剧情在线亚洲| 91网站黄www| 青青草国产精品97视觉盛宴| 精品少妇一区二区三区免费观看| 国产成人超碰人人澡人人澡| 亚洲激情欧美激情| 国产三级久久久| 欧美日韩在线亚洲一区蜜芽| 国产一区二区三区在线观看免费| 亚洲最大成人网4388xx| 国产喂奶挤奶一区二区三区| 欧美日韩成人激情| 色婷婷国产精品综合在线观看| 日产精品久久久久久久性色| 亚洲欧美怡红院| 欧美激情自拍偷拍| 久久久亚洲高清| 精品国产一区二区亚洲人成毛片| 色狠狠av一区二区三区| 波多野结衣亚洲| 福利电影一区二区三区| 国产成人福利片| 国产成人精品亚洲午夜麻豆| 国产精品综合在线视频| 麻豆精品一区二区| 日本成人在线不卡视频| 视频一区视频二区中文字幕| 亚洲乱码国产乱码精品精可以看| 亚洲欧洲日产国产综合网| 中文一区一区三区高中清不卡| 精品乱码亚洲一区二区不卡| 久久亚洲欧美国产精品乐播| 2014亚洲片线观看视频免费| 欧美精品一区男女天堂| 2020国产精品自拍| 国产精品久久久久天堂| 亚洲乱码国产乱码精品精的特点 | 色欧美片视频在线观看 | 99久久久免费精品国产一区二区| 北岛玲一区二区三区四区| 色欧美片视频在线观看在线视频| 欧美婷婷六月丁香综合色| 欧美一区二区网站| 国产精品三级av在线播放| 亚洲九九爱视频| 美国毛片一区二区三区| 成人h动漫精品一区二区| 在线欧美日韩精品| 久久久久青草大香线综合精品| 国产精品成人网| 天堂影院一区二区| a亚洲天堂av| 欧美精品一区二区三区四区 | 日韩欧美黄色影院| 国产欧美精品区一区二区三区 | 蜜桃av一区二区在线观看| 国产中文字幕一区| 99国产精品久久久| 日韩精品一区二区三区在线| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲影院理伦片| 丁香五精品蜜臀久久久久99网站 | 亚洲第一狼人社区| 日本aⅴ精品一区二区三区| 成人午夜在线免费| 日韩精品资源二区在线| 亚洲在线观看免费视频| av在线不卡观看免费观看| 精品国产免费久久 | 日韩欧美国产成人一区二区| 亚洲二区在线观看| 欧美综合色免费| 亚洲精品国产a| 91豆麻精品91久久久久久| 日韩高清不卡一区| 欧美日本一道本| 日日摸夜夜添夜夜添国产精品| 欧美性感一类影片在线播放| 亚洲女人小视频在线观看| 不卡电影免费在线播放一区| 国产午夜精品一区二区三区四区| 国产精品综合二区| 国产精品电影一区二区三区| 91蜜桃免费观看视频| 一区二区三区国产精华| 欧美在线一区二区| 美女一区二区三区| 国产精品动漫网站| 欧美日韩久久久久久| 蜜桃视频一区二区三区在线观看| 日韩欧美国产一区二区在线播放| 国内精品不卡在线| 亚洲日本韩国一区| 精品国免费一区二区三区| 懂色av一区二区三区免费观看| 自拍偷拍亚洲激情| 日韩欧美一二三| 色综合久久久久久久久| 蜜臀a∨国产成人精品| 亚洲情趣在线观看| www成人在线观看| 欧洲视频一区二区| 国产乱子轮精品视频| 亚洲乱码精品一二三四区日韩在线| 欧美日韩国产精选| 91论坛在线播放| 国产高清视频一区| 青娱乐精品视频在线| 亚洲视频1区2区| 国产三级一区二区| 日韩一区二区精品在线观看| 色天天综合色天天久久| 波多野结衣亚洲| 国产精品一区二区无线| 久久国产福利国产秒拍| 亚洲高清视频的网址| 亚洲欧美一区二区久久| 久久久国产精品麻豆| 日韩女优视频免费观看| 91精品国产综合久久久久久| 欧美艳星brazzers| 欧美日本免费一区二区三区| 91玉足脚交白嫩脚丫在线播放| 国产自产v一区二区三区c| 国内精品免费**视频| 国产一区 二区| 国产sm精品调教视频网站| 国产精品资源在线| 懂色av一区二区夜夜嗨| 91麻豆.com| 欧美二区三区91| 日韩免费看的电影| 国产清纯在线一区二区www| 国产精品第13页| 天天亚洲美女在线视频| 在线免费观看日本一区| 51精品国自产在线| 久久久综合视频| 亚洲免费av高清| 久久机这里只有精品| 不卡欧美aaaaa| 在线91免费看| 国产精品电影院| 精品一区二区三区免费视频| 成人视屏免费看| 欧美精品在欧美一区二区少妇| 日韩一级黄色大片| 中文一区在线播放| 奇米777欧美一区二区| caoporn国产一区二区| 日韩欧美一二三四区| 亚洲视频香蕉人妖| 国产一区二区三区久久悠悠色av| 91日韩精品一区| 久久综合久久综合九色| 亚洲综合久久久| caoporen国产精品视频| 欧美成人精品3d动漫h| 亚洲精品欧美激情| 97精品久久久午夜一区二区三区 | 99re这里只有精品视频首页| 欧美精品99久久久**| 国产精品理论在线观看| 国产一区二区三区免费播放 | 精品国产乱码久久久久久老虎 | 国产资源在线一区| 免费精品99久久国产综合精品| 毛片基地黄久久久久久天堂| 99久久国产免费看| 国产精品毛片高清在线完整版 | 一级特黄大欧美久久久| 国产一区二区电影| 精品国产污网站| 国内精品免费**视频| 久久综合九色综合欧美98| 日韩成人午夜精品| 日韩午夜小视频| 精品一区二区三区免费视频| 欧美成人bangbros| 国产精品一区二区三区乱码| 国产蜜臀97一区二区三区 | 91尤物视频在线观看| 亚洲欧美日韩中文字幕一区二区三区|