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

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

?? cursor.c

?? 這是針對 Linux (i386)平臺的 minigui 3.6.2 開發(fā)包(MiniGUI-Processes 運行模式)。
?? C
?? 第 1 頁 / 共 2 頁
字號:
    return TRUE;error:    TerminateCursor();    return FALSE;}// The following function must be called at last. void TerminateCursor( void ){    int i;    if (!savedbits ) return;    pthread_mutex_destroy (&__mg_mouselock);    free(savedbits);    free(cursorbits);    savedbits = NULL;    pCurCsr = NULL;    nShowCount = 0;     for(i = 0; i<= MAX_SYSCURSORINDEX; i++)    {        if( SysCursor[i] ) {            free(SysCursor[i]->AndBits);            free(SysCursor[i]->XorBits);            free(SysCursor[i]);            SysCursor[i] = NULL;       }    }}HCURSOR GUIAPI GetCurrentCursor(void){    HCURSOR hcsr;    pthread_mutex_lock (&__mg_mouselock);        hcsr = (HCURSOR)pCurCsr;    pthread_mutex_unlock(&__mg_mouselock);    return hcsr;}// Cursor pointer shape and hiding and showing.static inline int boxleft(void){    if(!pCurCsr) return -100;    return curx - pCurCsr->xhotspot;}static inline int boxtop(void){    if(!pCurCsr) return -100;    return cury - pCurCsr->yhotspot;}#ifdef _USE_NEWGALstatic GAL_Rect csr_rect = {0, 0, CURSORWIDTH, CURSORHEIGHT};static void hidecursor (void){    csr_rect.x = oldboxleft;    csr_rect.y = oldboxtop;    csr_bmp.bmBits = savedbits;    GAL_SetClipRect (__gal_screen, NULL);    GAL_PutBox (__gal_screen, &csr_rect, &csr_bmp);     GAL_UpdateRects (__gal_screen, 1, &csr_rect);}static void showcursor (void){    int x, y;    x = boxleft ();    y = boxtop ();    csr_rect.x = x;    csr_rect.y = y;    csr_bmp.bmBits = savedbits;    GAL_SetClipRect (__gal_screen, NULL);    GAL_GetBox (__gal_screen, &csr_rect, &csr_bmp);    oldboxleft = x;    oldboxtop = y;    GAL_memcpy4 (cursorbits, savedbits, csrimgsize >> 2);#ifdef ASM_memandcpy4    ASM_memandcpy4 (cursorbits, pCurCsr->AndBits, csrimgsize >> 2);    ASM_memxorcpy4 (cursorbits, pCurCsr->XorBits, csrimgsize >> 2);#else    {        int i;        Uint32* andbits = (Uint32*) pCurCsr->AndBits;        Uint32* xorbits = (Uint32*) pCurCsr->XorBits;        Uint32* dst = (Uint32*) cursorbits;        for (i = 0; i < csrimgsize >> 2; i++) {            dst [i] &= andbits [i];            dst [i] ^= xorbits[i];        }    }#endif    csr_bmp.bmBits = cursorbits;    GAL_PutBox (__gal_screen, &csr_rect, &csr_bmp);    GAL_UpdateRects (__gal_screen, 1, &csr_rect);}#elsestatic inline void hidecursor(void){    GAL_SetGC(PHYSICALGC);    GAL_EnableClipping(PHYSICALGC);    GAL_PutBox(PHYSICALGC, oldboxleft, oldboxtop, CURSORWIDTH, CURSORHEIGHT, savedbits);}static inline void showcursor(void){    int x, y;    GAL_SetGC(PHYSICALGC);    x = boxleft();    y = boxtop();    GAL_DisableClipping(PHYSICALGC);    GAL_GetBox(PHYSICALGC, x, y, CURSORWIDTH, CURSORHEIGHT, savedbits);    oldboxleft = x;    oldboxtop = y;    memcpy(cursorbits, savedbits, csrimgsize);    {        int i;        Uint32* andbits = (Uint32*) pCurCsr->AndBits;        Uint32* xorbits = (Uint32*) pCurCsr->XorBits;        Uint32* dst = (Uint32*) cursorbits;        for (i = 0; i < csrimgsize >> 2; i++) {            dst [i] &= andbits [i];            dst [i] ^= xorbits[i];        }    }    GAL_EnableClipping(PHYSICALGC);    GAL_PutBox(PHYSICALGC, x, y, CURSORWIDTH, CURSORHEIGHT, cursorbits);}#endifHCURSOR GUIAPI SetCursorEx (HCURSOR hcsr, BOOL setdef){    PCURSOR old, pcsr;    pthread_mutex_lock (&__mg_mouselock);    if (setdef) {        old = (PCURSOR) def_cursor;        def_cursor = hcsr;    }    else        old = pCurCsr;    if ((PCURSOR)hcsr == pCurCsr) {        pthread_mutex_unlock(&__mg_mouselock);        return (HCURSOR) old;    }    pthread_mutex_unlock(&__mg_mouselock);    pthread_mutex_lock (&__mg_gdilock);    pthread_mutex_lock (&__mg_mouselock);    pcsr = (PCURSOR)hcsr;    if (pCurCsr)        hidecursor();    pCurCsr = pcsr;    if (nShowCount >= 0 && pCurCsr)        showcursor();    pthread_mutex_unlock(&__mg_mouselock);    pthread_mutex_unlock(&__mg_gdilock);    return (HCURSOR) old;}void ShowCursorForGDI(BOOL fShow, const RECT* prc){    int csrleft, csrright, csrtop, csrbottom;    int intleft, intright, inttop, intbottom;    if (!fShow)        pthread_mutex_lock (&__mg_mouselock);    csrleft = boxleft();    csrright = csrleft + CURSORWIDTH;    csrtop = boxtop();    csrbottom = csrtop + CURSORHEIGHT;    intleft = (csrleft > prc->left) ? csrleft : prc->left;    inttop  = (csrtop > prc->top) ? csrtop : prc->top;    intright = (csrright < prc->right) ? csrright : prc->right;    intbottom = (csrbottom < prc->bottom) ? csrbottom : prc->bottom;    if (intleft >= intright || inttop >= intbottom) {        if (fShow) {#ifdef _USE_NEWGAL            GAL_UpdateRect (__gal_screen, prc->left, prc->top, RECTWP(prc), RECTHP(prc));#endif            pthread_mutex_unlock(&__mg_mouselock);        }        return;    }    if (fShow && nShowCount >= 0 && pCurCsr) {        showcursor();    }    if (!fShow && nShowCount >= 0 && pCurCsr) {        hidecursor();    }    if (fShow) {#ifdef _USE_NEWGAL        GAL_UpdateRect (__gal_screen, prc->left, prc->top, RECTWP(prc), RECTHP(prc));#endif        pthread_mutex_unlock(&__mg_mouselock);    }}int GUIAPI ShowCursor(BOOL fShow){    int count;    pthread_mutex_lock (&__mg_gdilock);    pthread_mutex_lock (&__mg_mouselock);    if(fShow) {        nShowCount++;        if(nShowCount == 0 && pCurCsr)           showcursor();    }    else {        nShowCount--;        if(nShowCount == -1 && pCurCsr);           hidecursor();    }    count = nShowCount;    pthread_mutex_unlock(&__mg_mouselock);    pthread_mutex_unlock(&__mg_gdilock);    return count;}#elsevoid ShowCursorForGDI(BOOL fShow, const RECT* prc){#ifdef _USE_NEWGAL    if (fShow)        GAL_UpdateRect (__gal_screen, prc->left, prc->top, RECTWP(prc), RECTHP(prc));#endif}#endif /* _CURSOR_SUPPORT */BOOL RefreshCursor(int* x, int* y, int* button){    pthread_mutex_lock (&__mg_gdilock);    pthread_mutex_lock (&__mg_mouselock);    IAL_GetMouseXY (x, y);    curx = *x;    cury = *y;    *button = IAL_GetMouseButton ();    if(oldx != curx || oldy != cury)    {#ifdef _CURSOR_SUPPORT        if(nShowCount >= 0 && pCurCsr) {            hidecursor();            showcursor();        }#endif        oldx = curx;        oldy = cury;        pthread_mutex_unlock(&__mg_mouselock);        pthread_mutex_unlock(&__mg_gdilock);        return TRUE;    }    pthread_mutex_unlock(&__mg_mouselock);    pthread_mutex_unlock(&__mg_gdilock);    return FALSE;}// Cursor position.void GUIAPI GetCursorPos(POINT* ppt){    pthread_mutex_lock (&__mg_mouselock);    ppt->x = curx;    ppt->y = cury;    pthread_mutex_unlock(&__mg_mouselock);}void GUIAPI SetCursorPos(int x, int y){    pthread_mutex_lock (&__mg_gdilock);    pthread_mutex_lock (&__mg_mouselock);    IAL_SetMouseXY (x, y);    IAL_GetMouseXY (&curx, &cury);    if (oldx != curx || oldy != cury) {#ifdef _CURSOR_SUPPORT        if(nShowCount >= 0 && pCurCsr) {            hidecursor();            showcursor();        }#endif        oldx = curx;        oldy = cury;    }    pthread_mutex_unlock(&__mg_mouselock);    pthread_mutex_unlock(&__mg_gdilock);}// Cursor clipping support.void GUIAPI ClipCursor(const RECT* prc){    RECT rc;    pthread_mutex_lock (&__mg_mouselock);    if( IsRectEmpty(&cliprc) )        SetRect(&cliprc, 0, 0, WIDTHOFPHYGC - 1, HEIGHTOFPHYGC - 1);    if(prc == NULL)    {        IAL_SetMouseRange (0,0,WIDTHOFPHYGC - 1,HEIGHTOFPHYGC - 1);        SetRect(&cliprc, 0, 0, WIDTHOFPHYGC - 1, HEIGHTOFPHYGC - 1);        pthread_mutex_unlock(&__mg_mouselock);        return;    }            memcpy(&rc, prc, sizeof(RECT));    NormalizeRect(&rc);    IntersectRect(&cliprc, &rc, &cliprc);    NormalizeRect(&cliprc);    IAL_SetMouseRange (cliprc.left,cliprc.top, cliprc.right,cliprc.bottom);    pthread_mutex_unlock(&__mg_mouselock);}void GUIAPI GetClipCursor(RECT* prc){    pthread_mutex_lock (&__mg_mouselock);    memcpy(prc, &cliprc, sizeof(RECT));    pthread_mutex_unlock(&__mg_mouselock);}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级精品在线| 国产99一区视频免费| 99视频在线精品| 91捆绑美女网站| 欧美一区二区三区免费大片| 国产欧美精品国产国产专区| 亚洲精品va在线观看| 麻豆精品久久精品色综合| 不卡的av中国片| 久久久久久免费网| 日韩高清在线观看| 99热精品国产| 亚洲一区免费观看| 成人福利在线看| 亚洲精品成人精品456| 欧美日韩在线免费视频| 国产欧美综合色| 欧洲精品中文字幕| 日韩理论在线观看| 国产九色sp调教91| 日韩欧美国产三级| 日韩综合小视频| 欧美日韩国产经典色站一区二区三区 | 91婷婷韩国欧美一区二区| 亚洲电影你懂得| 在线观看一区日韩| 久久电影网站中文字幕| 欧美一级日韩免费不卡| 成人精品一区二区三区四区| 久久久777精品电影网影网 | 91社区在线播放| 日韩专区欧美专区| 国产精品国产自产拍高清av| 国产一区二区福利| 精品国产一区a| 蜜桃视频在线观看一区| 国产日韩欧美麻豆| 911精品国产一区二区在线| 亚洲第一福利一区| 国产肉丝袜一区二区| 7878成人国产在线观看| 99国产一区二区三精品乱码| 日韩美女久久久| 26uuu久久综合| 成人在线综合网| 麻豆91小视频| 亚洲自拍偷拍麻豆| 国产精品久久久久三级| 久久综合狠狠综合久久综合88 | 欧美刺激午夜性久久久久久久| 亚洲一二三级电影| 91精品国产综合久久精品app| 成人污污视频在线观看| 精品一区二区三区久久| 中文字幕免费观看一区| 成人app在线观看| 国产综合色视频| 国产精品嫩草久久久久| 欧美亚洲综合另类| 日韩精品亚洲一区二区三区免费| 国产精品久久久久永久免费观看| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 亚洲线精品一区二区三区八戒| 亚洲国产精品二十页| 日韩欧美亚洲另类制服综合在线| 欧美日韩高清一区二区三区| 色悠久久久久综合欧美99| 一区二区三区高清不卡| 欧美一区二区三区四区高清| 日本久久一区二区| 久久99精品国产.久久久久| 亚洲成人免费在线观看| 亚洲一二三四在线观看| 一区二区三区视频在线看| 一区二区三区日韩欧美| 一区二区三区四区精品在线视频| 亚洲视频在线观看一区| 亚洲色图色小说| 亚洲三级电影全部在线观看高清| 中文字幕综合网| 亚洲精品成人悠悠色影视| 亚洲精品欧美二区三区中文字幕| 亚洲女子a中天字幕| 久久人人97超碰com| 国产欧美一区二区三区鸳鸯浴| 国产欧美日韩视频在线观看| 日本一区二区动态图| 1区2区3区国产精品| 日韩欧美在线一区二区三区| 91精品国产乱| 亚洲精品在线网站| 中文字幕不卡在线播放| 亚洲人成精品久久久久久| 亚洲国产你懂的| 美女一区二区三区在线观看| 国产一区二区不卡在线| av亚洲精华国产精华| 欧美日韩一区中文字幕| 日韩午夜av电影| 国产日韩成人精品| 亚洲综合在线电影| 另类人妖一区二区av| 成人精品视频.| 欧美亚洲禁片免费| 精品久久久久av影院| 国产午夜精品理论片a级大结局| 中文字幕中文字幕一区| 亚洲成人动漫在线免费观看| 久久精品国产免费| 91老师片黄在线观看| 91麻豆精品国产91久久久久久| 久久久影院官网| 亚洲综合一二区| 韩国中文字幕2020精品| 99国产欧美另类久久久精品| 91精品国产综合久久久蜜臀图片| 精品国产免费一区二区三区四区 | 亚洲国产精品麻豆| 国产综合成人久久大片91| 99精品视频在线观看| 欧美大片一区二区| 一区二区在线观看免费 | 成人精品一区二区三区中文字幕 | 首页综合国产亚洲丝袜| 国产精品一区免费在线观看| 欧美亚洲国产怡红院影院| 亚洲精品一线二线三线| 亚洲图片欧美综合| 成人免费看黄yyy456| 欧美tickling网站挠脚心| 亚洲综合图片区| 国产不卡免费视频| 日韩一二三区不卡| 亚洲午夜成aⅴ人片| eeuss鲁片一区二区三区在线观看| 欧美高清视频在线高清观看mv色露露十八| 欧美精品久久一区| 国产精品久久久久影院老司 | 亚洲综合小说图片| 成人涩涩免费视频| 337p日本欧洲亚洲大胆色噜噜| 亚洲成人综合在线| 色婷婷综合五月| 国产午夜亚洲精品理论片色戒 | 亚洲午夜精品17c| 成人av中文字幕| 国产拍揄自揄精品视频麻豆| 免费在线观看不卡| 成人高清伦理免费影院在线观看| 欧美大肚乱孕交hd孕妇| 日韩二区三区在线观看| 欧美日韩久久不卡| 亚洲一区中文日韩| 欧美主播一区二区三区| 亚洲精品久久久蜜桃| 91在线观看视频| 国产精品蜜臀在线观看| 丁香婷婷综合激情五月色| 久久综合一区二区| 极品美女销魂一区二区三区 | 欧美日韩一区在线| 一区二区在线电影| 色久优优欧美色久优优| 亚洲欧美综合色| 99精品国产91久久久久久| 亚洲欧洲成人av每日更新| 91蜜桃婷婷狠狠久久综合9色| 国产精品少妇自拍| www.日本不卡| 亚洲色图.com| 91国产成人在线| 午夜一区二区三区视频| 成人性生交大片免费看中文 | 日韩女优av电影在线观看| 美女精品一区二区| 久久毛片高清国产| 国产丶欧美丶日本不卡视频| 在线欧美一区二区| 亚洲一卡二卡三卡四卡无卡久久| 欧美日韩一级大片网址| 日本aⅴ免费视频一区二区三区| 日韩欧美亚洲一区二区| 国产精品12区| 亚洲欧美日韩国产综合在线| 91福利社在线观看| 日本不卡在线视频| 久久久久久久电影| 99精品国产91久久久久久| 亚洲线精品一区二区三区| 日韩一区二区电影在线| 高清不卡一区二区在线| 亚洲人被黑人高潮完整版| 欧美精品久久久久久久久老牛影院| 蜜桃在线一区二区三区| 中文字幕av一区二区三区高| 91传媒视频在线播放| 九色porny丨国产精品| 中文字幕乱码亚洲精品一区| 91国模大尺度私拍在线视频| 蜜桃久久精品一区二区|