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

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

?? wextext.c

?? vxworks下windml的一些demo程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* wextext.c - WindML Text I/O example program *//* Copyright 2000-2002 Wind River Systems, Inc. All Rights Reserved *//*modification history--------------------01r,26jun02,gav  Remove date from banner.01q,13jun02,gav  Fixed DIAB compile crash and warning.01p,25feb02,wdf  Fixed compiler warings.01o,22feb02,msr  Backward compatability for input API.01n,29jan02,rbp  Addition of support for Native Unix.01m,23jan02,msr  Added "keyCode" to raw keyboard event data.01l,05nov01,gav  Fixed misnamed devIds01k,05nov01,gav  Change to new registry01j,05nov01,gav  Change to new registry01i,09oct01,msr  Ported to new UGL_Q_EVENT architecture.01h,19dec00,gav  Entry point identical to filename w/o extension.01g,06dec00,rfm  Choose a pixel size for the Banner font01f,28nov00,gav  Added special key identification.01e,21nov00,gav  Added font name, etc. to banner display.01d,16nov00,msr  Fixed SPR #6205101c,27oct00,rfm  Added stdio usage01b,26oct00,rfm  Modified entry point01a,25oct00,rfm  Added modification history*//***************************************************************  WindML Example - Text IO** This example program demonstrates how to echo characters * input from a keyboard to the screen.** This example requires a keyboard.** To start the example:** -> ld < wextext_ugl.o* -> wextext** To stop the example:** -> wextextStop***************************************************************/#include <ugl/uglucode.h>/* This is included for a printf prototype. */#include <stdio.h>/** Include the UGL header file to use UGL functions, etc.*/#include <ugl/ugl.h>#include <ugl/uglos.h>/** Include header file for the input features of WindML.  WindML's input* API provide the access to a pointing device and keyboard if they are * present and supported by a driver.*/#include <ugl/uglinput.h>/** Messages in WindML allow the application to work independently from the* input processing, while still having access to the input messages.*/#include <ugl/uglMsg.h>/** The Font API in WindML provides access to the font engine and fonts* for rendering the fonts to a bitmap (or screen).*/#include <ugl/uglfont.h>/** Include the standard I/O for printf's (errors to the host* console).*/#include <stdio.h>/* A forward declaration for this program. */int windMLExampleTextIO (void);/* Defines */#define BLACK			(0)#define BLUE			(1)#define GREEN			(2)#define YELLOW			(3)#define WHITE			(4)/* Global variables *//* Control variable to signal when to stop program */UGL_LOCAL volatile UGL_BOOL stopWex;/* input service */UGL_INPUT_SERVICE_ID inputServiceId;/* Some graphics environment information */UGL_LOCAL int displayHeight, displayWidth;/* * We want to protect the banner at the top of the screen from being* overwritten so keep track of its height.  All subsequent rendering* will be done below this.*/UGL_LOCAL int bannerHeight;/** The x and y coordinates of the "cursor".  Not really a cursor, but simply* the place on the screen where the next text output will be rendered.*/UGL_LOCAL int x,y;/* * The UGL Graphics Context (GC) is an important concept in UGL.* The GC contains data that various UGL functions can use.* If there were no such thing as a GC, most function calls* would require several more parameters to communicate that* information.*/UGL_LOCAL UGL_GC_ID gc;/** UGL supports multiple fonts to be active at once.  Each font that is* "created" requires an identifier.  For this example we will use two* fonts.*/UGL_LOCAL UGL_FONT_ID fontEcho;UGL_LOCAL UGL_FONT_ID fontBanner;/** The color table is where we define the colors we want* to have available.  The format is an array of* ARGB values paired with their allocated uglColor.  As* of this writing, we don't need to worry about Alpha* ("A") values unless we are using video.*/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, 255, 0), 0},   /* Green */    { UGL_MAKE_RGB(255, 255, 84), 0}, /* Yellow */    { UGL_MAKE_RGB(255, 255, 255), 0} /* White  */    };/** This function is not necessary for the example, but is included as* a means of testing keyboard operation and mappings.  Since the* keyboard has several keys that are not associated with a particular* "glyph" (i.e. graphical representation of a character), a means of* making sure that the key pressed is returning the desired key code.** This function displays a text description on the banner for the* special keys.*/UGL_LOCAL UGL_BOOL specialKey(UGL_UINT16 scanCode, UGL_WCHAR key)    {    /* restrict the keys to the Unicode range of values. */    UGL_WCHAR nomodkey = (UGL_WCHAR)(key & 0xffff);    UGL_CHAR keyText[30];    UGL_BOOL retCode = UGL_TRUE;    int textWidth, textHeight;    /*    * Initialize the keyText to something valid for the size function    * that may be called later.    */    sprintf(keyText, "UGL");    /* If the key is not mapped at all, say so. */        if (key == 0)        {        sprintf(keyText,"Un-mapped key: scanCode %d\n",scanCode);        retCode = UGL_TRUE;        }    else switch (nomodkey)    /* The key is mapped, so see if it is one of the non-printable ones. */        {        case UGL_UNI_BACKSPACE:            sprintf(keyText,"UGL_UNI_BACKSPACE\n");            break;        case UGL_UNI_DELETE:            sprintf(keyText,"UGL_UNI_DELETE\n");            break;        case UGL_UNI_F1:            sprintf(keyText,"UGL_UNI_F1\n");            break;        case UGL_UNI_F2:            sprintf(keyText,"UGL_UNI_F2\n");            break;        case UGL_UNI_F3:            sprintf(keyText,"UGL_UNI_F3\n");            break;        case UGL_UNI_F4:            sprintf(keyText,"UGL_UNI_F4\n");            break;        case UGL_UNI_F5:            sprintf(keyText,"UGL_UNI_F5\n");            break;        case UGL_UNI_F6:            sprintf(keyText,"UGL_UNI_F6\n");            break;        case UGL_UNI_F7:            sprintf(keyText,"UGL_UNI_F7\n");            break;        case UGL_UNI_F8:            sprintf(keyText,"UGL_UNI_F8\n");            break;        case UGL_UNI_F9:            sprintf(keyText,"UGL_UNI_F9\n");            break;        case UGL_UNI_F10:            sprintf(keyText,"UGL_UNI_F10\n");            break;        case UGL_UNI_F11:            sprintf(keyText,"UGL_UNI_F11\n");            break;        case UGL_UNI_F12:            sprintf(keyText,"UGL_UNI_F12\n");            break;                case UGL_UNI_HOME:            sprintf(keyText,"UGL_UNI_HOME\n");            break;        case UGL_UNI_END:            sprintf(keyText,"UGL_UNI_END\n");            break;        case UGL_UNI_INSERT:            sprintf(keyText,"UGL_UNI_INSERT\n");            break;        case UGL_UNI_PAGE_UP:            sprintf(keyText,"UGL_UNI_PAGE_UP\n");            break;        case UGL_UNI_PAGE_DOWN:            sprintf(keyText,"UGL_UNI_PAGE_DOWN\n");            break;        case UGL_UNI_LEFT_ARROW:            sprintf(keyText,"UGL_UNI_LEFT_ARROW\n");            break;        case UGL_UNI_RIGHT_ARROW:            sprintf(keyText,"UGL_UNI_RIGHT_ARROW\n");            break;        case UGL_UNI_UP_ARROW:            sprintf(keyText,"UGL_UNI_UP_ARROW\n");            break;        case UGL_UNI_DOWN_ARROW:            sprintf(keyText,"UGL_UNI_DOWN_ARROW\n");            break;        case UGL_UNI_PRINT_SCREEN:            sprintf(keyText,"UGL_UNI_PRINT_SCREEN\n");            break;        case UGL_UNI_PAUSE:            sprintf(keyText,"UGL_UNI_PAUSE\n");            break;        case UGL_UNI_CAPS_LOCK:            sprintf(keyText,"UGL_UNI_CAPS_LOCK\n");            break;        case UGL_UNI_NUM_LOCK:            sprintf(keyText,"UGL_UNI_NUM_LOCK\n");            break;        case UGL_UNI_SCROLL_LOCK:            sprintf(keyText,"UGL_UNI_SCROLL_LOCK\n");            break;        case UGL_UNI_LEFT_SHIFT:            sprintf(keyText,"UGL_UNI_LEFT_SHIFT\n");            break;        case UGL_UNI_RIGHT_SHIFT:            sprintf(keyText,"UGL_UNI_RIGHT_SHIFT\n");            break;        case UGL_UNI_LEFT_CTRL:            sprintf(keyText,"UGL_UNI_LEFT_CTRL\n");            break;        case UGL_UNI_RIGHT_CTRL:            sprintf(keyText,"UGL_UNI_RIGHT_CTRL\n");            break;        case UGL_UNI_LEFT_ALT:            sprintf(keyText,"UGL_UNI_LEFT_ALT\n");            break;        case UGL_UNI_RIGHT_ALT:            sprintf(keyText,"UGL_UNI_RIGHT_ALT\n");            break;        case UGL_UNI_PROGRAM:            sprintf(keyText,"UGL_UNI_PROGRAM\n");            break;        default:            retCode = UGL_FALSE;        }    /* Use the font we selected for the banner text. */    uglFontSet(gc, fontBanner);    uglTextSizeGet(fontBanner, &textWidth, &textHeight, -1, keyText);    /* Clear the text area for a new text line. */    uglForegroundColorSet(gc,colorTable[BLACK].uglColor);    uglBackgroundColorSet(gc,colorTable[BLACK].uglColor);    uglRectangle(gc, 3 * displayWidth / 4, 0, displayWidth, textHeight);    /* If the code is not printable, print its description on the banner. */    if (retCode == UGL_TRUE)        {        uglForegroundColorSet(gc,colorTable[GREEN].uglColor);        uglBackgroundColorSet(gc,colorTable[BLACK].uglColor);        uglTextDraw(gc, 3 * displayWidth / 4, 0, -1, keyText);        }    /*    * The return code will control whether or not an attempt will be made to    * print the character's glyph.  No attempt is made for the characters    * identified in this function.    */    return (retCode);    }/** This is a function that renders text in a simple "echo" fashion.* It supports wrapping at the line ends and the bottom of the screen.* It also recognizes the carriage return key, and tab key.  For the* backspace key to work properly, a text buffer would be needed to keep* track of what characters (and their glyphs) are being backed over.  The* problem is that glyphs can be variable in width.  So the backspace key* is not implemented and treated as a non-printable glyph.*/UGL_LOCAL void textEcho (UGL_UINT16 scanCode, UGL_WCHAR key)    {    /* These are used to position the text correctly on the screen. */    int textWidth, textHeight;    /* UGL outputs a string so we create a one character string here. */    UGL_CHAR output[] = { 0, 0 };    output [0] = (UGL_CHAR) key;    /*    * Check to see if the key is printable or not.  If it is not printable,    * then don't try to print it.    */    if (!specialKey(scanCode, key))        {        /* Use the font we selected for echoing text. */        uglFontSet(gc, fontEcho);        /*        * Get the size of this particular output string, using the        * currently selected font.        */        uglTextSizeGet(fontEcho, &textWidth, &textHeight, -1, output);        /*        * If this was a special key (typically not printable), give it        * special treatment.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久亚洲精品小早川怜子| 午夜精品一区二区三区三上悠亚 | 欧美日韩一区二区欧美激情 | 国产精品成人一区二区艾草| 亚洲福中文字幕伊人影院| 国产一区二区在线视频| 欧美色中文字幕| 国产欧美视频一区二区| 欧美a级理论片| 欧美日韩一级片网站| 国产精品人成在线观看免费| 激情国产一区二区| 51精品国自产在线| 亚洲一区二区三区四区的| 成人av资源下载| 久久亚洲一区二区三区明星换脸 | 91精品1区2区| 国产亚洲短视频| 麻豆成人av在线| 在线播放91灌醉迷j高跟美女 | 久久综合久久综合久久综合| 夜夜嗨av一区二区三区四季av | 欧美二区乱c少妇| 亚洲精品国产一区二区三区四区在线 | 奇米精品一区二区三区在线观看| 91成人在线精品| 亚洲在线视频免费观看| 91免费精品国自产拍在线不卡| 中文字幕av不卡| 成人免费视频视频| 国产精品无遮挡| 99re8在线精品视频免费播放| 中文字幕一区二区在线观看| 99免费精品视频| 一区二区三区在线视频播放| 色噜噜夜夜夜综合网| 亚洲午夜精品久久久久久久久| 色婷婷国产精品| 亚洲综合小说图片| 欧美日韩综合不卡| 琪琪一区二区三区| 2023国产精华国产精品| 国产成人在线免费观看| 欧美韩日一区二区三区四区| av日韩在线网站| 亚洲国产日韩精品| 欧美精品v日韩精品v韩国精品v| 日韩电影网1区2区| 精品国产a毛片| 成人免费av网站| 亚洲精品免费在线| 欧美一区日本一区韩国一区| 国产美女精品一区二区三区| 亚洲国产精品二十页| 972aa.com艺术欧美| 亚洲国产乱码最新视频| 日韩免费视频一区二区| 岛国精品在线播放| 性做久久久久久| 久久精品夜色噜噜亚洲a∨| www.亚洲激情.com| 性做久久久久久免费观看| www国产精品av| 色素色在线综合| 日韩在线a电影| 欧美国产欧美综合| 欧美日韩国产综合视频在线观看 | 亚洲国产精品综合小说图片区| 欧美日韩免费电影| 国产伦精品一区二区三区视频青涩 | 欧美va亚洲va香蕉在线| 成人免费va视频| 日本不卡高清视频| 一区在线中文字幕| 精品视频1区2区3区| 国产成人精品一区二| 日韩高清在线一区| 亚洲欧美综合另类在线卡通| 91精品国产综合久久精品app| 国产成人亚洲综合a∨婷婷图片| 亚洲一二三专区| 国产精品理论片| 欧美www视频| 精品视频在线免费看| 成人自拍视频在线| 久久不见久久见免费视频7| 亚洲综合丝袜美腿| 国产精品成人一区二区艾草| 精品久久久久香蕉网| 欧美亚洲动漫另类| 国产成人精品午夜视频免费| 日韩精品久久久久久| 一区二区三区不卡在线观看 | 91麻豆国产福利在线观看| 精品一区二区三区日韩| 午夜一区二区三区视频| 亚洲欧美日韩精品久久久久| 国产欧美综合在线观看第十页| 精品国产乱码久久久久久久久| 欧美日韩国产另类一区| 欧美在线观看你懂的| 91影院在线免费观看| 国产传媒一区在线| 国产一区999| 精品一区二区三区欧美| 玖玖九九国产精品| 日本特黄久久久高潮| 午夜精彩视频在线观看不卡| 一区二区免费在线| 一区二区三区精品在线观看| 夜夜嗨av一区二区三区网页| 亚洲激情图片一区| 一区二区三区精品在线观看| 亚洲精品视频免费看| 亚洲免费视频中文字幕| 一区二区三区毛片| 亚洲午夜精品网| 日韩精品国产精品| 久久91精品国产91久久小草| 激情国产一区二区| 国产福利一区二区三区视频| 国产suv精品一区二区6| 国产·精品毛片| 91免费看`日韩一区二区| 91偷拍与自偷拍精品| 在线观看亚洲精品| 欧美顶级少妇做爰| 精品成人佐山爱一区二区| 久久久久久**毛片大全| 国产精品毛片无遮挡高清| 亚洲久本草在线中文字幕| 亚洲动漫第一页| 人妖欧美一区二区| 国产乱码字幕精品高清av | 激情成人综合网| 国产v综合v亚洲欧| 日本精品一区二区三区高清| 欧美欧美欧美欧美| 精品国产91乱码一区二区三区| 国产欧美一区二区精品仙草咪| 亚洲少妇30p| 日韩高清中文字幕一区| 国产精品系列在线播放| 一本色道久久综合亚洲91| 51精品视频一区二区三区| 久久免费美女视频| 亚洲国产视频网站| 精品写真视频在线观看| 色综合欧美在线| 欧美大片国产精品| 亚洲国产精品成人综合| 午夜久久久久久久久久一区二区| 国产一区二区三区在线观看免费视频| 懂色av中文一区二区三区| 欧美日免费三级在线| 国产日韩欧美在线一区| 亚洲国产中文字幕在线视频综合| 麻豆成人91精品二区三区| 欧美这里有精品| 国产亚洲欧洲997久久综合| 亚欧色一区w666天堂| 不卡一区在线观看| 日韩精品最新网址| 亚洲综合免费观看高清完整版在线 | 日本二三区不卡| 久久精品视频网| 欧美aaaaa成人免费观看视频| 成人黄色在线视频| 精品国产91亚洲一区二区三区婷婷| 亚洲欧美日韩精品久久久久| 国产精品99久久久久久似苏梦涵| 欧美巨大另类极品videosbest | 亚洲国产成人自拍| 亚洲成人免费电影| 成人午夜激情视频| caoporm超碰国产精品| 久久综合狠狠综合久久激情| 亚洲猫色日本管| 久久91精品国产91久久小草| 欧美久久一二三四区| 国产免费观看久久| 日本vs亚洲vs韩国一区三区二区| 国产福利一区在线观看| 精品国产3级a| 日韩精品欧美成人高清一区二区| 不卡影院免费观看| 国产精品麻豆网站| 久久99精品网久久| 欧美日韩一区小说| 《视频一区视频二区| 精品一区二区三区视频| 欧美丰满少妇xxxbbb| 亚洲精品成人精品456| 色综合色狠狠综合色| 国产精品免费视频观看| 国内久久精品视频| 国产亚洲一区字幕| 国产在线视视频有精品| 日韩欧美国产一区在线观看| 日韩电影免费一区|