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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? drvstrok.cpp

?? wince3.0的源碼
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
				}
				else
				{
					ptfxLast = pd.pptfx[pd.count-1];

					if( ! ( pd.flags & PD_CLOSEFIGURE ) )
						break;
					fx0 = ptfxLast.x;
					fy0 = ptfxLast.y;
					fx1 = ptfxStartFigure.x;
					fy1 = ptfxStartFigure.y;

				}

				DEBUGMSG(GPE_ZONE_LINE,(TEXT("Line Seg %d.%d,%d.%d - %d.%d,%d.%d\r\n"),
					fx0>>4, fx0&0x000f,
					fy0>>4, fy0&0x000f,
					fx1>>4, fx1&0x000f,
					fy1>>4, fy1&0x000f ));

				// Rotate/Flip the line segment into octant 0  ( dX>=0, dY>=0, dX>=dY )
				fl = 0;

//				if( fx1 < fx0 )
//				{
//					// Reverse direction of line to make dX>0
//					SWAP(fx0,fx1,FIX)
//					SWAP(fy0,fy1,FIX)
//					fl |= FL_FLIP_H;
//				}

				if( fx1 < fx0 )
				{
					// Reflect across x=0 to make dX>0
					fx0 = -fx0;
					fx1 = -fx1;
					fl |= FL_FLIP_H;
				}
				
				if( fy1 < fy0 )
				{
					// Reflect across y=0 to make dY>0
					fy0 = -fy0;
					fy1 = -fy1;
					fl |= FL_FLIP_V;
				}

				if( ( fy1 - fy0 ) > ( fx1 - fx0 ) )
				{
					// Reflect across y=x to make dX>=dY
					SWAP(fx0,fy0,FIX)
					SWAP(fx1,fy1,FIX)
					fl |= FL_FLIP_D;
				}

				dM = fx1 - fx0;
				dN = fy1 - fy0;
				
				if( dM == dN )
					fl |= FL_FLIP_SLOPE_ONE;	// take note of 1:1 slope

				// Based on the flips, set FL_H_ROUND_DOWN &/or FL_V_ROUND_DOWN
				fl |= gaflRound[ (fl & FL_ROUND_MASK) >>FL_ROUND_SHIFT];

				x = fx0>>4;
				y = fy0>>4;
				M0 = fx0 & 0x000f;
				N0 = fy0 & 0x000f;

				// Calculate remainder term  [ dM * ( N0 + F/2 ) - M0 * dN ]

				llGamma = (dM * ( N0 + 8 ) - dN * M0 - ((fl&FL_V_ROUND_DOWN)?1:0)) >> 4;
				llBeta = ~llGamma;
				//.... N0,M0 are 0..15 so this is ok if dM,dN < about 8 million pixels

				// Calculate N1,M1 - the fractional part of the line ends
				M1 = ( M0 + dM ) & 0x000f;
				N1 = ( N0 + dN ) & 0x000f;

				// x0,y0..x1,y1 are the integer parts of the line ends where the origin
				// of the line is at 0.M0,0.N0
				// Thus x0, and y0 start off as 0 but may become 1 or 2 based on the exact
				// starting point of the line to be rendered (and whether the last point
				// is excluded)
				
				x1 = ( M0 + dM ) >> 4;
				

