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

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

?? window.c

?? rtCell 實(shí)時(shí)微內(nèi)核-具有下列功能: 1. 完全搶占的實(shí)時(shí)微內(nèi)核結(jié)構(gòu)
?? C
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):

    if (flag & 1) {
        if (GetRectXSize(&(pWin->pHScrolbar->pView->viewRect)) >= BOX_H)
            if (GetRectYSize(&(pWin->pVScrolbar->pView->viewRect)) >= BOX_H) {
                if (IsViewVisible(pWin->pVScrolbar->pView) == false) 
                    ShowView(pWin->pVScrolbar->pView);
                goto set_hscroll_bar;
            }
    }      
    HideView(pWin->pVScrolbar->pView);
    
set_hscroll_bar:
    if (flag & 2) {
        if (GetRectYSize(&(pWin->pVScrolbar->pView->viewRect)) >= BOX_H) {
            if (IsViewVisible(pWin->pHScrolbar->pView) == false) 
                ShowView(pWin->pHScrolbar->pView);
            return;
        }
    }
    HideView(pWin->pHScrolbar->pView);
}

static void ScrollParentWin(WINDOW* pWin)
{
    WINDOW* pParent = GetParentWin(pWin->pMainView);
    
    if (pParent != NULL) {
        VMSG msg;
        RECT r;
        
        MergeAllChildViewsRect(pParent->pClientView, &r);
        if (pParent->MaxRect.left != r.left ||
            pParent->MaxRect.right != r.right ||
            pParent->MaxRect.top != r.top ||
            pParent->MaxRect.bottom != r.bottom) {
            pParent->MaxRect = r;
            msg.MsgID = WINM_SCROLL;
            InformView(pParent->pMainView, &msg);
        }
    }
}

static void SetWindowOffset(WINDOW* pWin, int dx, int dy, int dxSize, int dySize)
{
    VIEW *pView = pWin->pMainView;
    int   x, y;

    if ((pWin->pMainView->wdStatus & (VS_MOVABLE|VS_RESIZABLE)) == 0) return;
    x = (pView->viewRect.right - pView->viewRect.left + 1 + dxSize);
    y = (pView->viewRect.bottom - pView->viewRect.top + 1 + dySize);
    if (x <= FORM_MIN_XSIZE) dxSize += (FORM_MIN_XSIZE-x);
    if (y <= FORM_MIN_YSIZE) dySize += (FORM_MIN_YSIZE-y);

    SetViewVisible(pWin->pClientView, false);
    ResizeView(pWin->pClientView, dxSize, dySize);
    SetViewVisible(pWin->pClientView, true);
    SetViewRectOffset(pWin->pMainView, dx, dy, dxSize, dySize);    
    x = pView->viewRect.right+1-SYSBTN_YOFF-SYSBTN_WIDTH;
    y = pView->viewRect.top+SYSBTN_YOFF;
    if (pWin->pCloseBtn != NULL) {
        MoveViewTo(pWin->pCloseBtn->pView, x, y);
        x -= (SYSBTN_XOFF+SYSBTN_WIDTH);
    }
    if (pWin->pMaxBtn != NULL) {
        MoveViewTo(pWin->pMaxBtn->pView, x, y);
        x -= SYSBTN_WIDTH;
    }
    if (pWin->pMinBtn != NULL) {
        MoveViewTo(pWin->pMinBtn->pView, x, y);
    }
    
    if (IsValidRect(&(pWin->pClientView->viewRect)) == false)
        HideView(pWin->pClientView);
        
    SetWinScrollBar(pWin);
    ScrollParentWin(pWin);
    if (GetRectYSize(&(pWin->pVScrolbar->pView->viewRect)) < BOX_H)
        HideView(pWin->pHScrolbar->pView);
    if (GetRectXSize(&(pWin->pHScrolbar->pView->viewRect)) < BOX_H)
        HideView(pWin->pVScrolbar->pView);
}

