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

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

?? mizerclip.c

?? linux下電話本所依賴的一些圖形庫
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):
	0 < M,N <= 2^15		 2^15 can be imposed by miZeroClipLine	0 <= dx/dy <= 2^16 - 1	0 <= B <= 1The floor in all of the above equations can be accomplished with asimple C divide operation provided that both numerator and denominatorare positive.Since dx,dy >= 0 and since moving an X coordinate implies that dx != 0and moving a Y coordinate implies dy != 0, we know that the denominatorsare all > 0.For all lines, (-B) and (B-1) are both either 0 or -1, depending on thebias.  Thus, we have to show that the 2MNdxy +/- dxy terms are all >= 1or > 0 to prove that the numerators are positive (or zero).For X Major lines we know that dx > 0 and since 2Mdy is >= 0 due to theconstraints, the first four equations all have numerators >= 0.For the second four equations, M > 0, so 2Mdy >= 2dy so (2Mdy - dy) >= dySo (2Mdy - dy) > 0, since they are Y major lines.  Also, (2Mdy + dy) >= 3dyor (2Mdy + dy) > 0.  So all of their numerators are >= 0.For the third set of four equations, N > 0, so 2Ndx >= 2dx so (2Ndx - dx)>= dx > 0.  Similarly (2Ndx + dx) >= 3dx > 0.  So all numerators >= 0.For the fourth set of equations, dy > 0 and 2Ndx >= 0, so all numeratorsare > 0.To consider overflow, consider the case of 2 * M,N * dx,dy + dx,dy.  Thisis bounded <= 2 * 2^15 * (2^16 - 1) + (2^16 - 1)	   <= 2^16 * (2^16 - 1) + (2^16 - 1)	   <= 2^32 - 2^16 + 2^16 - 1	   <= 2^32 - 1Since the (-B) and (B-1) terms are all 0 or -1, the maximum value ofthe numerator is therefore (2^32 - 1), which does not overflow an unsigned32 bit variable.*//* Bit codes for the terms of the 16 clipping equations defined below. */#define T_2NDX		(1 << 0)#define T_2MDY		(0)				/* implicit term */#define T_DXNOTY	(1 << 1)#define T_DYNOTX	(0)				/* implicit term */#define T_SUBDXORY	(1 << 2)#define T_ADDDX		(T_DXNOTY)			/* composite term */#define T_SUBDX		(T_DXNOTY | T_SUBDXORY)		/* composite term */#define T_ADDDY		(T_DYNOTX)			/* composite term */#define T_SUBDY		(T_DYNOTX | T_SUBDXORY)		/* composite term */#define T_BIASSUBONE	(1 << 3)#define T_SUBBIAS	(0)				/* implicit term */#define T_DIV2DX	(1 << 4)#define T_DIV2DY	(0)				/* implicit term */#define T_ADDONE	(1 << 5)/* Bit masks defining the 16 equations used in miZeroClipLine. */#define EQN1	(T_2MDY | T_ADDDX | T_SUBBIAS    | T_DIV2DX)#define EQN1B	(T_2MDY | T_ADDDX | T_SUBBIAS    | T_DIV2DX)#define EQN2	(T_2MDY | T_ADDDX | T_BIASSUBONE | T_DIV2DX)#define EQN2B	(T_2MDY | T_ADDDX | T_BIASSUBONE | T_DIV2DX)#define EQN3	(T_2MDY | T_SUBDY | T_BIASSUBONE | T_DIV2DX | T_ADDONE)#define EQN3B	(T_2MDY | T_ADDDY | T_BIASSUBONE | T_DIV2DX)#define EQN4	(T_2MDY | T_SUBDY | T_SUBBIAS    | T_DIV2DX | T_ADDONE)#define EQN4B	(T_2MDY | T_ADDDY | T_SUBBIAS    | T_DIV2DX)#define EQN5	(T_2NDX | T_SUBDX | T_BIASSUBONE | T_DIV2DY | T_ADDONE)#define EQN5B	(T_2NDX | T_ADDDX | T_BIASSUBONE | T_DIV2DY)#define EQN6	(T_2NDX | T_SUBDX | T_SUBBIAS    | T_DIV2DY | T_ADDONE)#define EQN6B	(T_2NDX | T_ADDDX | T_SUBBIAS    | T_DIV2DY)#define EQN7	(T_2NDX | T_ADDDY | T_SUBBIAS    | T_DIV2DY)#define EQN7B	(T_2NDX | T_ADDDY | T_SUBBIAS    | T_DIV2DY)#define EQN8	(T_2NDX | T_ADDDY | T_BIASSUBONE | T_DIV2DY)#define EQN8B	(T_2NDX | T_ADDDY | T_BIASSUBONE | T_DIV2DY)/* miZeroClipLine * * returns:  1 for partially clipped line *          -1 for completely clipped line * */intmiZeroClipLine(int xmin, int ymin, int xmax, int ymax,	       int *new_x1, int *new_y1, int *new_x2, int *new_y2,	       unsigned int adx, unsigned int ady,	       int *pt1_clipped, int *pt2_clipped, int octant,               unsigned int bias, int oc1, int oc2){    int swapped = 0;    int clipDone = 0;    guint32 utmp = 0;    int clip1, clip2;    int x1, y1, x2, y2;    int x1_orig, y1_orig, x2_orig, y2_orig;    int xmajor;    int negslope = 0, anchorval = 0;    unsigned int eqn = 0;    x1 = x1_orig = *new_x1;    y1 = y1_orig = *new_y1;    x2 = x2_orig = *new_x2;    y2 = y2_orig = *new_y2;    clip1 = 0;    clip2 = 0;    xmajor = IsXMajorOctant(octant);    bias = ((bias >> octant) & 1);    while (1)    {        if ((oc1 & oc2) != 0)			/* trivial reject */	{	    clipDone = -1;	    clip1 = oc1;	    clip2 = oc2;	    break;	}        else if ((oc1 | oc2) == 0)		/* trivial accept */        {	    clipDone = 1;	    if (swapped)	    {	        SWAPINT_PAIR(x1, y1, x2, y2);	        SWAPINT(clip1, clip2);	    }	    break;        }        else			/* have to clip */        {	    /* only clip one point at a time */	    if (oc1 == 0)	    {	        SWAPINT_PAIR(x1, y1, x2, y2);	        SWAPINT_PAIR(x1_orig, y1_orig, x2_orig, y2_orig);	        SWAPINT(oc1, oc2);	        SWAPINT(clip1, clip2);	        swapped = !swapped;	    }    	    clip1 |= oc1;	    if (oc1 & OUT_LEFT)	    {		negslope = IsYDecreasingOctant(octant);		utmp = xmin - x1_orig;		if (utmp <= 32767)		/* clip based on near endpt */		{		    if (xmajor)			eqn = (swapped) ? EQN2 : EQN1;		    else			eqn = (swapped) ? EQN4 : EQN3;		    anchorval = y1_orig;		}		else				/* clip based on far endpt */		{		    utmp = x2_orig - xmin;		    if (xmajor)			eqn = (swapped) ? EQN1B : EQN2B;		    else			eqn = (swapped) ? EQN3B : EQN4B;		    anchorval = y2_orig;		    negslope = !negslope;		}		x1 = xmin;	    }	    else if (oc1 & OUT_ABOVE)	    {		negslope = IsXDecreasingOctant(octant);		utmp = ymin - y1_orig;		if (utmp <= 32767)		/* clip based on near endpt */		{		    if (xmajor)			eqn = (swapped) ? EQN6 : EQN5;		    else			eqn = (swapped) ? EQN8 : EQN7;		    anchorval = x1_orig;		}		else				/* clip based on far endpt */		{		    utmp = y2_orig - ymin;		    if (xmajor)			eqn = (swapped) ? EQN5B : EQN6B;		    else			eqn = (swapped) ? EQN7B : EQN8B;		    anchorval = x2_orig;		    negslope = !negslope;		}		y1 = ymin;	    }	    else if (oc1 & OUT_RIGHT)	    {		negslope = IsYDecreasingOctant(octant);		utmp = x1_orig - xmax;		if (utmp <= 32767)		/* clip based on near endpt */		{		    if (xmajor)			eqn = (swapped) ? EQN2 : EQN1;		    else			eqn = (swapped) ? EQN4 : EQN3;		    anchorval = y1_orig;		}		else				/* clip based on far endpt */		{		    /*		     * Technically since the equations can handle		     * utmp == 32768, this overflow code isn't		     * needed since X11 protocol can't generate		     * a line which goes more than 32768 pixels		     * to the right of a clip rectangle.		     */		    utmp = xmax - x2_orig;		    if (xmajor)			eqn = (swapped) ? EQN1B : EQN2B;		    else			eqn = (swapped) ? EQN3B : EQN4B;		    anchorval = y2_orig;		    negslope = !negslope;		}		x1 = xmax;	    }	    else if (oc1 & OUT_BELOW)	    {		negslope = IsXDecreasingOctant(octant);		utmp = y1_orig - ymax;		if (utmp <= 32767)		/* clip based on near endpt */		{		    if (xmajor)			eqn = (swapped) ? EQN6 : EQN5;		    else			eqn = (swapped) ? EQN8 : EQN7;		    anchorval = x1_orig;		}		else				/* clip based on far endpt */		{		    /*		     * Technically since the equations can handle		     * utmp == 32768, this overflow code isn't		     * needed since X11 protocol can't generate		     * a line which goes more than 32768 pixels		     * below the bottom of a clip rectangle.		     */		    utmp = ymax - y2_orig;		    if (xmajor)			eqn = (swapped) ? EQN5B : EQN6B;		    else			eqn = (swapped) ? EQN7B : EQN8B;		    anchorval = x2_orig;		    negslope = !negslope;		}		y1 = ymax;	    }	    if (swapped)		negslope = !negslope;	    utmp <<= 1;			/* utmp = 2N or 2M */	    if (eqn & T_2NDX)		utmp = (utmp * adx);	    else /* (eqn & T_2MDY) */		utmp = (utmp * ady);	    if (eqn & T_DXNOTY)		if (eqn & T_SUBDXORY)		    utmp -= adx;		else		    utmp += adx;	    else /* (eqn & T_DYNOTX) */		if (eqn & T_SUBDXORY)		    utmp -= ady;		else		    utmp += ady;	    if (eqn & T_BIASSUBONE)		utmp += bias - 1;	    else /* (eqn & T_SUBBIAS) */		utmp -= bias;	    if (eqn & T_DIV2DX)		utmp /= (adx << 1);	    else /* (eqn & T_DIV2DY) */		utmp /= (ady << 1);	    if (eqn & T_ADDONE)		utmp++;	    if (negslope)		utmp = -utmp;	    if (eqn & T_2NDX)	/* We are calculating X steps */		x1 = anchorval + utmp;	    else		/* else, Y steps */		y1 = anchorval + utmp;	    oc1 = 0;	    MIOUTCODES(oc1, x1, y1, xmin, ymin, xmax, ymax);        }    }    *new_x1 = x1;    *new_y1 = y1;    *new_x2 = x2;    *new_y2 = y2;        *pt1_clipped = clip1;    *pt2_clipped = clip2;    return clipDone;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲第一狼人社区| 韩国毛片一区二区三区| 国产麻豆91精品| 久久综合久色欧美综合狠狠| 亚洲一区在线观看视频| 一本到不卡精品视频在线观看| 久久婷婷成人综合色| 欧洲精品一区二区| 亚洲成人av一区| 国产精品女同互慰在线看| 成人一级黄色片| 国产精品污网站| 精品久久五月天| 精品在线一区二区| 欧美激情一二三区| 99re这里只有精品视频首页| 一区二区中文字幕在线| 一本一道久久a久久精品综合蜜臀| 久久er99精品| 成人免费在线播放视频| 国产日韩高清在线| 91精品1区2区| 久久疯狂做爰流白浆xx| 午夜欧美在线一二页| 久久精品男人天堂av| 日本高清无吗v一区| 成人免费高清在线| 国产福利一区在线观看| 亚洲精品水蜜桃| 欧美不卡在线视频| 欧美狂野另类xxxxoooo| 国产一区在线观看视频| 久久精品国产免费| 精品一区二区国语对白| 激情综合五月天| 九九视频精品免费| 狠狠色丁香婷婷综合| 久久er99热精品一区二区| 精品一区二区久久| 国产精品香蕉一区二区三区| 亚洲成在线观看| 午夜久久久影院| 麻豆精品一区二区av白丝在线| 国产色产综合产在线视频| 2023国产精品| 国产欧美日韩亚州综合| 亚洲欧洲精品一区二区精品久久久| 中文久久乱码一区二区| 国产精品久久99| 精品国产91久久久久久久妲己 | 欧美日韩亚州综合| 国产精品小仙女| 不卡视频一二三四| 韩国毛片一区二区三区| 国产黑丝在线一区二区三区| 高清国产一区二区| 久久国产精品99久久人人澡| 国产在线精品国自产拍免费| 成人免费视频国产在线观看| 91在线观看高清| 国产成a人亚洲精品| 91在线视频免费观看| 欧美日韩一区二区三区在线看 | 99re6这里只有精品视频在线观看| 99久久夜色精品国产网站| 91国产丝袜在线播放| 6080yy午夜一二三区久久| 91国产视频在线观看| 欧美一区二区女人| 欧美日韩高清一区二区三区| 欧美性色欧美a在线播放| 91色在线porny| 欧美日韩精品一区二区三区 | 国产精品三级av| 亚洲一区欧美一区| 久草热8精品视频在线观看| 丰满少妇久久久久久久| 欧美视频在线播放| 久久婷婷国产综合精品青草| 一区二区三区在线观看动漫| 亚洲免费在线播放| 中文字幕亚洲区| 奇米888四色在线精品| 午夜精品久久久久影视| 国产精品99久| 欧美精品18+| 国产精品伦理在线| 免费在线观看视频一区| 99精品欧美一区二区三区小说| 51久久夜色精品国产麻豆| 国产精品久久精品日日| 久久国产精品99久久人人澡| 91久久精品一区二区| 国产亚洲精品超碰| 午夜精品久久久久久久99水蜜桃 | 成人午夜视频网站| 91精品国产一区二区三区| 国产精品入口麻豆原神| 日本三级亚洲精品| 激情综合色播激情啊| 欧美日韩一区二区在线观看视频| 国产视频911| 美日韩一区二区| 欧美性一二三区| 亚洲欧美另类在线| 国产成人激情av| 日韩免费高清视频| 国产精品免费看片| 精彩视频一区二区三区| 欧美精品1区2区| 一区二区三区不卡视频| 不卡一区在线观看| 日本一区二区三区电影| 紧缚捆绑精品一区二区| 欧美日韩高清影院| 亚洲伊人色欲综合网| 99麻豆久久久国产精品免费优播| 色综合中文字幕| 7777精品伊人久久久大香线蕉超级流畅 | 亚洲精选视频免费看| 成人午夜碰碰视频| 国产亚洲成av人在线观看导航| 另类的小说在线视频另类成人小视频在线| 91久久精品一区二区三区| 最新成人av在线| 日韩精品久久久久久| 国产成人精品在线看| 日韩免费观看高清完整版| 免费高清成人在线| 日韩欧美中文一区| 1区2区3区欧美| 成人91在线观看| 中文字幕一区二区三区视频| 99久久久精品免费观看国产蜜| 中文字幕国产一区二区| 丁香天五香天堂综合| 中文字幕欧美区| 91蜜桃婷婷狠狠久久综合9色| 国产精品久久久久永久免费观看| 国产91丝袜在线播放0| 中文乱码免费一区二区| 一本久道中文字幕精品亚洲嫩 | 亚洲国产成人高清精品| 粉嫩av一区二区三区在线播放| 久久综合久久久久88| 国产福利一区二区三区在线视频| 久久久久久久久99精品| 午夜视频一区二区| 在线成人高清不卡| 麻豆精品视频在线观看视频| 精品国精品国产| 国产精品系列在线播放| 中文字幕一区二区三中文字幕| 91同城在线观看| 亚洲一区二区综合| 日韩一区二区在线看片| 国产一本一道久久香蕉| 日韩一区中文字幕| 欧美日韩在线三级| 久久国产精品第一页| 国产精品入口麻豆九色| 欧美亚洲禁片免费| 激情六月婷婷久久| 亚洲欧美日韩国产一区二区三区 | 精品一区二区三区久久久| 国产亚洲精品资源在线26u| 色婷婷久久久综合中文字幕| 午夜精品福利久久久| 精品国产一区久久| 92精品国产成人观看免费 | 国产成人免费视频网站 | 午夜激情一区二区三区| 精品播放一区二区| 91免费观看视频在线| 日韩成人dvd| 国产女人aaa级久久久级| 一本高清dvd不卡在线观看 | 成人一区二区三区视频在线观看| 一区二区三区在线影院| 欧美成人精品3d动漫h| av电影在线观看完整版一区二区| 午夜天堂影视香蕉久久| 国产精品系列在线| 91精品国产麻豆国产自产在线 | 色悠久久久久综合欧美99| 韩国理伦片一区二区三区在线播放| 综合激情网...| 欧美不卡一区二区三区四区| 在线精品视频免费观看| 国产在线播放一区三区四| 亚洲一线二线三线视频| 欧美成人官网二区| 欧美在线不卡视频| 国产99久久久国产精品潘金网站| 亚洲第一会所有码转帖| 国产精品网站一区| 欧美成人video| 欧美日韩mp4| 色综合激情五月| 成人av网址在线|