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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? wexcursr.c

?? vxworks下windml的一些demo程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
        * This is a counter to keep the flash of color (rectangle) on the        * screen for a moment before we erase it and wait for another        * button press.        */        UGL_UINT16 delayCount = 0;        /* Continue until end signal */        UGL_FOREVER            {            /*             * We can wait/pend on an message or return after some time.  Since             * we can also stop via cursorStop, we cannot pend indefinitely.            */            UGL_STATUS uStat = uglInputMsgGet (inputServiceId, &msg, 140);            /*            * If the message queue is empty then begin counting the delay time.            */                        if (uStat == UGL_STATUS_Q_EMPTY)                {                /*                * If the delay time has elapsed (5 * 140 mSec), erase the                * screen.                */                if (delayCount == 5)                    {                    uglForegroundColorSet(gc,colorTable[BLACK].uglColor);                    uglBackgroundColorSet(gc,colorTable[BLACK].uglColor);                    uglRectangle(gc, 0, 0, displayWidth, displayHeight);                    delayCount = 0;                    }                else                    delayCount++;  /* Still waiting, increment the counter. */                }            else                {                /*                * If there is an message, process it instead of the delayCount.                *                * There can be all sorts of messages, but here we are only                * interested in input pointer messages.  We could check the                * message's category before this check, but doing so provides                * no benefit here.                */                if (msg.type == MSG_POINTER)                    {                    /*                    * There are more than 3 button modifiers, but most mice                    * have no more than 3, so that's all we'll check for here.                    */                    if (msg.data.pointer.buttonState & UGL_PTR_BUTTON1)                        {                        uglForegroundColorSet(gc,colorTable[RED].uglColor);                        uglBackgroundColorSet(gc,colorTable[RED].uglColor);                        uglRectangle(gc, 0, 0, displayWidth / 3, displayHeight);                        }                    else if (msg.data.pointer.buttonState & UGL_PTR_BUTTON3)                        {                        uglForegroundColorSet(gc,colorTable[WHITE].uglColor);                        uglBackgroundColorSet(gc,colorTable[WHITE].uglColor);                        uglRectangle(gc, displayWidth / 3, 0, 2 * displayWidth / 3, displayHeight);                        }                    else if (msg.data.pointer.buttonState & UGL_PTR_BUTTON2)                        {                        uglForegroundColorSet(gc,colorTable[BLUE].uglColor);                        uglBackgroundColorSet(gc,colorTable[BLUE].uglColor);                        uglRectangle(gc, 2 * displayWidth / 3, 0, displayWidth, displayHeight);                        }                    /*                    * Whether it was a cursor movement or not , calling                    * uglCursorMove will not be a problem because the current                    * position will be in the message's coordinates.  This will                    * also allow the cursor to move while a button is pressed.                    */                    uglCursorMove(devId, msg.data.pointer.position.x,                                   msg.data.pointer.position.y);                    }                }                            /* Stop if we get a signal from cursorStop. */                            if (stopWex)                    break;            }        }    }/**************************************************************************** windMLExampleCursor - main cursor test function** This routine initializes the cursor and starts the test.** RETURNS: ** ERRNO: N/A** SEE ALSO:  **/UGL_LOCAL int windMLExampleCursor     (    int mode                  /* 0 when move based on message, otherwise                                 time delay between moves */    )    {    /*    * Type of pointer device.    */    UGL_INT32 pdType;    /*    * We are using a WindML input message stack in this example.  The first    * layer in the stack is the input device.  This UGL_INPUT_DEV_ID     * type variable allows us to use WindML functions that access a    * particular input device like the keyboard or mouse.    */    UGL_INPUT_DEV_ID pointerDevId;    /*    * The next layer on the stack is the input service.  The input service    * collects messages from the input devices (and other places) and queues    * them for applications to read.    */    /*    * It is possible to constrain the pointer to a certain screen area.    * This rectangle will define the area when passed to the pointer input    * device's info function.    */    UGL_RECT conRect;        /* The cursor DIB is a unique variation of the normal DIB.  It    * has limited colors, the ability to designate transparent, and    * inverting regions, and a "hot spot" (a way to locate it without    * having to use the upper left corner of the DIB).  From the cursor    * DIB we can create a cursor bitmap.  Notice that the cursor bitmap    * has attributes of a transparent bitmap, but with the special DIB,    * a monochrome DIB was not needed to create it.  Once the cursor    * bitmap is created, the DIB may be discarded.  The bitmap, though,    * must remain intact while it is being used by a cursor.    */    UGL_CDIB  cursorDib;    UGL_CDDB_ID cursorBitmap;    /*     * This structure is filled in with data about the frame buffer    * by the uglInfo() function.    */        UGL_MODE_INFO modeInfo;    /*    * The device ID is critical to the operation of UGL.  It    * identifies individual "devices" (display adapter, keyboard,    * font engine, etc.) to functions that may be able to work    * with more than one device.    */        UGL_DEVICE_ID devId;    /*    * Initialize UGL.  Must do this before trying to do anything    * else within UGL/WindML.    */    uglInitialize();    /* Obtain the device identifier for the display */    devId = (UGL_DEVICE_ID)uglRegistryFind (UGL_DISPLAY_TYPE,  0, 0,0)->id;    /*    * Obtain the input service identofier.  Typically there is only one    * input service, but there can be more than one.    */    inputServiceId = (UGL_INPUT_SERVICE_ID)uglRegistryFind (UGL_INPUT_SERVICE_TYPE,  0, 0,0)->id;    /*    * Obtain the device identifier for the pointer device.    */    pointerDevId = (UGL_INPUT_DEV_ID)uglRegistryFind (UGL_PTR_TYPE,  0, 0,0)->id;    /* Just FYI, find out what kind of pointer we have. */    uglInputDevControl (pointerDevId, ICR_GET_PTR_TYPE,                            (void *)&pdType);    if(pdType == UGL_PTR_TYPE_MOUSE)	    printf("A mouse type pointing device detected.\n");    else if(pdType == UGL_PTR_TYPE_TOUCH_SCREEN)	    printf("A touch screen type pointing device detected.\n");    else if(pdType == UGL_PTR_TYPE_PEN_TABLET)	    printf("A pen tablet type pointing device detected.\n");    else        {        mode = 1;	    printf("Unknown pointing device type: 0x%x\n", (int)pdType);        }    /*    * Obtain the dimensions of the display.  We will use these    * to center some of an object.    */    uglInfo(devId, UGL_MODE_INFO_REQ, &modeInfo);    displayWidth = modeInfo.width;    displayHeight = modeInfo.height;    /*     * Set up the constraint rectangle to cover the middle half of the    * screen.    */    conRect.left   = modeInfo.width  / 4;    conRect.right  = 3 * modeInfo.width  / 4;    conRect.top    = 0;    conRect.bottom = 3 * modeInfo.height / 4;    uglInputDevControl (pointerDevId, ICR_SET_PTR_CONSTRAINT,                           (void *)&conRect);    /*    * Create a graphics context.  Default values are set during    * the creation.    */    gc = uglGcCreate(devId);    /*    * Initialize colors. UGL maintains a Color Look-Up Table (CLUT)    * for devices that do not represent colors directly.  Essentially    * some hardware is only able to represent a subset of colors at    * any given time.  To manage which colors will be available for    * rendering, UGL uses color allocation.  If the hardware is able    * to represent colors directly, then the uglColorAlloc() function    * still works, but it is then essentially a no-op.    *    * In this example we will only allocate what we need. We "allocate"    * colors within UGL's CLUT (sometimes referred to as a "palette").    * Colors can also be de-allocated, or freed, with uglColorFree.    *    * We explicitly use blue and lightgrey, but black is good to have    * defined as well since the frame buffer will be often contain zero    * index entries which are typically "black".    *    * Since the ARGB's are intermingled with the UGL_COLORs in    * the colorTable, we must allocate each color individually.    * If the ARGB's had a contiguous array of ARGBs, and likewise for    * the UGL_COLORs, a single uglColorAlloc call could be made.    * (see the windows example).    */    uglColorAlloc (devId, &colorTable[BLACK].rgbColor, UGL_NULL,                    &colorTable[BLACK].uglColor, 1);    uglColorAlloc(devId, &colorTable[BLUE].rgbColor, UGL_NULL,                  &colorTable[BLUE].uglColor, 1);    uglColorAlloc(devId, &colorTable[LIGHTGRAY].rgbColor, UGL_NULL,                  &colorTable[LIGHTGRAY].uglColor, 1);    uglColorAlloc(devId, &colorTable[RED].rgbColor, UGL_NULL,                  &colorTable[RED].uglColor, 1);    uglColorAlloc(devId, &colorTable[YELLOW].rgbColor, UGL_NULL,                  &colorTable[YELLOW].uglColor, 1);    uglColorAlloc(devId, &colorTable[WHITE].rgbColor, UGL_NULL,                  &colorTable[WHITE].uglColor, 1);    /* Assemble a cursor DIB (CDIB).  Note that hardware cursors often have    * a limitation on their dimensions, and other characteristics.    * We are centering the "hot spot" on the cursor image.  This means that    * when the cursor is moved to x,y the pixel at 16,16 in the cursor    * image is located at x,y.    */    cursorDib.width = cursorDib.height = cursorDib.stride = 32;    cursorDib.hotSpot.x = cursorDib.hotSpot.y = 16;    cursorDib.pImage = cursorData;    cursorDib.clutSize = 2;    cursorDib.pClut = cursorClut;    /* Initialize the cursor. Set its max size and initial position. */    uglCursorInit (devId, 32, 32, displayWidth / 2, displayHeight / 2);    /* Use the DIB to create a cursor type bitmap. */    cursorBitmap = uglCursorBitmapCreate(devId, &cursorDib);        /* Set the cursor type bitmap, cursorBitmap, as the cursor's bitmap.    * By changing the image to different images the cursor can be    * animated.  Do not free a bitmap that is being used by the cursor.    * So, if animating, select the next image bitmap into the cursor, and    * then free the old one.    */    uglCursorImageSet (devId, cursorBitmap);    /*     * O.k. all of the preparation is done, now we can actually turn the    * thing on.    */    uglCursorOn(devId);    /*     * More than just pausing.  This wexPause function is also the message loop    * for the program.    */        wexPause(devId, mode);    /* Clean Up */    uglCursorDeinit (devId);    uglCursorBitmapDestroy (devId, cursorBitmap);    uglGcDestroy (gc);    uglDeinitialize();    return(0);    }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美的一区| 91精品在线一区二区| 日韩国产成人精品| 欧美高清一级片在线观看| 亚洲福利一区二区三区| 欧美精品一区二区精品网| 不卡一二三区首页| 亚洲激情欧美激情| 91精品国产欧美一区二区成人| 国产精品一级片| 亚洲一区二区三区三| 激情深爱一区二区| 亚洲色图另类专区| 91麻豆福利精品推荐| 蓝色福利精品导航| 一区二区三区不卡视频在线观看| 在线观看91精品国产麻豆| 国产精品一区二区三区乱码 | 亚洲精品视频一区| 欧美一级国产精品| 91久久久免费一区二区| 国产在线精品免费av| 亚洲在线中文字幕| 国产欧美日韩在线| 欧美一区二区啪啪| 国产传媒久久文化传媒| 男女男精品视频网| 亚洲综合精品自拍| 亚洲桃色在线一区| 国产午夜精品在线观看| 91精品国产麻豆国产自产在线| 懂色中文一区二区在线播放| 五月天精品一区二区三区| 亚洲人一二三区| 欧美激情一区二区三区| 久久中文字幕电影| 欧美日韩一区高清| 91黄色免费网站| 色综合欧美在线| 99vv1com这只有精品| 欧美激情在线看| 欧美自拍丝袜亚洲| 在线精品视频免费观看| 欧美性猛交xxxxxxxx| 在线观看日韩av先锋影音电影院| 色婷婷久久久亚洲一区二区三区 | 久久精品二区亚洲w码| 日韩中文字幕麻豆| 日韩高清中文字幕一区| 免费在线观看日韩欧美| 看电视剧不卡顿的网站| 国产麻豆视频一区二区| 国产成人av一区二区三区在线| 国产盗摄一区二区| 成人a免费在线看| 在线视频你懂得一区| 欧美精品在线观看播放| 欧美不卡一区二区| 亚洲国产精品99久久久久久久久| 国产精品激情偷乱一区二区∴| 亚洲人吸女人奶水| 天天做天天摸天天爽国产一区 | 亚洲国产综合91精品麻豆| 亚洲444eee在线观看| 韩国毛片一区二区三区| 不卡一区二区在线| 欧美日韩国产小视频| 精品国产乱码久久久久久老虎 | 欧美日韩一级黄| 精品国产伦理网| 亚洲免费观看在线观看| 日韩和欧美的一区| 国产a久久麻豆| 欧美日韩国产不卡| 久久午夜色播影院免费高清| 亚洲人成网站在线| 麻豆国产精品视频| 成人三级在线视频| 欧美性淫爽ww久久久久无| 精品国产污污免费网站入口| 国产精品区一区二区三区| 午夜日韩在线观看| 不卡的av在线播放| 日韩欧美资源站| 亚洲色图.com| 激情欧美日韩一区二区| 色婷婷综合视频在线观看| 欧美第一区第二区| 一区二区三区视频在线看| 蜜桃av一区二区三区| a在线播放不卡| 欧美成人video| 亚洲一区二区三区四区五区黄| 狠狠v欧美v日韩v亚洲ⅴ| 一本到一区二区三区| 久久久精品日韩欧美| 亚洲国产精品久久久久秋霞影院| 国产成人午夜视频| 日韩三级在线观看| 亚洲一线二线三线视频| 国产成人av一区二区三区在线观看| 欧美日韩黄色影视| 亚洲精品视频在线| 成人国产精品免费观看动漫| 日韩女优电影在线观看| 亚洲在线观看免费视频| 成人午夜私人影院| 26uuu另类欧美亚洲曰本| 天天色图综合网| 在线观看免费一区| 18欧美亚洲精品| 国产电影精品久久禁18| 亚洲精品一区二区三区精华液 | 综合中文字幕亚洲| 国产一区在线观看视频| 日韩小视频在线观看专区| 亚洲午夜国产一区99re久久| 99精品热视频| 国产精品美女久久福利网站| 狠狠色狠狠色合久久伊人| 91精品国产91热久久久做人人| 亚洲综合丁香婷婷六月香| 成人晚上爱看视频| 国产欧美日韩视频在线观看| 精品一区二区三区欧美| 日韩一二三区视频| 偷拍一区二区三区四区| 欧美午夜片在线观看| 亚洲精品五月天| 欧美在线视频你懂得| 亚洲精品日日夜夜| 在线视频欧美区| 亚洲综合一二三区| 在线观看成人小视频| 一区二区三区在线免费| 色一区在线观看| 亚洲免费av观看| 日本韩国欧美在线| 亚洲一区二区三区在线播放| 欧美揉bbbbb揉bbbbb| 亚洲小少妇裸体bbw| 欧美综合色免费| 日韩电影一区二区三区四区| 欧美高清视频一二三区| 美女网站在线免费欧美精品| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 亚洲免费电影在线| 日本韩国一区二区三区视频| 亚洲国产日韩综合久久精品| 欧美三级电影网站| 蜜臀av亚洲一区中文字幕| 日韩精品一区在线| 国产成人精品一区二区三区四区 | 日韩三级视频中文字幕| 激情综合色综合久久| 中文字幕精品综合| 99re热视频精品| 亚洲综合色区另类av| 91麻豆精品国产91久久久久| 久久爱www久久做| 国产精品少妇自拍| 91搞黄在线观看| 蜜乳av一区二区| 欧美国产日本视频| 91久久精品日日躁夜夜躁欧美| 婷婷丁香激情综合| 久久久久久一二三区| 一本在线高清不卡dvd| 日韩精品久久理论片| 26uuu亚洲| 在线一区二区观看| 美国十次了思思久久精品导航| 国产精品视频一二三区| 91精品福利在线| 九九久久精品视频| 亚洲欧美一区二区久久| 日韩一区国产二区欧美三区| 成人av片在线观看| 午夜欧美大尺度福利影院在线看 | 精品美女在线播放| 色婷婷av一区二区| 久久精品国产亚洲aⅴ| 中文字幕一区二区三中文字幕| 国产东北露脸精品视频| 亚洲一级二级三级| 国产农村妇女毛片精品久久麻豆| 欧美在线视频日韩| 大胆欧美人体老妇| 日本人妖一区二区| 亚洲美女屁股眼交| 久久久亚洲午夜电影| 欧美系列亚洲系列| 成人中文字幕合集| 蜜臂av日日欢夜夜爽一区| 亚洲精品日韩专区silk| 久久精品欧美一区二区三区不卡 | 一本久久a久久精品亚洲| 经典一区二区三区| 亚洲成人一区二区在线观看| 国产精品福利在线播放|