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

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

?? rect.c

?? libminigui-1.3.0.tar.gz。 miniGUI的庫(kù)函數(shù)源代碼!
?? C
字號(hào):
/*** $Id: rect.c,v 1.4 2003/09/04 06:02:53 weiym Exp $**** rect.c: Rectangle operations of GDI.**** Copyright (C) 2003 Feynman Software** Copyright (C) 2001 ~ 2002 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 ******************************/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;}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产清纯白嫩初高生在线观看91| 69av一区二区三区| 夜夜嗨av一区二区三区四季av| 欧美日韩国产一二三| 国产成人自拍在线| 国产女主播一区| 欧美色国产精品| 国产成人高清在线| 三级亚洲高清视频| 国产一区二区福利视频| 亚洲男同性恋视频| 精品欧美乱码久久久久久 | 欧美乱妇23p| 成人在线视频首页| 美女视频黄久久| 亚洲精品成人少妇| 国产精品污www在线观看| 日韩美女视频在线| 欧美日韩在线直播| 91尤物视频在线观看| 国产精品一区二区黑丝| 日韩电影在线免费| 亚洲一卡二卡三卡四卡无卡久久| 国产精品人妖ts系列视频| 欧美tk—视频vk| 欧美日韩精品一区视频| 色诱亚洲精品久久久久久| 亚洲日本中文字幕区| 精品国产一二三区| 欧美一级一区二区| 欧美日韩小视频| 欧美中文字幕久久| 色网站国产精品| 91女人视频在线观看| 成人国产精品免费网站| 国产精品一区二区在线看| 美国精品在线观看| 欧美aⅴ一区二区三区视频| 午夜成人免费电影| 天堂午夜影视日韩欧美一区二区| 一区二区在线观看av| 亚洲激情图片qvod| 亚洲制服丝袜av| 亚洲一区二区三区四区在线观看| 亚洲精品中文在线观看| 亚洲欧美日韩成人高清在线一区| 国产精品大尺度| 亚洲欧美在线另类| 亚洲免费av在线| 一区二区三区成人在线视频| 亚洲一区二区三区三| 亚洲国产精品久久艾草纯爱| 香蕉久久夜色精品国产使用方法| 日韩免费视频一区| 蜜臀av性久久久久av蜜臀妖精 | 亚洲色图欧洲色图| 亚洲私人黄色宅男| 一区二区在线观看免费视频播放| 亚洲激情网站免费观看| 亚洲国产视频直播| 天天综合网天天综合色| 日韩av网站在线观看| 美女一区二区三区| 国产黄色91视频| 成人av高清在线| 91久久久免费一区二区| 欧美日韩国产小视频| 欧美一级片在线| 久久久久久**毛片大全| 国产精品全国免费观看高清| 亚洲精品亚洲人成人网在线播放| 亚洲一区二区三区爽爽爽爽爽| 日韩精品亚洲一区二区三区免费| 久久国产精品无码网站| 国产在线精品免费| 91亚洲精品一区二区乱码| 欧美视频一区二区三区在线观看| 国产亚洲欧美日韩在线一区| 欧美精品一区二区在线播放| 精品成人一区二区三区| 久久亚区不卡日本| 亚洲欧洲成人精品av97| 午夜精品久久久久久久 | 久久综合九色综合久久久精品综合| 国产偷v国产偷v亚洲高清| 亚洲青青青在线视频| 日本美女一区二区三区视频| 国产成人在线观看免费网站| 在线免费观看日本一区| 精品剧情v国产在线观看在线| 国产精品视频线看| 婷婷久久综合九色综合绿巨人| 国产精品一区二区在线观看网站 | 亚洲欧美一区二区三区孕妇| 91色.com| 欧美一区二区三区免费观看视频| 欧美videos大乳护士334| 中文字幕不卡在线| 午夜久久久影院| 成人黄色免费短视频| 欧美视频一区二区三区在线观看| 国产亚洲污的网站| 午夜激情久久久| 99视频一区二区| 精品国产精品一区二区夜夜嗨| 一区二区三区久久久| 国产精品69久久久久水密桃| 欧美日韩另类国产亚洲欧美一级| 国产精品色一区二区三区| 日韩激情中文字幕| 91视频免费看| 国产日韩欧美精品在线| 日产欧产美韩系列久久99| 99天天综合性| 久久精品免费在线观看| 男男视频亚洲欧美| 欧美少妇xxx| 亚洲乱码精品一二三四区日韩在线| 国产综合色视频| 日韩免费视频一区二区| 亚洲国产精品一区二区久久| 91污片在线观看| 中文无字幕一区二区三区| 久久激五月天综合精品| 欧美一区二区三区在线视频| 久久久欧美精品sm网站| 久久亚洲二区三区| 视频精品一区二区| 在线欧美一区二区| 亚洲精品国产精品乱码不99| 国产成人免费在线观看| 久久亚洲精品国产精品紫薇| 久久不见久久见免费视频1| 欧美午夜一区二区| 国产91在线观看丝袜| 精品成人一区二区三区四区| 免费成人av资源网| 91精品国产入口在线| 亚洲曰韩产成在线| 欧美性感一类影片在线播放| 亚洲精品国产视频| 欧洲日韩一区二区三区| 一区二区三区色| 欧美亚洲一区二区在线观看| 一区二区免费视频| 欧美午夜电影在线播放| 亚洲在线视频免费观看| 欧美日韩中文国产| 天天爽夜夜爽夜夜爽精品视频| 欧美日韩在线播| 日韩av电影天堂| 精品久久久久久无| 国产麻豆一精品一av一免费| 国产喂奶挤奶一区二区三区| 国产91综合网| 亚洲精品视频在线| 欧美影院一区二区三区| 日韩一区精品视频| 精品国产污污免费网站入口| 国产精品一区二区视频| 国产精品视频一二三| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 99精品一区二区| 亚洲精品国产一区二区精华液| 欧美三级在线看| 免费成人小视频| 国产欧美一区二区精品忘忧草| 成人久久18免费网站麻豆| 伊人色综合久久天天人手人婷| 欧美视频一区二| 老司机免费视频一区二区| 久久久噜噜噜久久人人看 | 一区二区欧美视频| 欧美一区二区大片| 国产ts人妖一区二区| 亚洲激情校园春色| 欧美tk—视频vk| 99麻豆久久久国产精品免费| 亚洲成人福利片| 国产亚洲自拍一区| 欧美影院午夜播放| 国产精品中文欧美| 亚洲夂夂婷婷色拍ww47| 精品国产免费人成电影在线观看四季| 丁香婷婷综合五月| 婷婷开心久久网| 国产亚洲人成网站| 日韩激情av在线| 久久精品免费在线观看| 欧美综合欧美视频| 国产精品69毛片高清亚洲| 一区二区三区不卡在线观看| 精品免费国产二区三区| 色欧美88888久久久久久影院| 另类的小说在线视频另类成人小视频在线| 中文字幕第一区综合| 欧美高清视频不卡网| 成人免费视频caoporn| 久久精品国产一区二区三区免费看| 中文字幕一区日韩精品欧美|