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

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

?? genfunc_clipline.c

?? 該源碼是miniGUI的全部代碼
?? C
字號:
/*** $Id: genfunc_clipline.c,v 1.4 2003/09/04 02:57:09 weiym Exp $** ** genfunc_clipline.c: **** Copyright (C) 2003 Feynman Software.** Copyright (C) 2000 Song Lixin** Copyright (C) 1998 Alexander Larsson   [alla@lysator.liu.se]*//*** 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*//*** This is a line-clipper using the algorithm by cohen-sutherland.**** It is modified to do pixel-perfect clipping. This means that it** will generate the same endpoints that would be drawn if an ordinary** bresenham line-drawer where used and only visible pixels drawn.**** It can be used with a bresenham-like linedrawer if it is modified to** start with a correct error-term.*/#include <stdio.h>#include <stdlib.h>#include "common.h"#include "minigui.h"#include "gal.h"#include "native.h"#define OC_LEFT 1#define OC_RIGHT 2#define OC_TOP 4#define OC_BOTTOM 8/* Outcodes:+-> x|       |      | V  0101 | 0100 | 0110y ---------------------   0001 | 0000 | 0010  ---------------------   1001 | 1000 | 1010        |      |  */#define outcode(code, xx, yy) \{\  code = 0;\ if (xx < tempclipminx)\    code |= OC_LEFT;\  else if (xx > tempclipmaxx)\    code |= OC_RIGHT;\  if (yy < tempclipminy)\    code |= OC_TOP;\  else if (yy>tempclipmaxy)\    code |= OC_BOTTOM;\}/*  Calculates |_ a/b _| with mathematically correct floor  */static int FloorDiv(int a, int b){	int floor;	if (b>0) {		if (a>0) {			return a /b;		} else {			floor = -((-a)/b);			if ((-a)%b != 0)				floor--;		}		return floor;	} else {		if (a>0) {			floor = -(a/(-b));			if (a%(-b) != 0)				floor--;			return floor;		} else {			return (-a)/(-b);		}	}}/*  Calculates |^ a/b ^| with mathamatically correct floor  */static int CeilDiv(int a,int b){	if (b>0)		return FloorDiv(a-1,b)+1;	else		return FloorDiv(-a-1,-b)+1;}int cs_clipline(PSD psd,int *_x0, int *_y0, int *_x1, int *_y1,		       int *clip_first, int *clip_last){	int first,last, code;	int x0,y0,x1,y1;	int x,y;	int dx,dy;	int xmajor;	int slope;		int tempclipminx,tempclipminy,tempclipmaxx,tempclipmaxy;	if (psd->doclip) {		tempclipminx = psd->clipminx;		tempclipminy = psd->clipminy;		tempclipmaxx = psd->clipmaxx;		tempclipmaxy = psd->clipmaxy;	} else {		tempclipminx = 0;		tempclipminy = 0;		tempclipmaxx = psd->xres - 1;		tempclipmaxy = psd->yres - 1;	}		first = 0;	last = 0;	outcode(first,*_x0,*_y0);	outcode(last,*_x1,*_y1);	if ((first | last) == 0) {		return CLIP_VISIBLE; /* Trivially accepted! */	}	if ((first & last) != 0) {		return CLIP_INVISIBLE; /* Trivially rejected! */	}	x0=*_x0; y0=*_y0;	x1=*_x1; y1=*_y1;	dx = x1 - x0;	dy = y1 - y0;  	xmajor = (abs(dx) > abs(dy));	slope = ((dx>=0) && (dy>=0)) || ((dx<0) && (dy<0));  	for (;;) {		code = first;		if (first==0)			code = last;		if (code&OC_LEFT) {			x = tempclipminx;			if (xmajor) {				y = *_y0 +  FloorDiv(dy*(x - *_x0)*2 + dx,						      2*dx);			} else {				if (slope) {					y = *_y0 + CeilDiv(dy*((x - *_x0)*2							       - 1), 2*dx);				} else {					y = *_y0 + FloorDiv(dy*((x - *_x0)*2								- 1), 2*dx);				}			}		} else if (code&OC_RIGHT) {			x = tempclipmaxx;			if (xmajor) {				y = *_y0 +  FloorDiv(dy*(x - *_x0)*2 + dx, 2*dx);			} else {				if (slope) {					y = *_y0 + CeilDiv(dy*((x - *_x0)*2							       + 1), 2*dx)-1;				} else {					y = *_y0 + FloorDiv(dy*((x - *_x0)*2								+ 1), 2*dx)+1;				}			}		} else if (code&OC_TOP) {			y = tempclipminy;			if (xmajor) {				if (slope) {					x = *_x0 + CeilDiv(dx*((y - *_y0)*2							       - 1), 2*dy);				} else {					x = *_x0 + FloorDiv(dx*((y - *_y0)*2								- 1), 2*dy);				}			} else {				x = *_x0 +  FloorDiv( dx*(y - *_y0)*2 + dy,						      2*dy);			}		} else { /* OC_BOTTOM */			y = tempclipmaxy;			if (xmajor) {				if (slope) {					x = *_x0 + CeilDiv(dx*((y - *_y0)*2							       + 1), 2*dy)-1;				} else {					x = *_x0 + FloorDiv(dx*((y - *_y0)*2								+ 1), 2*dy)+1;				}			} else {				x = *_x0 +  FloorDiv(dx*(y - *_y0)*2 + dy,						     2*dy);			}		}		if (first!=0) {			x0 = x;			y0 = y;			outcode(first,x0,y0);			*clip_first = 1;		} else {			x1 = x;			y1 = y;			last = code;			outcode(last,x1,y1);			*clip_last = 1;		}    		if ((first & last) != 0) {			return CLIP_INVISIBLE; /* Trivially rejected! */		}		if ((first | last) == 0) {			*_x0=x0; *_y0=y0;			*_x1=x1; *_y1=y1;			return CLIP_PARTIAL; /* Trivially accepted! */		}	}}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一级二级三级| 国产精品激情偷乱一区二区∴| 一区二区三区.www| 欧美丝袜丝交足nylons图片| 亚洲v日本v欧美v久久精品| 欧美视频日韩视频| 美腿丝袜在线亚洲一区| 久久夜色精品国产欧美乱极品| 国产成人av电影在线播放| 国产精品第13页| 欧美日韩国产天堂| 狠狠色丁香九九婷婷综合五月| 国产欧美一区二区精品婷婷 | 北条麻妃国产九九精品视频| 国产精品乱码一区二三区小蝌蚪| 97久久超碰国产精品电影| 亚洲va欧美va人人爽午夜| 精品久久一二三区| 北岛玲一区二区三区四区| 亚洲小少妇裸体bbw| 精品国产一区二区三区忘忧草| 成人综合在线观看| 日韩高清在线一区| 欧美极品少妇xxxxⅹ高跟鞋| 欧美性猛片xxxx免费看久爱| 免费成人性网站| 一区在线观看免费| 欧美一级一级性生活免费录像| 成人三级在线视频| 日本成人在线网站| 国产精品久久久久aaaa樱花| 欧美成人三级电影在线| 日本电影欧美片| 国产一区高清在线| 亚洲韩国精品一区| 欧美激情资源网| 欧美一区二区大片| 欧美亚洲禁片免费| 成人av中文字幕| 麻豆精品视频在线观看视频| 亚洲欧洲在线观看av| 日韩欧美电影一区| 欧美性受xxxx黑人xyx性爽| 国产精品系列在线观看| 亚洲mv大片欧洲mv大片精品| 国产日韩欧美精品电影三级在线| 欧美日韩一区高清| 91影视在线播放| 国产乱人伦偷精品视频免下载 | 国产精品福利一区二区| 日韩一区二区在线免费观看| 一本久久a久久精品亚洲| 国产精品99久久久久久似苏梦涵| 亚洲国产裸拍裸体视频在线观看乱了 | 麻豆国产精品一区二区三区| 一区二区三区四区视频精品免费 | 综合av第一页| 国产欧美久久久精品影院| 日韩一区二区三区四区五区六区| 欧美亚一区二区| 一本一道综合狠狠老| 99精品久久免费看蜜臀剧情介绍| 国产在线播放一区| 韩国精品久久久| 精品中文av资源站在线观看| 免费观看在线色综合| 青青国产91久久久久久 | 亚洲免费观看高清在线观看| 国产精品伦理在线| 国产精品久久免费看| 国产女同互慰高潮91漫画| 久久毛片高清国产| 久久久精品免费观看| 精品久久99ma| 久久蜜桃av一区二区天堂| 久久精品水蜜桃av综合天堂| 久久久久久综合| 国产亚洲午夜高清国产拍精品| 日韩你懂的在线观看| 精品黑人一区二区三区久久| www精品美女久久久tv| 久久人人爽人人爽| 欧美成人女星排行榜| 日韩国产欧美视频| 青青青伊人色综合久久| 日本va欧美va精品发布| 经典三级在线一区| 国产成人在线看| 成人h精品动漫一区二区三区| 9久草视频在线视频精品| 色香色香欲天天天影视综合网| 91免费看片在线观看| 欧美中文字幕一区二区三区| 欧美日韩免费观看一区三区| 欧美一级日韩免费不卡| 久久久精品天堂| 亚洲精品中文字幕在线观看| 五月婷婷激情综合| 精品综合久久久久久8888| 成av人片一区二区| 7777精品久久久大香线蕉 | 欧美高清视频www夜色资源网| 91麻豆精品国产| 久久亚洲免费视频| 亚洲男同1069视频| 日韩va欧美va亚洲va久久| 国产精品一区二区久激情瑜伽 | 国产福利视频一区二区三区| 99re这里都是精品| 日韩一区二区三区精品视频| 久久夜色精品国产噜噜av| 亚洲女爱视频在线| 蜜桃av一区二区| 91在线精品一区二区三区| 91精品国产综合久久久久久久| 国产调教视频一区| 亚洲国产另类av| 国产成人啪免费观看软件| 欧美天天综合网| 国产精品网站在线播放| 亚洲va欧美va人人爽午夜| 成人永久免费视频| 91精品国产91久久久久久一区二区 | 欧美激情资源网| 视频一区中文字幕国产| 国产91精品一区二区麻豆网站| 欧美日韩一区 二区 三区 久久精品 | 久久精品国产**网站演员| 91丨porny丨首页| 26uuu精品一区二区在线观看| 一二三区精品福利视频| 国产精品亚洲成人| 日韩一区二区电影| 一区二区三区毛片| 国产成人av在线影院| 欧美一级欧美三级| 亚洲精品乱码久久久久久黑人| 国产乱一区二区| 日韩欧美国产综合一区 | 精品日韩在线观看| 亚洲国产你懂的| 色婷婷综合久久久中文字幕| 26uuu国产电影一区二区| 日韩av在线播放中文字幕| 色婷婷亚洲综合| 中文字幕一区二区在线观看| 狠狠色综合色综合网络| 国产精品看片你懂得| 国产一区三区三区| 精品少妇一区二区三区日产乱码 | 蜜桃av一区二区三区| 欧美三级韩国三级日本三斤| 中文字幕综合网| 成人免费视频一区二区| 国产午夜亚洲精品羞羞网站| 久久不见久久见免费视频7| 日韩一区二区三区精品视频| 五月激情六月综合| 欧美日韩一区三区四区| 亚洲最新在线观看| 欧美亚洲国产一区在线观看网站| 日韩伦理电影网| 色综合天天天天做夜夜夜夜做| 国产精品免费视频观看| 成人激情av网| 亚洲欧美影音先锋| 91在线精品一区二区三区| 中文字幕亚洲一区二区av在线| 成人激情免费电影网址| 亚洲欧美综合色| 成人h动漫精品| 亚洲男同性恋视频| 欧美视频精品在线| 亚洲va天堂va国产va久| 欧美一区二区三区啪啪| 久久国产人妖系列| 国产亚洲美州欧州综合国| 国产成人aaa| 亚洲人成7777| 欧美日韩aaaaa| 激情综合五月天| 国产精品美女久久久久aⅴ| 99久久国产综合精品女不卡| 亚洲美女区一区| 欧美日韩一本到| 精品在线观看视频| 《视频一区视频二区| 在线免费观看成人短视频| 日本不卡不码高清免费观看| 日韩一区二区在线播放| 国产一区二区三区在线观看精品| 中文在线一区二区| 色狠狠色狠狠综合| 免费精品99久久国产综合精品| 日韩美女一区二区三区| 成人综合在线观看| 亚洲成国产人片在线观看| 精品国产伦理网| 91在线观看地址| 麻豆成人91精品二区三区|