//				if( fl & FL_FLIP_H )
//				{
//					// Unflipped line goes right to left so x1,y1 is start
//					x0 = 1;
//					if( N1 == 0 )
//					{
//						if( M1 > ((fl & FL_H_ROUND_DOWN) ? 8 : 7 ) )
//							x1++;
//					}
//					else if ( ((N1<8)?(8-N1):(N1-8)) + M1 > 16 )
//						x1++;
//					if((fl & (FL_FLIP_SLOPE_ONE | FL_H_ROUND_DOWN)) == FL_FLIP_SLOPE_ONE)
//					{
//						if(( N1 > 0 ) && ( M1 == N1+8 ))
//							x1++;
//						if(( N0 > 0 ) && ( M0 == N0+8 ))
//							x0 = 2;
//					}
//					if( x0 != 2 )
//					{
//						if( N0 == 0 )
//						{
//							if( M0 > ((fl & FL_H_ROUND_DOWN) ? 8 : 7 ) )
//								x0 = 2;
//						}
//						else if ( ((N0<8)?(8-N0):(N0-8)) + M0 > 16 )
//							x0 = 2;
//					}
//					ulDelta = ( x0 == 2 ) ? dN : 0;
//
//					ll = llGamma + ulDelta;
//
//					if( ll >= (long)( 2 * dM - dN ) )
//					{
//						y0 = 2;
//					}
//					else if( ll >= (long)( dM - dN ) )
//					{
//						y0 = 1;
//					}
//					else
//					{
//						y0 = 0;
//					}
//					errorTerm=ll;
//					while(errorTerm>0)
//						errorTerm -= dM;
//
//				}
//				else
				{
					// Line is left to right ( x0,y0 is start )

					x1--;

					if( M1 > 0 )
					{
						if( N1 == 0 )
						{
							if( M1 > ((fl & FL_H_ROUND_DOWN) ? 8 : 7 ) )
								x1++;
						}
						else if ( ((N1<8)?(8-N1):(N1-8)) <= M1 )
							x1++;
					}
					x0 = 0;
					if((fl & (FL_FLIP_SLOPE_ONE|FL_H_ROUND_DOWN))
						== (FL_FLIP_SLOPE_ONE|FL_H_ROUND_DOWN))
					{
						if(( M1 > 0 ) && ( N1 == M1+8 ))
							x1--;
						if(( M0 > 0 ) && ( N0 == M0+8 ))
							goto left_to_right_compute_y0;
					}
					if( M0 > 0 )
					{
						if( N0 == 0 )
						{
							if( M0 > ((fl & FL_H_ROUND_DOWN) ? 8 : 7 ) )
								x0 = 1;
						}
						else if ( ((N0<8)?(8-N0):(N0-8)) <= M0 )
							x0 = 1;
					}
					
					left_to_right_compute_y0:

					if( llGamma >= (long)(dM-(dN&(-(long)x0))) )
					{
						errorTerm = llGamma + ( dN & ~(x0-1) ) - 2 * dM;
						y0 = 1;
					}
					else
					{
						errorTerm = llGamma + ( dN & ~(x0-1) ) - dM;
						y0 = 0;
					}

				}


				llGamma = errorTerm;
				llBeta = ~llGamma;

				//  if( ( fl & FL_FLIP_H ) || ( fl & FL_FLIP_D ) || ( fl & FL_FLIP_SLOPE_ONE ) || ( fl & FL_FLIP_V ) )
				// if( ( fl & FL_FLIP_H ) )
				//	continue;

				// Calculate length of unclipped line in pixels for style tracking
				cStylePels = x1 - x0 + 1;
				if( cStylePels <= 0 )
					continue;		// This line segment was too short to be visible!
	

				
				// Normalize cliprect to origin

				prclFlipped = &arclClip[(fl&FL_RECTLCLIP_MASK) >> FL_RECTLCLIP_SHIFT];
				if( fl & FL_FLIP_H )
					prclFlipped += 4;
				xRight = prclFlipped->right - x;
				xLeft = prclFlipped->left - x;
				yTop = prclFlipped->top - y;
				yBottom = prclFlipped->bottom - y;

				// Clip line to cliprect

				DEBUGMSG(GPE_ZONE_LINE,(TEXT("x0,y0=%d,%d x1=%d. Clip: %d,%d - %d,%d.  llGamma = %d, llBeta = %d\r\n"),
					x0,y0,x1, xLeft,yTop,xRight,yBottom, llGamma, llBeta ));

				if( (long)y0 >= yBottom || (long)x0 >= xRight || (long)x1 < xLeft )
					continue;  // totally clipped  ( note, we don't know y1 yet )

				if( (long)x1 >= xRight )
					x1 = xRight - 1;

				if( dM == 0 || dN == 0 )
				{
					DEBUGMSG(GPE_ZONE_LINE,(TEXT("Horizontal or Vertical\r\n")));
					if( (long)x0 < xLeft )
						x0 = (unsigned long)xLeft;
					if( (long)y0 < yTop )
						continue;
					y1 = y0;
				}
				else
				{
#if DEBUGTEMP
					orig_x0 = (int)x0;
					orig_x1 = (int)x1;
					orig_y0 = (int)y0;
#endif

					if( (long)x0 < xLeft )
					{
						y0 = y0 + (unsigned long)( ( xLeft - (long)x0 ) * dN + llGamma + dM ) / dM;
						x0 = (unsigned long)xLeft;
						DEBUGMSG(GPE_ZONE_LINE,(TEXT("new y0 = %d\r\n"),y0));
						if( (long)y0 >= yBottom )
							continue;
					}
#if DEBUGTEMP
					x0_v1 = (int)x0;
					y0_v1 = (int)y0;
#endif


					if( (long)y0 < yTop )
					{
						x0 = 1 + x0 + (unsigned long)( (yTop-(long)y0-1) * dM - llGamma - 1 ) / dN;
						y0 = (unsigned long)yTop;
						DEBUGMSG(GPE_ZONE_LINE,(TEXT("new x0 = %d\r\n"),x0));
						if( (long)x0 >= xRight )
							continue;
					}
#if DEBUGTEMP
					x0_v2 = (int)x0;
					y0_v2 = (int)y0;
#endif


					y1 = y0 + (unsigned long)(((long)( (x1-x0) * dN ) + llGamma + dM ) / dM);

				
#if DEBUGTEMP
					orig_y1 = (int) y1;
#endif

					if( (long)y1 < yTop )
						continue;

					DEBUGMSG(GPE_ZONE_LINE,(TEXT("y1 = %d\r\n"),y1));

					if( (long)y1 >= yBottom )
					{
						y1 = (unsigned long)(yBottom-1);
						x1 = (unsigned long)( x0 + ( (long)( y1 - y0 ) * dM - llGamma - 1 ) / dN );
						if( (long)x1 < xLeft )
							continue;
					}
#if DEBUGTEMP
					x1_v3 = (int)x1;
					y1_v3 = (int)y1;
					dM_v = (int)dM;
					dN_v = (int)dN;
					llGamma_v = (int)llGamma;
#endif
				}
								
				// Unflip the endpoint coordinates

				xStart = x + x0;
				yStart = y + y0;
				if( fl & FL_FLIP_D )
				{
					SWAP( xStart,yStart,LONG )
				}
				if( fl & FL_FLIP_V )
					yStart = -yStart;
				if( fl & FL_FLIP_H )
					xStart = -xStart;

				iDir = ( ( fl & FL_FLIP_V ) ? 7 : 0 ) ^ ( ( fl & FL_FLIP_D ) ? 1 : 0 )  ^ ( ( fl & FL_FLIP_H ) ? 3 : 0 );
				cPels = x1 - x0 + 1;
				if( cPels <= 0 )	// this can happen if line just touches cliprect
					continue;

				DEBUGMSG(GPE_ZONE_LINE,(TEXT("X,Y=%d,%d dM,dN=%d,%d llGamma=%d errorTerm = %d cPels=%d\r\n"),
					xStart,yStart,dM,dN,llGamma,errorTerm,cPels));

				parms.xStart = xStart;
				parms.yStart = yStart;
				parms.cPels = cPels;
				parms.dM = dM;
				parms.dN = dN;
				parms.llGamma = errorTerm;
				parms.iDir = iDir;
				parms.prclClip = prclCurr;

				if( FAILED((pGPE->*(parms.pLine))(&parms)))
				{
					DEBUGMSG(GPE_ZONE_ENTER,(TEXT("Leaving DrvStrokePath\r\n")));
					return FALSE;
				}

				parms.styleState = ( parms.styleState + cStylePels ) & 31;

			}
		} while ( morePointLists );

			}

	pGPE->Line( &parms, gpeComplete );
	return TRUE;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一区小说| 精品无人区卡一卡二卡三乱码免费卡 | 日产国产欧美视频一区精品| 欧美在线播放高清精品| 亚洲国产精品久久久男人的天堂| 在线精品观看国产| 秋霞影院一区二区| 精品国产乱子伦一区| 狠狠色丁香久久婷婷综合丁香| xfplay精品久久| 国v精品久久久网| 国产精品嫩草影院av蜜臀| 欧美亚洲禁片免费| 免费一级片91| 国产欧美一区二区精品性| 91在线看国产| 日韩精品色哟哟| 国产日韩欧美高清| 日本韩国欧美一区二区三区| 免费人成在线不卡| 欧美国产日韩一二三区| 日本高清不卡一区| 久久99精品久久久久久动态图| 国产蜜臀av在线一区二区三区| 在线一区二区观看| 麻豆精品在线看| 最新成人av在线| 日韩精品在线一区| 色综合久久99| 国内成人免费视频| 亚洲精品国产a| 亚洲精品在线三区| 91高清视频免费看| 国产精品一区二区三区网站| 亚洲午夜免费视频| 欧美激情在线看| 3751色影院一区二区三区| 成人精品一区二区三区中文字幕| 亚洲第一成人在线| 国产精品国产自产拍高清av王其| 欧美一三区三区四区免费在线看 | 久久精品一区二区| 91久久精品一区二区三区| 国产美女精品人人做人人爽| 亚洲成人午夜电影| 国产精品毛片无遮挡高清| 日韩欧美专区在线| 欧美日韩一级二级| 99精品视频中文字幕| 国内精品久久久久影院一蜜桃| 亚洲激情图片一区| 1024成人网| 国产亚洲精品超碰| 精品国产乱码久久久久久夜甘婷婷| 一本大道久久a久久综合婷婷| 成人一级片在线观看| 久久精品国产99国产| 丝袜美腿亚洲综合| 一区二区三区高清不卡| 日本一区二区三区电影| 精品国产123| 欧美一区二区日韩| 91精品欧美一区二区三区综合在| 在线免费观看日本欧美| av网站一区二区三区| 国产夫妻精品视频| 国产成人av一区| 国产乱人伦偷精品视频免下载| 久久99久久久久| 麻豆成人综合网| 日本不卡一区二区| 婷婷久久综合九色综合伊人色| 亚洲国产视频一区| 一区二区三区成人| 亚洲伊人色欲综合网| 尤物av一区二区| 亚洲一二三四久久| 亚洲r级在线视频| 天堂蜜桃91精品| 卡一卡二国产精品 | 国产精品一区二区不卡| 精品一区中文字幕| 国产成人精品影院| 大白屁股一区二区视频| 北条麻妃国产九九精品视频| 99久久精品一区二区| 色综合天天做天天爱| 欧美性欧美巨大黑白大战| 欧美日韩国产123区| 欧美一区二区免费| 精品成人佐山爱一区二区| 久久免费精品国产久精品久久久久| 久久久久久久精| 欧美国产精品一区| 亚洲精品成人精品456| 一区二区成人在线| 日韩高清电影一区| 精品亚洲成av人在线观看| 国产美女主播视频一区| 91丝袜呻吟高潮美腿白嫩在线观看| 97超碰欧美中文字幕| 欧美在线999| 日韩精品一区二区三区老鸭窝| 国产拍欧美日韩视频二区| 亚洲男人的天堂av| 美女国产一区二区| 成人午夜电影久久影院| 欧美一a一片一级一片| 精品欧美乱码久久久久久1区2区| 欧美激情一区二区三区全黄| 亚洲美女免费视频| 久久av资源站| 91小视频免费观看| 91精品国产综合久久精品麻豆 | 99国产精品久久久| 欧美精品在线观看一区二区| 久久久精品天堂| 一区二区三区日韩欧美精品 | 日本一区免费视频| 亚洲自拍偷拍欧美| 九色porny丨国产精品| 91黄色小视频| 欧美xxx久久| 亚洲夂夂婷婷色拍ww47| 韩国在线一区二区| 欧美日韩在线精品一区二区三区激情| 欧美一卡二卡三卡四卡| 亚洲欧美在线aaa| 麻豆久久一区二区| 色丁香久综合在线久综合在线观看| 日韩免费在线观看| 亚洲日本va在线观看| 国产在线视频精品一区| 欧美视频第二页| 亚洲色图都市小说| 国产综合久久久久影院| 欧美日韩国产综合久久| 国产精品久久久爽爽爽麻豆色哟哟| 日日摸夜夜添夜夜添精品视频| 成人va在线观看| 日韩欧美国产综合在线一区二区三区 | 免费在线看成人av| 在线看日韩精品电影| 国产精品你懂的| 国产精品一级黄| 日韩午夜激情视频| 日产欧产美韩系列久久99| 欧洲av一区二区嗯嗯嗯啊| 成人免费视频在线观看| 国产乱子伦视频一区二区三区| 日韩视频免费直播| 亚洲成人tv网| 91麻豆高清视频| 亚洲欧美在线另类| 不卡一卡二卡三乱码免费网站| 久久久精品免费网站| 久久99精品国产.久久久久久| 欧美精品久久久久久久多人混战 | 亚洲免费电影在线| 风流少妇一区二区| 国产网站一区二区| 国产老女人精品毛片久久| 亚洲精品一区二区三区蜜桃下载| 日本aⅴ免费视频一区二区三区| 91福利社在线观看| 亚洲日本一区二区三区| 色综合天天综合在线视频| 亚洲欧美日韩人成在线播放| 99久精品国产| 一区二区三区在线视频观看58| 在线观看亚洲专区| 亚洲狠狠丁香婷婷综合久久久| 一本色道久久加勒比精品| 亚洲女人的天堂| 欧美日韩中文字幕一区二区| 亚洲国产另类精品专区| 51精品久久久久久久蜜臀| 免费成人在线网站| 精品国产亚洲一区二区三区在线观看| 老司机免费视频一区二区三区| 精品福利视频一区二区三区| 国产成人精品免费视频网站| 亚洲国产精品v| 色综合久久久久久久久| 五月天激情综合网| 精品免费99久久| 国产成人自拍高清视频在线免费播放| 亚洲国产精品成人综合| 色呦呦国产精品| 五月天中文字幕一区二区| 欧美日韩大陆在线| 精品一区二区三区的国产在线播放 | 欧美高清一级片在线| 轻轻草成人在线| 日本一区二区三区高清不卡| 色94色欧美sute亚洲13| 喷水一区二区三区| 国产精品久久久一本精品| 精品视频免费看| 国产一区二区不卡在线 |