void SetWindow(WINDOW* pWin, int left, int top, int xSize, int ySize)
{
    if (xSize < FORM_MIN_XSIZE) xSize = FORM_MIN_XSIZE;
    if (ySize < FORM_MIN_YSIZE) ySize = FORM_MIN_YSIZE;
    left -= pWin->pMainView->viewRect.left;
    top  -= pWin->pMainView->viewRect.top;
    xSize -= (pWin->pMainView->viewRect.right - pWin->pMainView->viewRect.left + 1);
    ySize -= (pWin->pMainView->viewRect.bottom - pWin->pMainView->viewRect.top + 1);
    SetWindowOffset(pWin, left, top, xSize, ySize);
}

static void MoveWindow(WINDOW* pWin, const int dx, const int dy)
{
    SetWindowOffset(pWin, dx, dy, 0, 0);
}

void MoveWindowTo(WINDOW* pWin, int x, int y)
{
    x -= pWin->pMainView->viewRect.left;
    y -= pWin->pMainView->viewRect.top;
    MoveWindow(pWin, x, y);
}

static void ResizeWindow(WINDOW* pWin, const int dx, const int dy)
{
    SetWindowOffset(pWin, 0, 0, dx, dy);
}

void SetWindowSize(WINDOW* pWin, const int xs, const int ys)
{
    int dx, dy;

    dx = (pWin->pMainView->viewRect.left-pWin->pMainView->viewRect.right+xs-1);
    dy = (pWin->pMainView->viewRect.top-pWin->pMainView->viewRect.bottom+ys-1);
    ResizeWindow(pWin, dx, dy);
}

static void MainViewPaint(VIEW *pView)
{
    WINDOW* pWin;
    COLOR   clr;
    RECT    r;

    pWin = OBJ_FROM_VIEW(pView);
    /* 3D border of the client rect */
    r = pView->viewRect;
    r.left += (WIN_BORDER+2);
    r.right -= (WIN_BORDER+2);
    r.top += (WIN_BORDER+BAR_HEIGHT+2);
    r.bottom -= (WIN_BORDER+2);
    if (pWin->Status & WIN_CLIENT_RECT) { 
        r.top ++;
        if (IsValidRect(&r) == true)
            DrawDownRect(&r);

    } else if ((pView->wdStatus & VS_HASTRANS) == 0) { 
        DrawRect(&r, pWin->ClientColor);
        r.left ++; r.right --; r.bottom --;
        DrawRect(&r, pWin->ClientColor);
    }

    /* between inside and outside border */ 
    if ((pView->wdStatus & VS_HASTRANS) == 0) {
        r = pView->viewRect;
        r.left += WIN_BORDER;
        r.right -= WIN_BORDER;
        r.top += WIN_BORDER;
        r.bottom -= WIN_BORDER;
        DrawRect(&r, pWin->ClientColor);
        r.left ++; r.right --; r.top ++; r.bottom --;
        DrawRect(&r, pWin->ClientColor);  
    }
    
    if (pWin->Status & WIN_MOUSE_ENTER) clr = MouseEnterColor;
    else if (pWin->Status & WIN_FOCUSSED) clr = pWin->BarColor[ACTIVE_CLR];
    else clr = pWin->BarColor[INACTIVE_CLR];
    
    r.left = pView->viewRect.left+BAR_XOFF; r.top = pView->viewRect.top+BAR_YOFF;
    r.right = pView->viewRect.right-BAR_XOFF; r.bottom = r.top+BAR_HEIGHT-1;
    /* title bar of the window    */
    if ((pView->wdStatus & VS_HASTRANS) == 0) { 
        FillRect(&r, clr);
        DrawHLine(pView->viewRect.top+(BAR_YOFF+BAR_HEIGHT),
                    pView->viewRect.left+WIN_BORDER,
                    pView->viewRect.right-WIN_BORDER, pWin->ClientColor);
    } else {
        DrawRect(&r, clr);
    }

    if (pWin->pCloseBtn != NULL) r.right -= (SYSBTN_YOFF+SYSBTN_WIDTH+2);
    if (pWin->pMaxBtn != NULL) r.right -= (SYSBTN_WIDTH);
    if (pWin->pMinBtn != NULL) r.right -= (SYSBTN_WIDTH);
    if (SetPartClipRect(&r) == true) {
        /* view system ico and caption of the window */
        DrawMatrix(pView->viewRect.left+VIEWSYS_XOFF, pView->viewRect.top+VIEWSYS_YOFF+1,
                     16, 14, viewSYS, GD_YELLOW);
        DrawText(pView->viewRect.left+CAPTION_XOFF,
                   pView->viewRect.top+CAPTION_YOFF,
                   pWin->pCaption, pWin->CaptionColor);
        RestoreClipRect(&r);
    }
    /* 3D border of the window rect */
    DrawUpRect(&(pView->viewRect));
}

