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

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

?? cursor-sa.c

?? libminigui-1.3.0.tar.gz。 miniGUI的庫函數(shù)源代碼!
?? C
?? 第 1 頁 / 共 2 頁
字號:
    if( GetMgEtcValue (CURSORSECTION, "cursornumber", szValue, 10) < 0 )        goto error;    number = atoi(szValue);        if(number <= 0)        return TRUE;    number = number < (MAX_SYSCURSORINDEX + 1) ?              number : (MAX_SYSCURSORINDEX + 1);    for(i = 0; i < number; i++) {        if ( !(SysCursor[i] = LoadSystemCursor(i)) )             goto error;    }	    return TRUE;error:    TerminateCursor();    return FALSE;}// The following function must be called at last. void TerminateCursor( void ){    int i;    if (!savedbits ) return;    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){    return (HCURSOR)pCurCsr;}// 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 void hidecursor (void){    GAL_SetGC (PHYSICALGC);    GAL_DisableClipping (PHYSICALGC);        GAL_PutBox (PHYSICALGC, oldboxleft, oldboxtop,                     CURSORWIDTH, CURSORHEIGHT, savedbits);}static 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* dst = (Uint32*) cursorbits;        Uint32* andbits = (Uint32*) pCurCsr->AndBits;        Uint32* xorbits = (Uint32*) pCurCsr->XorBits;        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);}#endif /* _USE_NEWGAL */#endif /* _CURSOR_SUPPORT */// The return value indicates whether mouse has moved. // TRUE for moved.// NOTE that only server can call this function.BOOL RefreshCursor (int* x, int* y, int* button){    BOOL moved = FALSE;    IAL_GetMouseXY (x, y);    curx = *x;    cury = *y;    if (button)        *button = IAL_GetMouseButton ();    if (oldx != curx || oldy != cury) {#ifdef _CURSOR_SUPPORT        if (nShowCount >= 0 && pCurCsr) {            hidecursor ();            showcursor ();        }#endif /* _CURSOR_SUPPORT */        oldx = curx;        oldy = cury;        moved = TRUE;    }    return moved;}#ifdef _CURSOR_SUPPORT/* Always call with "setdef = FALSE" for clients at server side. */HCURSOR GUIAPI SetCursorEx (HCURSOR hcsr, BOOL setdef){    PCURSOR old, pcsr;    if (setdef) {        old = (PCURSOR) def_cursor;        def_cursor = hcsr;    }    else        old = pCurCsr;    if ((PCURSOR)hcsr == pCurCsr) {        return (HCURSOR) old;    }    pcsr = (PCURSOR)hcsr;    if (pCurCsr)        hidecursor();    pCurCsr = pcsr;    if (pCurCsr && nShowCount >= 0)        showcursor();    return (HCURSOR) old;}void ShowCursorForGDI (BOOL fShow, const RECT* prc){    int csrleft, csrright, csrtop, csrbottom;    int intleft, intright, inttop, intbottom;    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) {#ifdef _USE_NEWGAL        if (fShow)            GAL_UpdateRect (__gal_screen, prc->left, prc->top, RECTWP(prc), RECTHP(prc));#endif        return;    }    if (fShow && nShowCount >= 0 && pCurCsr) {        showcursor();    }    if (!fShow && nShowCount >= 0 && pCurCsr) {        hidecursor();    }#ifdef _USE_NEWGAL    if (fShow)        GAL_UpdateRect (__gal_screen, prc->left, prc->top, RECTWP(prc), RECTHP(prc));#endif}int GUIAPI ShowCursor (BOOL fShow){    if (fShow) {        nShowCount++;        if (nShowCount == 0 && pCurCsr)           showcursor();    }    else {        nShowCount--;        if (nShowCount == -1 && pCurCsr)           hidecursor();    }    return nShowCount;}#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 */void GUIAPI GetCursorPos (POINT* ppt){    ppt->x = curx;    ppt->y = cury;}void GUIAPI SetCursorPos (int x, int y){    IAL_SetMouseXY (x, y);    RefreshCursor (&x, &y, NULL);}// Cursor clipping support.void GUIAPI ClipCursor (const RECT* prc){    RECT rc;    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);        return;    }    memcpy (&rc, prc, sizeof(RECT));    NormalizeRect (&rc);    IntersectRect (&cliprc, &rc, &cliprc);    NormalizeRect (&cliprc);    IAL_SetMouseRange (cliprc.left, cliprc.top, cliprc.right, cliprc.bottom);}void GUIAPI GetClipCursor (RECT* prc){    memcpy (prc, &cliprc, sizeof(RECT));}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av一本久道久久综合久久鬼色| 国产精品乱码一区二三区小蝌蚪| 精品国内二区三区| 久久男人中文字幕资源站| 亚洲国产精品高清| 一区二区视频在线| 青青草成人在线观看| 国产成a人亚洲精品| 91麻豆国产精品久久| 欧美一区二区在线免费观看| 国产午夜精品福利| 亚洲一区欧美一区| 精品系列免费在线观看| 色国产综合视频| 欧美mv日韩mv国产| 亚洲女同一区二区| 欧美aⅴ一区二区三区视频| 成人福利视频网站| 91精品婷婷国产综合久久竹菊| 国产亚洲精品资源在线26u| 亚洲电影第三页| 成人福利视频在线看| 日韩欧美资源站| 最新国产精品久久精品| 日韩精品一二三四| 91小视频在线| 亚洲精品一区二区三区四区高清| 成人小视频免费观看| 色88888久久久久久影院野外| 欧美午夜精品一区| 欧美不卡一区二区三区| 亚洲男女一区二区三区| 91免费国产在线观看| 欧美精品第1页| 日韩美女视频一区| 国产乱子轮精品视频| 欧美精品色一区二区三区| 日韩中文欧美在线| 午夜在线电影亚洲一区| 麻豆精品一区二区av白丝在线| 91免费观看视频| 久久久一区二区三区捆绑**| 日韩中文字幕麻豆| 色偷偷成人一区二区三区91 | 精品国产乱码久久久久久蜜臀| 亚洲乱码国产乱码精品精可以看| 国产在线精品一区二区| 精品视频全国免费看| 亚洲人成影院在线观看| 国产999精品久久久久久| 欧美成人性战久久| 午夜激情一区二区三区| 色婷婷综合激情| 国产精品久久久久三级| 国产精品自拍网站| 精品久久五月天| 日本视频在线一区| 欧美色视频在线观看| 综合欧美一区二区三区| 成人免费视频一区| 久久久久久久电影| 精久久久久久久久久久| 欧美xxxxxxxx| 国产专区综合网| 久久综合五月天婷婷伊人| 麻豆精品精品国产自在97香蕉| 欧美精品tushy高清| 亚洲成人在线观看视频| 精品视频在线免费看| 亚洲一区免费观看| 欧美亚洲综合网| 一二三四社区欧美黄| 欧美主播一区二区三区美女| 亚洲欧美乱综合| 在线观看一区二区视频| 夜夜精品视频一区二区| 在线免费观看日韩欧美| 亚洲一区二区成人在线观看| 欧美亚洲国产一区二区三区va| 亚洲一区二区三区在线| 欧美三级日韩在线| 爽好久久久欧美精品| 制服丝袜在线91| 久久国产麻豆精品| 国产亚洲欧美在线| fc2成人免费人成在线观看播放| 欧美高清在线一区二区| 91小视频在线| 亚洲网友自拍偷拍| 91 com成人网| 久久精品99国产国产精| 久久女同互慰一区二区三区| 岛国精品在线观看| 亚洲欧美日韩国产中文在线| 欧美午夜电影网| 午夜影院久久久| 日韩欧美一级二级| 国产成人亚洲综合色影视| 亚洲色图都市小说| 欧美日韩综合色| 美腿丝袜亚洲三区| 国产日韩三级在线| 色婷婷av一区二区三区大白胸 | 91精品免费在线| 91亚洲精品久久久蜜桃| 一区二区三区免费在线观看| 欧美久久久久久蜜桃| 久久国产精品无码网站| 国产精品毛片a∨一区二区三区| 色哟哟一区二区在线观看| 三级不卡在线观看| 国产色产综合产在线视频| 蜜臀av性久久久久蜜臀aⅴ流畅| 中文字幕人成不卡一区| 亚洲精品欧美专区| 麻豆精品久久精品色综合| 国产乱码精品一区二区三区五月婷| 秋霞影院一区二区| 美女视频网站黄色亚洲| 国产在线播放一区三区四| 午夜国产精品一区| 五月婷婷久久丁香| 婷婷激情综合网| 蜜桃一区二区三区在线| 国产综合色视频| 国产成人精品免费网站| av一区二区三区四区| 久久久久久久久久久99999| 国产精品免费久久久久| 蜜桃视频免费观看一区| 欧美亚洲禁片免费| 欧美探花视频资源| 欧美一区二区三区日韩| 日韩精品中文字幕在线不卡尤物| 日韩女同互慰一区二区| 亚洲国产精品天堂| 亚洲人成伊人成综合网小说| 亚洲欧美日韩在线不卡| 亚洲一区二区偷拍精品| 国产精品国产三级国产专播品爱网| 欧美高清视频在线高清观看mv色露露十八| 91亚洲精品乱码久久久久久蜜桃| 色综合视频一区二区三区高清| 成人精品免费视频| 色欧美片视频在线观看| 精品成人一区二区| 午夜久久久影院| 日本人妖一区二区| 99久久777色| 久久精品在这里| 樱花草国产18久久久久| 国产原创一区二区| 欧美午夜精品免费| 香蕉加勒比综合久久| 欧美日韩精品三区| 亚洲国产精品久久不卡毛片 | 欧美—级在线免费片| 91精品在线观看入口| 在线观看精品一区| av午夜一区麻豆| 激情综合网天天干| 青青草国产精品97视觉盛宴| 亚洲成av人片在线| 一级中文字幕一区二区| 亚洲欧美二区三区| 国产精品成人在线观看| 欧美国产欧美综合| 国产日韩精品一区二区浪潮av| 精品国产1区二区| 日韩欧美国产综合| 日韩一区国产二区欧美三区| 欧美性色综合网| 日本道色综合久久| 色综合激情久久| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 欧美主播一区二区三区美女| 日韩高清在线一区| 欧美精品丝袜中出| 亚洲区小说区图片区qvod| 国产精品色噜噜| 亚洲国产成人午夜在线一区| 久久影音资源网| 久久亚洲免费视频| 精品欧美一区二区久久| 色激情天天射综合网| 东方aⅴ免费观看久久av| 国产一区二区日韩精品| 紧缚奴在线一区二区三区| 久久99这里只有精品| 日本中文字幕一区| 免费人成精品欧美精品| 六月丁香婷婷色狠狠久久| 欧美在线免费视屏| 午夜精品久久久久久久蜜桃app| 亚洲二区在线视频| 亚洲成人动漫在线免费观看| 婷婷国产v国产偷v亚洲高清| 日本欧美加勒比视频| 在线看国产一区二区| 欧美色手机在线观看|