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

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

?? gralleg.c

?? freetype庫的應用demo,里面包含freetype的很多實例
?? C
字號:
/******************************************************************* * *  ft2demos/graph/allegro/gralleg.c * *  Allegro driver for MiGS (minimalist graphics subsystem). Allegro *  (Allegro Low LEvel Gaming ROutines) is a library for sound, *  graphics, timers, etc., and is available on 32-bit DOS, Windows, *  UNIX (X11, DGA, DGA2), Linux (svgalib, framebuffer) and BeOS. * *    http://www.talula.demon.co.uk/allegro/ *    http://sourceforge.net/projects/alleg/ * ******************************************************************//* FT graphics subsystem */#include "grobjs.h"#include "grdevice.h"/* Allegro header */#include <allegro.h>static void set_graypalette(){    PALETTE pal;    int i = 0;    for(; i < 256; i++) {        pal[i].r = i >> 2;        pal[i].g = i >> 2;        pal[i].b = i >> 2;    }    set_palette(pal);}static int almodes[] = {    32,    24,    16,    15,    8,    0};static int gray[256];static int init_device(void){    int* almode = almodes;    if(allegro_init()) return -1;    if(install_keyboard()) return -1;    while(*almode) {        set_color_depth(*almode);        if(*almode == 8) set_graypalette();        if(set_gfx_mode(GFX_AUTODETECT, 640, 480, 0, 0) == 0) {            int i = 0;            for(; i < 256; i++) gray[i] = makecol(i, i, i);            clear(screen);            return 0;        }        almode++;    }    return -1;}static void done_device(void){    allegro_exit();}static void alset_title(grSurface* surface, const char* title_string){    set_window_title(title_string);}static void alrefresh_rect(grSurface* surface, int x, int y, int width, int height){    unsigned char* bufptr = surface->bitmap.buffer;    int cx = 0, cy = 0;    switch(surface->bitmap.mode) {        case gr_pixel_mode_mono:            for(; cy < height; cy++) {                for(cx = 0; cx < width; cx++) {                    putpixel(screen, cx + x, cy + y, (*bufptr++ ? gray[255] : gray[0]));                }            }            break;        case gr_pixel_mode_gray:            for(; cy < height; cy++) {                for(cx = 0; cx < width; cx++) {                    putpixel(screen, cx + x, cy + y, gray[*bufptr++]);                }            }            break;        default:            break;    }}static void aldone(grSurface* surface){    grDoneBitmap(&(surface->bitmap));}static int key_translator[] = {    KEY_F1, grKeyF1,    KEY_F2, grKeyF2,    KEY_F3, grKeyF3,    KEY_F4, grKeyF4,    KEY_F5, grKeyF5,    KEY_F6, grKeyF6,    KEY_F7, grKeyF7,    KEY_F8, grKeyF8,    KEY_F9, grKeyF9,    KEY_F10, grKeyF10,    KEY_F11, grKeyF11,    KEY_F12, grKeyF12,    KEY_LEFT, grKeyLeft,    KEY_RIGHT, grKeyRight,    KEY_UP, grKeyUp,    KEY_DOWN, grKeyDown,    KEY_INSERT, grKeyIns,    KEY_DEL, grKeyDel,    KEY_HOME, grKeyHome,    KEY_END, grKeyEnd,    KEY_PGUP, grKeyPageUp,    KEY_PGDN, grKeyPageDown,    KEY_ESC, grKeyEsc,    KEY_TAB, grKeyTab,    KEY_BACKSPACE, grKeyBackSpace,    KEY_ENTER, grKeyReturn,    0, 0};static int translateKey(int scancode){    int* trans = key_translator;    while(*trans) {        if(scancode == *trans++) {            return *trans;        }        trans++;    }    return 0;}static int allisten_event(grSurface* surface, int event_mode, grEvent* event){    int ch = 0, ascii = 0, scancode = 0, shifts = 0;    event->type = gr_event_key;    while(1) {        ch = readkey();        shifts = 0;        if(key_shifts & KB_SHIFT_FLAG) shifts |= grKeyShift;        if(key_shifts & KB_CTRL_FLAG) shifts |= grKeyCtrl;        if(key_shifts & KB_ALT_FLAG) shifts |= grKeyAlt;        ascii = ch & 0xFF;        scancode = ch >> 8;        if(ascii > 31 && ascii < 127) {            event->key = ascii | shifts;            return 1;        }        if( (ch = translateKey(scancode)) ) {            event->key = ch | shifts;            return 1;        }    }    return 0;}static int init_surface(grSurface* surface, grBitmap* bitmap){    if(grNewBitmap(bitmap->mode, bitmap->grays, bitmap->width, bitmap->rows, bitmap)) return 0;    surface->device = &gr_alleg_device;    surface->bitmap = *bitmap;    surface->refresh = 0;    surface->owner = 0;    surface->saturation = 0;    surface->blit_mono = 0;    surface->refresh_rect = alrefresh_rect;    surface->set_title = alset_title;    surface->listen_event = allisten_event;    surface->done = aldone;    return 1;}grDevice gr_alleg_device ={    sizeof(grSurface),    "Allegro",    init_device,    done_device,    init_surface,    0,    0};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
18成人在线观看| 亚洲一区二区高清| 日本午夜一区二区| 欧美日韩mp4| 午夜激情一区二区三区| 粗大黑人巨茎大战欧美成人| 国产欧美日韩在线视频| 国产酒店精品激情| 国产精品污污网站在线观看| 国产一区二区三区久久久| 2023国产精品视频| 国产精品 欧美精品| 国产精品嫩草99a| 色综合欧美在线视频区| 亚洲免费色视频| 欧美精品高清视频| 精品一区在线看| 国产亚洲人成网站| 97se亚洲国产综合在线| 亚洲猫色日本管| 日韩一区二区在线观看| 国产激情视频一区二区在线观看| 在线中文字幕一区| 又紧又大又爽精品一区二区| 欧美伊人久久久久久久久影院| 亚洲成人综合视频| 久久精品一区二区三区四区| 成人少妇影院yyyy| 人人狠狠综合久久亚洲| 国产欧美精品一区| 欧美在线短视频| 国产成人亚洲综合a∨猫咪| 亚洲国产日日夜夜| 国产精品女上位| 精品国产伦一区二区三区观看方式 | 久久综合九色综合97婷婷女人| 成人一二三区视频| 久久精品二区亚洲w码| 一区二区三区色| 国产欧美一区在线| 在线日韩av片| 久久99国产精品麻豆| 亚洲精品日日夜夜| 国产精品乱人伦| 国产日产欧产精品推荐色| 欧美一二三区在线观看| 欧美亚洲一区三区| 91免费看`日韩一区二区| 国产91丝袜在线观看| 国产老女人精品毛片久久| 三级影片在线观看欧美日韩一区二区| 欧美高清一级片在线观看| 精品国产乱码91久久久久久网站| 91精品午夜视频| 555夜色666亚洲国产免| 欧美日韩一级二级| 欧美精品tushy高清| 欧美一区二区成人6969| 日韩欧美色综合网站| 欧美电影免费观看完整版| 欧美成人精品1314www| 日韩欧美电影一区| 中文字幕乱码日本亚洲一区二区| 欧美精品欧美精品系列| 欧美日韩电影在线播放| 这里只有精品免费| 精品久久久久久亚洲综合网 | 欧美一级黄色大片| 久久久激情视频| 亚洲综合无码一区二区| 日韩电影在线看| 成人免费精品视频| 91麻豆精品国产91久久久久久久久| 日韩欧美在线网站| 国产精品情趣视频| 理论片日本一区| 91小宝寻花一区二区三区| 欧美一区二区视频观看视频| 精品久久久久香蕉网| 一区二区三区免费看视频| 久久国产精品免费| 欧美性高清videossexo| 欧美国产精品中文字幕| 天堂一区二区在线| 91麻豆自制传媒国产之光| 宅男在线国产精品| 国产精品色在线| 国产一区二区三区在线看麻豆 | 午夜国产不卡在线观看视频| 成人av网在线| 久久婷婷国产综合精品青草| 亚洲午夜一区二区| 91麻豆精品秘密| 国产精品美女久久久久久久| 久久99精品久久久久久久久久久久| 色婷婷精品久久二区二区蜜臀av| 国产喷白浆一区二区三区| 久久国产人妖系列| 日韩欧美一区二区三区在线| 日韩经典中文字幕一区| 色综合久久久久综合体桃花网| 国产嫩草影院久久久久| 国产v日产∨综合v精品视频| 久久综合久久综合亚洲| 国产美女主播视频一区| 久久女同互慰一区二区三区| 天堂精品中文字幕在线| 日韩一区二区三区四区| 国产精品美女久久久久久2018| 粉嫩av亚洲一区二区图片| 欧美无砖专区一中文字| 天天综合日日夜夜精品| 欧美videossexotv100| 国产精品夜夜嗨| 中文字幕亚洲不卡| 欧美日韩高清在线| 国产一区二区影院| 玉米视频成人免费看| 日韩欧美国产一区二区三区| 麻豆精品视频在线观看免费| 亚洲精品一线二线三线无人区| 国产iv一区二区三区| 亚洲人成亚洲人成在线观看图片| 在线精品亚洲一区二区不卡| 视频精品一区二区| 国产精品久久久久久久蜜臀| 欧美精品久久一区| 成人动漫一区二区在线| 麻豆成人av在线| 亚洲一区视频在线| 亚洲欧美在线视频观看| 日韩欧美精品在线| 欧美日韩国产美女| 色综合网站在线| 99久久久免费精品国产一区二区 | 欧美日韩aaaaa| 国产精品性做久久久久久| 亚洲国产日韩综合久久精品| 国产日韩欧美精品一区| 欧美一二三在线| 欧美精品色一区二区三区| 欧美亚洲图片小说| kk眼镜猥琐国模调教系列一区二区 | 日韩欧美一区在线| 欧美浪妇xxxx高跟鞋交| 91麻豆国产福利在线观看| 国产伦精品一区二区三区免费迷| 午夜精品一区在线观看| 亚洲国产色一区| 亚洲18女电影在线观看| 亚洲高清免费在线| 青青草国产成人99久久| 日本美女视频一区二区| 青青草伊人久久| 久久成人18免费观看| 韩国精品免费视频| 成人一区二区三区视频在线观看| 国产一区二区视频在线播放| 国产精品456露脸| eeuss鲁片一区二区三区 | 亚洲一区自拍偷拍| 午夜日韩在线电影| 亚洲国产三级在线| 国产毛片一区二区| eeuss鲁片一区二区三区在线看 | 蜜桃视频在线观看一区| 美女视频第一区二区三区免费观看网站| 日韩国产欧美三级| 成人午夜视频网站| 欧美性受极品xxxx喷水| 91精品国产综合久久久久| 久久亚洲一区二区三区明星换脸| 久久久不卡影院| 亚洲国产视频网站| 国产河南妇女毛片精品久久久| 一本到不卡免费一区二区| 日韩视频中午一区| 亚洲一区自拍偷拍| 风间由美中文字幕在线看视频国产欧美 | 欧美成人综合网站| 一区二区免费在线播放| 精品亚洲国产成人av制服丝袜| 91网站最新网址| 国产欧美日韩另类一区| 日韩高清不卡一区二区| 91网页版在线| 精品国产成人在线影院| 日日噜噜夜夜狠狠视频欧美人| 韩日精品视频一区| 欧美久久久一区| 午夜亚洲国产au精品一区二区| 国产91丝袜在线播放0| 日韩精品自拍偷拍| 蜜臀久久99精品久久久久久9| 一本大道久久a久久综合婷婷| 亚洲另类在线制服丝袜| 亚洲国产精品视频| 欧美亚洲动漫精品| 亚洲国产日韩一级| 欧美精选在线播放|