void InformView(VIEW *pView, const VMSG *pMsg)
{
    VMSG msg = (*pMsg);

    msg.pView = pView;
    SendViewMsg(pView, &msg);
}

void * GetParentWin(VIEW *pView)
{
    VIEW *pForm = pView;

    if (pForm == NULL) return (NULL);
    if (IsFormView(pForm) == true) {
        if (pForm->pParent == NULL) return (NULL);
        pForm = pForm->pParent;
    }

    pForm = ((VIEW *)(GetFormView(pForm)));
    
    if (pForm != NULL) {
        return (WIN_FROM_MAINVIEW(pForm));
    }
    
    return (NULL);
}

void SetFocussedView(VIEW *pView)
{
    WINDOW *pWin = GetParentWin(pView);
    
    if (pWin != NULL) {  
        if ((pView != pWin->pClientView) &&
            (pView != pWin->pMainView) &&
            (pView != pWin->pFocussedView)) {
            VMSG msg;
            if (pWin->pFocussedView != NULL) {
                msg.pView = pWin->pFocussedView;
                msg.MsgID = VMSG_LOSTFOCUS;
                SendViewMsg(pWin->pFocussedView, &msg);
            }
            pWin->pFocussedView = pView; 
        }
    }
}

static void DoResizeWindow(WINDOW* pWin, POINT *pPT, int dx, int dy)
{
    CWORD Status = (pWin->Status & WIN_SIZE);
    
    pWin->ptCatch.x = pPT->x; pWin->ptCatch.y = pPT->y;
    if (Status & WIN_SIZE_LEFT) {
        if (pPT->x > (pWin->pMainView->viewRect.right-FORM_MIN_XSIZE)) {
            pWin->ptCatch.x = pWin->pMainView->viewRect.right-FORM_MIN_XSIZE;
            dx = pWin->pMainView->viewRect.right-FORM_MIN_XSIZE-pWin->pMainView->viewRect.left+1;
        }
    } else if (Status & WIN_SIZE_RIGHT) {
        if (pPT->x < (pWin->pMainView->viewRect.left+FORM_MIN_XSIZE))
            pWin->ptCatch.x = (pWin->pMainView->viewRect.left+FORM_MIN_XSIZE);
    }

    if (Status & WIN_SIZE_TOP) {
        if (pPT->y >= (pWin->pMainView->viewRect.bottom-FORM_MIN_YSIZE)) {
            pWin->ptCatch.y = pWin->pMainView->viewRect.bottom-FORM_MIN_YSIZE;
            dy = pWin->pMainView->viewRect.bottom-FORM_MIN_YSIZE-pWin->pMainView->viewRect.top+1;
        }
    } else if (Status & WIN_SIZE_BOTTOM) {
        if (pPT->y < (pWin->pMainView->viewRect.top+FORM_MIN_YSIZE))
            pWin->ptCatch.y = (pWin->pMainView->viewRect.top+FORM_MIN_YSIZE);
    }     

    if (Status == (WIN_SIZE_LEFT|WIN_SIZE_TOP)) {
        SetWindowOffset(pWin, dx, dy, -dx, -dy);
    } else if (Status == (WIN_SIZE_RIGHT|WIN_SIZE_BOTTOM)) {
        ResizeWindow(pWin, dx, dy);
    } else if (Status == (WIN_SIZE_LEFT|WIN_SIZE_BOTTOM)) {
        SetWindowOffset(pWin, dx, 0, -dx, dy);
    } else if (Status == (WIN_SIZE_RIGHT|WIN_SIZE_TOP)) {
        SetWindowOffset(pWin, 0, dy, dx, -dy);
    } else if (Status == WIN_SIZE_LEFT) {
        SetWindowOffset(pWin, dx, 0, -dx, 0);
    } else if (Status == WIN_SIZE_TOP) {
        SetWindowOffset(pWin, 0, dy, 0, -dy);
    } else if (Status == WIN_SIZE_RIGHT) {
        ResizeWindow(pWin, dx, 0);
    } else if (Status == WIN_SIZE_BOTTOM) {
        ResizeWindow(pWin, 0, dy);
    }
}

