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

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

?? rect.c

?? 這是針對 Linux (i386)平臺的 minigui 3.6.2 開發(fā)包(MiniGUI-Processes 運(yùn)行模式)。
?? C
字號:
/* ** $Id: rect.c,v 1.10 2003/09/04 03:09:52 weiym Exp $**** Rectangle operations of GDI.**** Copyright (C) 2000, Wei Yongming.**** Current maintainer: Wei Yongming.** Create date: 2000/06/12, derived from original gdi.c*//*** This program is free software; you can redistribute it and/or modify** it under the terms of the GNU General Public License as published by** the Free Software Foundation; either version 2 of the License, or** (at your option) any later version.**** This program is distributed in the hope that it will be useful,** but WITHOUT ANY WARRANTY; without even the implied warranty of** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the** GNU General Public License for more details.**** You should have received a copy of the GNU General Public License** along with this program; if not, write to the Free Software** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA*//*** TODO:*/ #include <stdio.h>#include <stdlib.h>#include <string.h>#include "common.h"/**************************** Rectangle support ******************************/void GUIAPI SetRect(RECT* prc, int left, int top, int right, int bottom){    prc->left = left;    prc->top = top;    prc->right = right;    prc->bottom = bottom;}void GUIAPI SetRectEmpty(RECT* prc){    memset(prc, 0, sizeof(RECT));}void GUIAPI CopyRect(RECT* pdrc, const RECT* psrc){    memcpy(pdrc, psrc, sizeof(RECT));}BOOL GUIAPI IsRectEmpty(const RECT* prc){    if( prc->left == prc->right ) return TRUE;    if( prc->top == prc->bottom ) return TRUE;    return FALSE;}BOOL GUIAPI EqualRect(const RECT* prc1, const RECT* prc2){    if(prc1->left != prc2->left) return FALSE;    if(prc1->top != prc2->top) return FALSE;    if(prc1->right != prc2->right) return FALSE;    if(prc1->bottom != prc2->bottom) return FALSE;    return TRUE;}void GUIAPI NormalizeRect(RECT* pRect){    int iTemp;    if(pRect->left > pRect->right)    {         iTemp = pRect->left;         pRect->left = pRect->right;         pRect->right = iTemp;    }    if(pRect->top > pRect->bottom)    {         iTemp = pRect->top;         pRect->top = pRect->bottom;         pRect->bottom = iTemp;    }}BOOL GUIAPI IsCovered(const RECT* prc1, const RECT* prc2){    if (prc1->left < prc2->left            || prc1->top < prc2->top            || prc1->right > prc2->right            || prc1->bottom > prc2->bottom)        return FALSE;    return TRUE;}BOOL GUIAPI IntersectRect(RECT* pdrc, const RECT* psrc1, const RECT* psrc2){    pdrc->left = (psrc1->left > psrc2->left) ? psrc1->left : psrc2->left;    pdrc->top  = (psrc1->top > psrc2->top) ? psrc1->top : psrc2->top;    pdrc->right = (psrc1->right < psrc2->right) ? psrc1->right : psrc2->right;    pdrc->bottom = (psrc1->bottom < psrc2->bottom)                    ? psrc1->bottom : psrc2->bottom;    if(pdrc->left >= pdrc->right || pdrc->top >= pdrc->bottom)        return FALSE;    return TRUE;}BOOL GUIAPI DoesIntersect (const RECT* psrc1, const RECT* psrc2){    int left, top, right, bottom;        left = (psrc1->left > psrc2->left) ? psrc1->left : psrc2->left;    top  = (psrc1->top > psrc2->top) ? psrc1->top : psrc2->top;    right = (psrc1->right < psrc2->right) ? psrc1->right : psrc2->right;    bottom = (psrc1->bottom < psrc2->bottom)                    ? psrc1->bottom : psrc2->bottom;    if(left >= right || top >= bottom)        return FALSE;    return TRUE;}BOOL GUIAPI UnionRect(RECT* pdrc, const RECT* psrc1, const RECT* psrc2){    RECT src1, src2;    memcpy(&src1, psrc1, sizeof(RECT));    memcpy(&src2, psrc2, sizeof(RECT));    NormalizeRect(&src1);    NormalizeRect(&src2);    if (src1.left == src2.left         && src1.right == src2.right) {        if (src1.top <= src2.top && src2.top <= src1.bottom) {            pdrc->left = src1.left;            pdrc->right = src1.right;            pdrc->top = src1.top;            pdrc->bottom = MAX(src1.bottom, src2.bottom);            return TRUE;        }        else if (src1.top >= src2.top && src2.bottom >= src1.top) {            pdrc->left = src1.left;            pdrc->right = src1.right;            pdrc->top = src2.top;            pdrc->bottom = MAX(src1.bottom, src2.bottom);            return TRUE;       }       return FALSE;    }    if (src1.top == src2.top         && src1.bottom == src2.bottom) {        if (src1.left <= src2.left && src2.left <= src1.right) {            pdrc->top = src1.top;            pdrc->bottom = src1.bottom;            pdrc->left = src1.left;            pdrc->right = MAX(src1.right, src2.right);            return TRUE;        }        else if (src1.left >= src2.left && src2.right >= src1.left) {            pdrc->top = src1.top;            pdrc->bottom = src1.bottom;            pdrc->left = src2.left;            pdrc->right = MAX(src1.right, src2.right);            return TRUE;       }       return FALSE;    }    return FALSE;}void GUIAPI GetBoundRect(PRECT pdrc,  const RECT* psrc1, const RECT* psrc2){    RECT src1, src2;    memcpy(&src1, psrc1, sizeof(RECT));    memcpy(&src2, psrc2, sizeof(RECT));    NormalizeRect(&src1);    NormalizeRect(&src2);    pdrc->left = (src1.left < src2.left) ? src1.left : src2.left;    pdrc->top  = (src1.top < src2.top) ? src1.top : src2.top;    pdrc->right = (src1.right > src2.right) ? src1.right : src2.right;    pdrc->bottom = (src1.bottom > src2.bottom)                    ? src1.bottom : src2.bottom;}int GUIAPI SubtractRect(RECT* rc, const RECT* psrc1, const RECT* psrc2){    RECT src, rcExpect, *prcExpect;    int nCount = 0;        src = *psrc1;    rcExpect = *psrc2;    prcExpect = &rcExpect;    if (!DoesIntersect (&src, prcExpect)) {        nCount = 1;        rc[0] = src;    }    else {        if(prcExpect->top > src.top)        {            rc[nCount].left  = src.left;            rc[nCount].top   = src.top;            rc[nCount].right = src.right;            rc[nCount].bottom = prcExpect->top;            nCount++;            src.top = prcExpect->top;        }        if(prcExpect->bottom < src.bottom)        {            rc[nCount].top  = prcExpect->bottom;            rc[nCount].left   = src.left;            rc[nCount].right = src.right;            rc[nCount].bottom = src.bottom;            nCount++;            src.bottom = prcExpect->bottom;        }        if(prcExpect->left > src.left)        {            rc[nCount].left  = src.left;            rc[nCount].top   = src.top;            rc[nCount].right = prcExpect->left;            rc[nCount].bottom = src.bottom;            nCount++;        }        if(prcExpect->right < src.right)        {            rc[nCount].left  = prcExpect->right;            rc[nCount].top   = src.top;            rc[nCount].right = src.right;            rc[nCount].bottom = src.bottom;            nCount++;        }    }    return nCount;}void GUIAPI OffsetRect(RECT* prc, int x, int y){    prc->left += x;    prc->top += y;    prc->right += x;    prc->bottom += y;}void GUIAPI InflateRect(RECT* prc, int cx, int cy){    prc->left -= cx;    prc->top -= cy;    prc->right += cx;    prc->bottom += cy;}void GUIAPI InflateRectToPt (RECT* prc, int x, int y){    if (x < prc->left) prc->left = x;    if (y < prc->top) prc->top = y;    if (x > prc->right) prc->right = x;    if (y > prc->bottom) prc->bottom = y;}BOOL GUIAPI PtInRect(const RECT* prc, int x, int y){    if (   x >= prc->left         && x < prc->right         && y >= prc->top         && y < prc->bottom)         return TRUE;        return FALSE;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
aaa欧美色吧激情视频| 午夜精品一区二区三区免费视频 | 一区二区三区欧美日| av资源网一区| 亚洲天堂精品在线观看| 欧美综合色免费| 日韩成人免费电影| 久久久久国产免费免费 | 精品一区二区三区日韩| 久久久久国产精品麻豆ai换脸| 成人性生交大片免费看视频在线 | 五月婷婷综合网| 欧美男生操女生| 黑人精品欧美一区二区蜜桃 | 国产91精品一区二区| 亚洲天堂福利av| 91精品婷婷国产综合久久| 韩日欧美一区二区三区| 亚洲精品成人悠悠色影视| 91精品国产免费| 成人黄色av电影| 全部av―极品视觉盛宴亚洲| 国产日韩av一区二区| 欧美视频完全免费看| 国产精品正在播放| 亚洲综合精品久久| 久久午夜免费电影| 一本久久a久久精品亚洲| 捆绑变态av一区二区三区| 中文字幕一区二区三区av| 欧美一区二区视频观看视频| 岛国一区二区在线观看| 日韩av电影天堂| 综合av第一页| 久久久久久久久久久电影| 欧美日本精品一区二区三区| 成人中文字幕合集| 久久精品国产一区二区三| 亚洲精品国产第一综合99久久| 欧美性猛片aaaaaaa做受| 国内精品久久久久影院色 | 中文字幕国产精品一区二区| 欧美三区在线观看| 成人高清在线视频| 久久成人免费网| 亚洲国产成人tv| 中文字幕一区二区视频| 亚洲精品在线免费观看视频| 欧美日本在线视频| 欧美在线999| 91首页免费视频| 风间由美一区二区三区在线观看 | 日韩精品免费专区| 国产乱子轮精品视频| 亚洲精品日日夜夜| 国产午夜精品一区二区| 欧美一区在线视频| 欧美午夜精品一区| 91老师国产黑色丝袜在线| 国产91精品精华液一区二区三区 | 91看片淫黄大片一级| 美国十次综合导航| 日韩国产精品久久| 午夜亚洲福利老司机| 一级特黄大欧美久久久| 一区二区中文视频| 国产精品乱码人人做人人爱| 久久精品视频一区二区| 久久午夜羞羞影院免费观看| 精品奇米国产一区二区三区| 日韩欧美亚洲另类制服综合在线| 色94色欧美sute亚洲线路二 | 亚洲欧洲美洲综合色网| 国产色产综合色产在线视频 | 亚洲人精品午夜| 一色桃子久久精品亚洲| 亚洲欧洲性图库| 亚洲精品国产精华液| 亚洲与欧洲av电影| 亚洲r级在线视频| 丝袜美腿亚洲色图| 蜜臀久久99精品久久久久久9| 麻豆91精品视频| 国产在线不卡一区| 高清在线观看日韩| 成人精品免费视频| 欧美在线观看视频一区二区三区| 在线观看免费一区| 91精品视频网| 久久久久久久久久久99999| 国产精品久久久久久久久快鸭 | 国产精品99久久久久久久vr| 国产成人日日夜夜| 色悠久久久久综合欧美99| 欧美中文字幕亚洲一区二区va在线 | 国产成人免费xxxxxxxx| 国产91精品一区二区麻豆亚洲| 99久久综合国产精品| 欧美性生活一区| 欧美成人在线直播| 国产精品麻豆久久久| 亚洲成人三级小说| 欧洲日韩一区二区三区| 国产91露脸合集magnet| 色老综合老女人久久久| 欧美一区三区二区| 日本一二三不卡| 亚洲国产日日夜夜| 国产精品一二二区| 欧美写真视频网站| 国产亚洲成aⅴ人片在线观看 | 欧美一级艳片视频免费观看| 国产丝袜在线精品| 午夜精品视频在线观看| 成人永久aaa| 日韩一二三四区| 亚洲免费伊人电影| 久久国产精品免费| 色综合天天综合狠狠| 欧美成人精品二区三区99精品| 中文字幕亚洲视频| 精品午夜久久福利影院| 色av成人天堂桃色av| 国产欧美一区二区在线| 日韩电影免费在线| 色婷婷久久久亚洲一区二区三区| 欧美一区二区日韩一区二区| 亚洲天堂精品在线观看| 狠狠色丁香婷综合久久| 欧美精品少妇一区二区三区 | 亚洲妇熟xx妇色黄| 99久久久免费精品国产一区二区| 欧美精品18+| 一区二区三区视频在线观看| 丁香一区二区三区| 日韩精品一区二区在线| 午夜精品久久久| 91麻豆文化传媒在线观看| 久久精品免费在线观看| 蜜桃视频一区二区| 欧美电影在线免费观看| 亚洲综合一二区| 91丨porny丨户外露出| 国产午夜亚洲精品理论片色戒 | 中文字幕一区二区三区不卡 | 国产网站一区二区三区| 免费视频一区二区| 欧美电影影音先锋| 日韩高清在线观看| 欧美日韩国产高清一区二区三区| 一区二区三区毛片| 91视频免费看| **性色生活片久久毛片| 不卡av在线免费观看| 国产精品狼人久久影院观看方式| 国产精品一区二区x88av| 久久免费看少妇高潮| 极品美女销魂一区二区三区免费| 欧美一区二区三区婷婷月色| 日韩黄色一级片| 日韩一区二区三区电影| 奇米综合一区二区三区精品视频 | 久久影音资源网| 精彩视频一区二区| 精品久久一区二区| 国产综合色视频| 国产亚洲欧美日韩日本| 成人做爰69片免费看网站| 亚洲国产电影在线观看| 波多野结衣欧美| 亚洲欧洲成人精品av97| 色先锋资源久久综合| 一区二区三区中文字幕电影 | 亚洲午夜免费电影| 欧美丝袜丝交足nylons| 日韩精品免费视频人成| 精品成人私密视频| 国产成人8x视频一区二区 | 中文字幕va一区二区三区| 不卡高清视频专区| 亚洲五月六月丁香激情| 91精品一区二区三区久久久久久| 久久国产剧场电影| 国产精品久久久久久久浪潮网站| 91亚洲男人天堂| 亚洲国产日韩一区二区| 日韩一区二区影院| 国产成人免费在线观看不卡| 综合激情成人伊人| 678五月天丁香亚洲综合网| 精品一区二区三区免费视频| 国产精品色呦呦| 欧美人与z0zoxxxx视频| 国产精品亚洲一区二区三区在线| 国产精品初高中害羞小美女文| 91福利国产精品| 国产伦精一区二区三区| ...av二区三区久久精品| 制服丝袜av成人在线看| 丰满亚洲少妇av|