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

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

?? wfnttest.c

?? vxworks下windml的一些demo程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* Copyright 2000 Wind River Systems, Inc. All Rights Reserved *//* wfnttest.c  Font test application for WindML *//*modification history--------------------01g,22feb02,msr  Backward compatability for input API.01f,29jan02,rbp  Addition of support for Native Unix.01e,28aug01,rbp  Fix for __unix__ macro.01h,05nov01,gav  Fixed misnamed devIds01g,05nov01,gav  Change to new registry01f,05nov01,gav  Change to new registry01e,09oct01,msr  Ported to new UGL_Q_EVENT architecture.01d,19dec00,gav  Entry point identical to filename w/o extension.01c,28nov00,gav  Conditional compilation around metric discrepency flagging.01b,14nov00,gav  Fixed font line display clearing.01a,24oct00,gav  Miscellaneous clean-up.*//*DESCRIPTIONThis application opens all of the fonts available and displays themone at a time.  The user change the font displayed by using the arrowand page keys.  For fonts that are multibyte/Unicode, the arrow keys,home, and end keys can be used to display different pages.Glyphs that may have a metric error are displayed on a colored background.*/#include <stdio.h>#include <ugl/ugl.h>#include <ugl/uglos.h>#include <ugl/uglinput.h>#include <ugl/uglMsg.h>#include <ugl/uglfont.h>#include <ugl/uglucode.h>/* #include <ugl/driver/graphics/generic/udgen.h> */UGL_LOCAL int windMLTestFont (void);#define BLACK			(0)#define BLUE			(1)#define GREEN			(2)#define YELLOW			(3)#define WHITE			(4)UGL_LOCAL volatile UGL_BOOL stopTest;UGL_LOCAL int displayHeight, displayWidth;UGL_LOCAL int bannerHeight;UGL_LOCAL int x,y;UGL_LOCAL UGL_DEVICE_ID devId;UGL_LOCAL UGL_GC_ID gc;UGL_LOCAL UGL_FONT_ID fontBanner;UGL_LOCAL UGL_FONT_ID *glyphFontId;UGL_LOCAL UGL_FONT_METRICS metric;UGL_LOCAL UGL_INT16 page, maxPage = 255;UGL_FONT_DRIVER_ID fontDrvId;UGL_INT16 fontNum, fontCount;UGL_INPUT_SERVICE_ID inputServiceId;UGL_LOCAL struct _colorStruct    {    UGL_ARGB rgbColor;    UGL_COLOR uglColor;    }colorTable[] =    {    { UGL_MAKE_RGB(0, 0, 0), 0},     /* Black */    { UGL_MAKE_RGB(0, 0, 168), 0},   /* Blue  */    { UGL_MAKE_RGB(0, 168, 0), 0},   /* Green */    { UGL_MAKE_RGB(255, 255, 84), 0}, /* Yellow */    { UGL_MAKE_RGB(255, 255, 255), 0} /* White  */    };/** This function finds all of the installed fonts and makes them available* for use by the program.*/UGL_LOCAL void acquireFonts(void)    {    UGL_STATUS status;    UGL_FONT_DESC fontDesc;    UGL_SEARCH_ID fontSrchId;    UGL_FONT_DEF fontDef;    /* If these are don't cares, the same font is always returned. */    UGL_FONT_DESC_PRIORITY fdPriority = {1,2,3,4,5,6};    /* Find how many fonts we need to track so we can allocate memory. */    fontCount = 0;    fontSrchId = uglFontFindFirst(fontDrvId, &fontDesc);    if (fontSrchId == 0)        {        glyphFontId = UGL_NULL;        return;        }    fontCount++;    for(;;)        {        if ((status = uglFontFindNext(fontDrvId, &fontDesc, fontSrchId)) == UGL_STATUS_ERROR)            {            printf("The the iterating font finder broke.\n");            return;                   }        if (status == UGL_STATUS_FINISHED)            break;        fontCount++;        }    uglFontFindClose(fontDrvId,fontSrchId);    /* Allocate an Id array to hold all of the fonts to be created. */    if ((glyphFontId = (UGL_FONT_ID *)UGL_MALLOC(fontCount * sizeof(UGL_FONT_ID))) == 0)        {        printf("Couldn't allocate the memory for the font ID array.\n");        return;        }    /*    * At one time we couldn't call uglFontFind from within a First-Next    * construct, so we did this...    */    /* For each font... */    printf("\n %d fonts found.\n",fontCount);    for (fontNum = 0; fontNum < fontCount; fontNum++)        {        UGL_INT16 i;        /* Walk the list as far as we need. */        fontSrchId = uglFontFindFirst(fontDrvId, &fontDesc);        if (fontSrchId == 0)            {            UGL_FREE(glyphFontId);            glyphFontId = UGL_NULL;            return;            }        i = 0;        while(i < fontNum)            {            if ((status = uglFontFindNext(fontDrvId, &fontDesc, fontSrchId)) == UGL_STATUS_ERROR)                {                UGL_FREE(glyphFontId);                glyphFontId = UGL_NULL;                printf("The the iterating font finder broke.\n");                return;                       }            i++;            }        uglFontFindClose(fontDrvId,fontSrchId);        if (uglFontFind(fontDrvId, &fontDesc, &fdPriority, &fontDef) == UGL_STATUS_ERROR)             {            UGL_FREE(glyphFontId);            glyphFontId = UGL_NULL;            printf("The the font finder broke.\n");            printf("fontNum = %d\n",fontNum);            return;            }        if ((glyphFontId[fontNum] = uglFontCreate(fontDrvId, &fontDef)) == UGL_NULL)            {            UGL_FREE(glyphFontId);            glyphFontId = UGL_NULL;            printf("The the font maker broke.\n");            return;            }        }    }/* Put a page of glyphs on the screen. */UGL_LOCAL void pagePaint (void)    {    UGL_SIZE textWidth, textHeight;    UGL_SIZE fontWidth, fontHeight, cellWidth, cellHeight;    UGL_WCHAR output[] = { 0, 0 };    UGL_SIZE ix, iy;    UGL_BOOL wide;    char snum[80];    uglBackgroundColorSet(gc, colorTable[BLACK].uglColor);    uglForegroundColorSet(gc, colorTable[BLACK].uglColor);    uglRectangle(gc,0,bannerHeight, displayWidth - 1, displayHeight - 1);    /* The 'metric' of a font includes its height, width, name, etc. */    uglFontSet(gc, glyphFontId[fontNum]);    if (uglFontMetricsGet(glyphFontId[fontNum], &metric) != 0)        {        printf("uglFontMetricsGet failed.\n");        return;        }    /* Use the font's information for formating the display of glyphs. */    fontWidth  = metric.maxAdvance;    fontHeight = metric.maxAscent + metric.maxDescent;    cellWidth  = fontWidth + 4;    cellHeight = fontHeight + 4;    /* Test to see if the driver supports wide character sets. */    output[0] = 'M';    if (uglTextSizeGetW(glyphFontId[fontNum], &textWidth, &textHeight, 1, output) == UGL_STATUS_ERROR)        {        wide = UGL_FALSE;        output[0] = 0;        }    else        {        wide = UGL_TRUE;        /*        * If the driver and the font support wide character sets, then use        * page value.        */        output[0] = 0;        output[0] |= page << 8;        }    uglForegroundColorSet(gc, colorTable[GREEN].uglColor);    /* Draw the grid to contain the glyphs. */    for (iy = 0; iy <= 16; iy++)        uglLine(gc, 0,iy * cellHeight + (bannerHeight << 1) + 3, 16 * cellWidth, iy * cellHeight + (bannerHeight << 1) + 3);    for (ix = 0; ix <= 16; ix++)        uglLine(gc, ix * cellWidth, (bannerHeight << 1) + 3, ix * cellWidth, 16 * cellHeight + (bannerHeight << 1) + 3);    uglForegroundColorSet(gc, colorTable[WHITE].uglColor);    /* Draw the glyphs */    for (iy = 0; iy < 16; iy++)        for (ix = 0; ix < 16; ix++)            {            /* Check the font itself for any metric errors. */            if (wide)                uglTextSizeGetW(glyphFontId[fontNum], &textWidth, &textHeight, 1, output);            else                 uglTextSizeGet(glyphFontId[fontNum], &textWidth, &textHeight, 1, (char *) output);#if defined(GLYPH_METRIC_FLAGGING)            if (textWidth > fontWidth || textHeight > fontHeight ||                textHeight < 0 || textWidth < 0)                {                uglForegroundColorSet(gc, colorTable[GREEN].uglColor);                uglBackgroundColorSet(gc, colorTable[YELLOW].uglColor);                uglRectangle(gc, ix * cellWidth, iy * cellHeight + (bannerHeight << 1) + 3,                                 (ix + 1) * cellWidth, (iy + 1) * cellHeight + (bannerHeight << 1) + 3);                uglForegroundColorSet(gc, colorTable[BLACK].uglColor);                if (wide)                    uglTextDrawW(gc, ix * cellWidth + 2, iy * cellHeight + (bannerHeight << 1) + 5, 1, output);                else                     uglTextDraw(gc, ix * cellWidth + 2, iy * cellHeight + (bannerHeight << 1) + 5, 1, (char *) output);                uglBackgroundColorSet(gc, colorTable[BLACK].uglColor);                uglForegroundColorSet(gc, colorTable[WHITE].uglColor);                }            else#endif                {                if (wide)                    uglTextDrawW(gc, ix * cellWidth + 2, iy * cellHeight + (bannerHeight << 1) + 5, 1, output);                else                     uglTextDraw(gc, ix * cellWidth + 2, iy * cellHeight + (bannerHeight << 1) + 5, 1, (char *) output);                }            if (wide)                output[0]++;            else                ((char *)output)[0]++;            }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美专区在线观看一区| 国产拍揄自揄精品视频麻豆| 亚洲啪啪综合av一区二区三区| 亚洲大型综合色站| 国产成人8x视频一区二区| 欧美日韩视频在线第一区| 国产精品免费丝袜| 麻豆成人久久精品二区三区小说| 色诱视频网站一区| 国产日本亚洲高清| 国内久久婷婷综合| 欧美一区二区三区在线| 樱桃国产成人精品视频| 波多野洁衣一区| 国产视频911| 精品一区二区免费| 欧美一二区视频| 日韩精品三区四区| 欧美日韩国产综合久久 | 一区二区三区国产豹纹内裤在线| 国产精品综合在线视频| 欧美不卡激情三级在线观看| 调教+趴+乳夹+国产+精品| 日本高清不卡aⅴ免费网站| 中文字幕在线观看不卡| 成人免费毛片嘿嘿连载视频| 国产欧美一区二区三区在线看蜜臀| 狠狠色狠狠色综合| 久久久无码精品亚洲日韩按摩| 日本最新不卡在线| 欧美一区二区大片| 麻豆91免费观看| 精品入口麻豆88视频| 国产一级精品在线| 国产免费观看久久| 99久久精品免费看| 一区二区三区在线视频观看58| 91色综合久久久久婷婷| 亚洲最快最全在线视频| 欧美三级在线看| 五月天激情综合网| 欧美成人激情免费网| 国产乱码精品1区2区3区| 久久久噜噜噜久噜久久综合| 成人午夜av电影| 一区二区三区在线免费| 欧美日韩午夜精品| 激情成人午夜视频| 中文字幕一区二区三区四区 | 久久99精品久久久久久动态图 | 亚洲成av人片在线观看无码| 欧美日本一区二区在线观看| 麻豆成人av在线| 裸体歌舞表演一区二区| 精品久久久久99| av在线不卡电影| 日韩制服丝袜先锋影音| 久久亚洲一级片| 色综合久久久久综合| 爽好久久久欧美精品| 久久亚洲欧美国产精品乐播| 99久久99久久久精品齐齐| 无码av中文一区二区三区桃花岛| 久久亚区不卡日本| 欧美伊人久久大香线蕉综合69| 狠狠久久亚洲欧美| 一区二区三区在线免费观看| 精品三级在线看| 在线观看av一区| 国产亚洲午夜高清国产拍精品 | 青青草原综合久久大伊人精品优势| 69堂精品视频| 成人性生交大片免费看中文| 天堂va蜜桃一区二区三区漫画版| 久久久久亚洲蜜桃| 欧美最新大片在线看| 国产精品99久久久| 视频一区中文字幕| 亚洲色图都市小说| 精品国产自在久精品国产| 在线观看日韩电影| 成人午夜精品一区二区三区| 欧美a级理论片| 一区二区三区精品在线观看| 国产性做久久久久久| 欧美一区二区播放| 欧美性猛片aaaaaaa做受| 国产成人精品免费在线| 男人操女人的视频在线观看欧美| 国产精品久久久久久久久搜平片 | 亚洲精品成人在线| 国产精品免费看片| 久久综合资源网| 欧美精品视频www在线观看| 91亚洲永久精品| 成人小视频免费在线观看| 麻豆精品视频在线观看视频| 亚洲高清视频中文字幕| 又紧又大又爽精品一区二区| 国产精品国产馆在线真实露脸 | 日韩久久精品一区| 欧美日韩一区二区欧美激情| 99精品欧美一区二区蜜桃免费| 国产91精品在线观看| 国产精品538一区二区在线| 久久爱www久久做| 精品一区二区在线看| 蜜桃久久久久久| 看电视剧不卡顿的网站| 老司机精品视频在线| 精品在线视频一区| 国产精品一区二区在线看| 国产麻豆一精品一av一免费| 久久爱另类一区二区小说| 卡一卡二国产精品| 激情综合色播激情啊| 黑人精品欧美一区二区蜜桃 | 日韩电影在线一区二区三区| 亚洲一区二区成人在线观看| 亚洲精品亚洲人成人网在线播放| 亚洲日本在线a| 亚洲精品中文字幕在线观看| 亚洲综合999| 婷婷国产v国产偷v亚洲高清| 日韩av电影天堂| 国产在线日韩欧美| 国产精品99久久久久久久女警 | 日韩一区二区中文字幕| 欧美xxxxxxxxx| 国产午夜精品理论片a级大结局| 国产人久久人人人人爽| 亚洲日本在线观看| 免费xxxx性欧美18vr| 国产精品99久久久久| 97精品久久久久中文字幕| 欧美色精品天天在线观看视频| 日韩欧美一区二区视频| 久久精品视频网| 有坂深雪av一区二区精品| 久久狠狠亚洲综合| 99久久精品国产一区二区三区| 欧美艳星brazzers| 精品对白一区国产伦| 综合久久一区二区三区| 午夜视频一区在线观看| 国产最新精品免费| 色94色欧美sute亚洲线路一久| 欧美一区二区三区电影| 国产精品丝袜一区| 亚洲不卡av一区二区三区| 激情都市一区二区| 欧美天天综合网| 欧美激情中文字幕一区二区| 亚洲综合另类小说| 国产精品 欧美精品| 欧美三级乱人伦电影| 国产欧美一区二区精品久导航| 亚洲一区在线观看视频| 国产成人高清视频| 欧美精品tushy高清| 国产精品久久免费看| 久久91精品久久久久久秒播| 色婷婷一区二区| 欧美国产精品中文字幕| 麻豆免费看一区二区三区| 色域天天综合网| 国产精品色呦呦| 久久www免费人成看片高清| 欧美日韩中字一区| 国产精品二三区| 国产美女精品在线| 欧美videossexotv100| 亚洲一区二区av电影| av中文字幕一区| 日本一区二区三区视频视频| 毛片一区二区三区| 欧美日韩在线播放一区| 最新成人av在线| 盗摄精品av一区二区三区| 欧美成人乱码一区二区三区| 无码av免费一区二区三区试看 | 国产欧美一区二区精品婷婷 | 国产精品国产三级国产普通话99 | 中文无字幕一区二区三区| 日韩av中文字幕一区二区三区| 色呦呦日韩精品| 中文字幕中文字幕一区| 国产91丝袜在线18| 欧美激情艳妇裸体舞| 国产精品自拍网站| 国产欧美一区二区三区在线看蜜臀| 久久精品免费看| 337p粉嫩大胆色噜噜噜噜亚洲| 日本视频在线一区| 欧美一区二区三区播放老司机| 午夜精品影院在线观看| 欧美精品在线观看一区二区| 亚洲丰满少妇videoshd| 91精品啪在线观看国产60岁| 日韩精品1区2区3区|