static CBOOL _cdecl_ MainViewProc(VMSG *pMsg)
{  
    WINDOW* pWin;
    RECT l, r, t, b, v;

    pWin = OBJ_FROM_VIEW(pMsg->pView);
    r.left = pMsg->pView->viewRect.left+BAR_XOFF;
    r.top = pMsg->pView->viewRect.top+BAR_YOFF;
    r.right = pMsg->pView->viewRect.right-BAR_XOFF;
    r.bottom = r.top+BAR_HEIGHT-1;
    
    switch (pMsg->MsgID) {
    case WINM_SCROLL:
        SetWinScrollBar(pWin);
        return (true);
    case TIMERM_OUT:
    case KEYM_KEY_DOWN:
        InformView(pWin->pClientView, pMsg);
        return (true);
    case VMSG_PAINT:
        MainViewPaint(pMsg->pView);
        return (true);
    case VMSG_GETFOCUS:

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美经典一区二区| 视频在线观看一区二区三区| 91精品欧美一区二区三区综合在| 国产毛片精品视频| 香蕉乱码成人久久天堂爱免费| 久久美女艺术照精彩视频福利播放| 欧美视频一区二区在线观看| 国产麻豆精品视频| 免费观看91视频大全| 亚洲综合区在线| 国产精品精品国产色婷婷| 精品国产青草久久久久福利| 欧美性大战xxxxx久久久| 成人黄色在线网站| 国产麻豆精品在线| 另类小说欧美激情| 日韩极品在线观看| 婷婷亚洲久悠悠色悠在线播放| 国产精品国产自产拍高清av| 久久亚洲二区三区| 这里是久久伊人| 欧美欧美欧美欧美| 欧美羞羞免费网站| 欧美视频自拍偷拍| 欧洲色大大久久| 一本到不卡免费一区二区| av中文字幕不卡| 成人高清视频在线| 国产一区二区三区国产| 韩国在线一区二区| 激情六月婷婷综合| 国产精一区二区三区| 国产精品77777竹菊影视小说| 日本免费新一区视频| 免费在线视频一区| 麻豆国产精品一区二区三区 | 国产精品久久久久影院色老大| 欧美电影免费观看高清完整版在 | 日韩福利电影在线观看| 婷婷丁香久久五月婷婷| 亚洲一区二区三区四区在线 | 精品无人码麻豆乱码1区2区 | 天堂成人国产精品一区| 丝瓜av网站精品一区二区| 丝袜美腿亚洲综合| 日本美女一区二区三区| 精品写真视频在线观看| 国产成人精品亚洲午夜麻豆| 国产不卡在线播放| 91啪九色porn原创视频在线观看| 91在线码无精品| 欧美日韩一区中文字幕| 日韩女优电影在线观看| 国产午夜亚洲精品理论片色戒| 久久久91精品国产一区二区精品 | 欧美成人精品高清在线播放| 久久一二三国产| 国产精品成人免费在线| 亚洲香肠在线观看| 日本不卡高清视频| 国产成a人无v码亚洲福利| 91在线国产观看| 9191久久久久久久久久久| 久久精品网站免费观看| 亚洲蜜桃精久久久久久久| 午夜影院久久久| 极品瑜伽女神91| 99精品国产热久久91蜜凸| 欧美日韩久久久久久| 久久这里只有精品6| 亚洲日本成人在线观看| 日韩在线观看一区二区| 国产成人精品综合在线观看| 在线观看精品一区| 精品剧情v国产在线观看在线| 国产精品丝袜在线| 视频在线观看91| 成人av资源网站| 9191久久久久久久久久久| 欧美极品另类videosde| 午夜精品一区二区三区免费视频| 激情久久五月天| 在线观看成人小视频| 久久久噜噜噜久久人人看 | 秋霞av亚洲一区二区三| 成人国产精品免费网站| 欧美一级xxx| 亚洲人吸女人奶水| 韩国精品久久久| 欧美亚洲国产一区在线观看网站 | 色婷婷激情一区二区三区| 日韩精品中文字幕在线一区| 亚洲柠檬福利资源导航| 国产精品中文字幕日韩精品 | 日本韩国欧美国产| 久久综合色婷婷| 图片区小说区国产精品视频| 成人免费精品视频| 精品嫩草影院久久| 亚洲成人动漫在线免费观看| 成人免费观看男女羞羞视频| 欧美精品乱码久久久久久按摩| 中文字幕欧美日韩一区| 久久激情五月激情| 欧美肥妇毛茸茸| 亚洲蜜臀av乱码久久精品蜜桃| 国产伦理精品不卡| 日韩视频在线永久播放| 亚洲一区二区高清| 色噜噜狠狠色综合中国| 国产精品久久久久久久久动漫 | 亚洲色图欧洲色图| 国产成人精品综合在线观看 | 午夜久久久久久| 色香蕉久久蜜桃| 自拍偷拍欧美精品| 成人精品亚洲人成在线| www国产成人| 激情亚洲综合在线| 欧美成人三级电影在线| 日韩主播视频在线| 欧美日韩一区二区三区高清| 亚洲欧洲另类国产综合| 成人午夜精品在线| 国产精品亲子伦对白| 国产成人在线电影| 2021久久国产精品不只是精品| 奇米精品一区二区三区四区| 91精选在线观看| 日韩高清在线电影| 欧美一区二区三区色| 日韩电影在线一区二区| 正在播放一区二区| 麻豆国产精品官网| 精品国产免费久久| 国模无码大尺度一区二区三区| 欧美电视剧免费观看| 精品一区二区三区免费视频| 欧美大片日本大片免费观看| 久久99久久99| 国产午夜精品理论片a级大结局 | 天天综合天天综合色| 欧美精选在线播放| 蜜臀av一区二区在线观看| 日韩女优视频免费观看| 国产精品一级二级三级| 国产视频一区二区在线| 成人激情免费电影网址| 亚洲三级电影网站| 欧美性猛片aaaaaaa做受| 日本欧美肥老太交大片| 久久综合久久综合亚洲| 丰满白嫩尤物一区二区| 中文字幕一区二区三区视频| 91小视频在线观看| 五月婷婷综合网| 精品日韩一区二区三区| 成人黄页毛片网站| 亚洲aaa精品| 精品国产一区二区精华| 成人av电影在线| 午夜一区二区三区在线观看| 日韩欧美中文字幕精品| 国产91精品在线观看| 亚洲午夜在线观看视频在线| 日韩三级av在线播放| 国产麻豆9l精品三级站| 亚洲欧美日本在线| 日韩欧美黄色影院| 99精品久久只有精品| 日韩电影在线观看网站| 中文一区二区在线观看| 欧美日韩国产片| 国产成a人亚洲精品| 亚洲第一成人在线| 久久精品在线观看| 欧美怡红院视频| 国产一区二区三区蝌蚪| 亚洲自拍另类综合| 久久久亚洲精品一区二区三区| 日韩欧美123| av激情综合网| 日本美女一区二区| 最新高清无码专区| www国产精品av| 欧美天天综合网| 懂色av一区二区三区免费看| 午夜亚洲福利老司机| 中文文精品字幕一区二区| 欧美一区国产二区| 99免费精品视频| 国产在线播精品第三| 亚洲高清免费在线| 中文字幕的久久| 精品免费国产二区三区| 欧美日韩在线三级| www.欧美精品一二区| 韩国av一区二区三区四区| 一区二区久久久久久| 亚洲国产精品精华液ab|