lineclip.c

来自「nucleus 文件系统,内核和彩色图形系统,在小系统上非常好用」· C语言 代码 · 共 1,426 行 · 第 1/3 页

C
1,426
字号
    int ZERO = 0; 
	ClipRightTocXmax();

	/* is first point null */
	if (drawStat < ZERO) return(HandleFirstPointNull());

	return(0);
}


/* | |
  -----
  E|S|
  -----
   | |  */
int Clip02(void)
{
	void ClipLeftTocXmin(void);
	int HandleFirstPointNull(void);
    int ZERO = 0;
	ClipLeftTocXmin();

	/* is first point null */
	if (drawStat < ZERO) return(HandleFirstPointNull());

	return(0);
}


/* | |
  -----
   |S|
  -----
   |E|  */
int Clip06(void)
{
	void ClipBottomTocYmax(void);
	int HandleFirstPointNull(void);
    int ZERO = 0;
	ClipBottomTocYmax();

	/* is first point null */
	if (drawStat < ZERO) return(HandleFirstPointNull());

	return(0);
}


/* | |
  -----
   |S|
  -----
   | |E */
int Clip07(void)
{
	void ClipBottomOrRightTocYmaxOrcXmax(void);
	int HandleFirstPointNull(void);
    int ZERO = 0;
	ClipBottomOrRightTocYmaxOrcXmax();

	/* is first point null */
	if (drawStat < ZERO) return(HandleFirstPointNull());

	return(0);
}


/* | |
  -----
   |S|
  -----
  E| |  */
int Clip08(void)
{
	void ClipBottomOrLeftTocYmaxOrcXmin(void);
	int HandleFirstPointNull(void);
    int ZERO = 0;
	ClipBottomOrLeftTocYmaxOrcXmin();

	/* is first point null */
	if (drawStat < ZERO) return(HandleFirstPointNull());

	return(0);
}


/* | |
  -----
   |E|S
  -----
   | |  */
int Clip10(void)
{
	void ClipRightTocXmaxS(void);
/*	int HandleFirstPointNull(void);*/

	ClipRightTocXmaxS();

	/* is last point null */
	if (drawStat > 0)
	{
		majorAxisLengthM1--;	/* count off the first point */
		if (majorAxisLengthM1 < 0) return(1);	/* done with line */
	}
	
	return(0);
}


/* | |
  -----
  E| |S
  -----
   | |  */
int Clip12(void)
{
	void ClipLeftTocXmin(void);
	void ClipRightTocXmaxS(void);

	ClipLeftTocXmin();
	ClipRightTocXmaxS();

	return(0);
}


/* | |
  -----
   | |S
  -----
   |E|  */
int Clip16(void)
{
	void ClipBottomTocYmax(void);
	void ClipRightTocXmaxS(void);

	ClipBottomTocYmax();
	ClipRightTocXmaxS();

	if (dRect.Ymin > cRect.Ymax) return(1);

	return(0);
}


/* | |
  -----
   | |S
  -----
  E| |  */
int Clip18(void)
{
	void ClipBottomOrLeftTocYmaxOrcXmin(void);
	void ClipRightTocXmaxS(void);

	ClipBottomOrLeftTocYmaxOrcXmin();
	ClipRightTocXmaxS();

	if (dRect.Ymin > cRect.Ymax) return(1);

	return(0);
}


/* | |
  -----
  S|E| 
  -----
   | |  */
int Clip20(void)
{
	void ClipLeftTocXminS(void);

	ClipLeftTocXminS();

	/* is last point null */
	if (drawStat > 0)
	{
		majorAxisLengthM1--;	/* count off the first point */
		if (majorAxisLengthM1 < 0) return(1);	/* done with line */
	}

	return(0);
}


/* | |
  -----
  S| |E
  -----
   | |  */
int Clip21(void)
{
	void ClipRightTocXmax(void);
	void ClipLeftTocXminS(void);

	ClipRightTocXmax();
	ClipLeftTocXminS();

	return(0);
}


/* | |
  -----
  S| | 
  -----
   |E|  */
int Clip26(void)
{
	void ClipBottomTocYmax(void);
	void ClipLeftTocXminS(void);

	ClipBottomTocYmax();
	ClipLeftTocXminS();

	if (dRect.Ymin > cRect.Ymax) return(1);

	return(0);
}


/* | |
  -----
  S| | 
  -----
   | |E */
int Clip27(void)
{
	void ClipBottomOrRightTocYmaxOrcXmax(void);
	void ClipLeftTocXminS(void);

	ClipBottomOrRightTocYmaxOrcXmax();
	ClipLeftTocXminS();

	if (dRect.Ymin > cRect.Ymax) return(1);

	return(0);
}


/* |S|
  -----
   |E| 
  -----
   | |  */
int Clip30(void)
{
	void ClipTopTocYmin(void);

	ClipTopTocYmin();

	/* is last point null */
	if (drawStat > 0)
	{
		majorAxisLengthM1--;	/* count off the first point */
		if (majorAxisLengthM1 < 0) return(1);	/* done with line */
	}

	return(0);
}


/* |S|
  -----
   | |E
  -----
   | |  */
int Clip31(void)
{
	void ClipRightTocXmax(void);
	void ClipTopTocYmin(void);

	ClipRightTocXmax();
	ClipTopTocYmin();

	if (dRect.Xmin > cRect.Xmax) return(1);

	return(0);
}


/* |S|
  -----
  E| | 
  -----
   | |  */
int Clip32(void)
{
	void ClipLeftTocXmin(void);
	void ClipTopTocYmin(void);

	ClipLeftTocXmin();
	ClipTopTocYmin();

	if (dRect.Xmin < cRect.Xmin) return(1);

	return(0);
}


/* |S|
  -----
   | | 
  -----
   |E|  */
int Clip36(void)
{
	void ClipLeftTocXmin(void);
	void ClipTopTocYmin(void);

	ClipLeftTocXmin();
	ClipTopTocYmin();

	return(0);
}


/* |S|
  -----
   | | 
  -----
   | |E  */
int Clip37(void)
{
	void ClipBottomOrRightTocYmaxOrcXmax(void);
	void ClipTopTocYmin(void);

	ClipBottomOrRightTocYmaxOrcXmax();
	ClipTopTocYmin();

	if (dRect.Xmin > cRect.Xmax) return(1);

	return(0);
}


/* |S|
  -----
   | | 
  -----
  E| |   */
int Clip38(void)
{
	void ClipBottomOrLeftTocYmaxOrcXmin(void);
	void ClipTopTocYmin(void);

	ClipBottomOrLeftTocYmaxOrcXmin();
	ClipTopTocYmin();

	if (dRect.Xmin < cRect.Xmin) return(1);

	return(0);
}


/* | |S
  -----
   |E| 
  -----
   | |  */
int Clip40(void)
{
	int ClipTopOrRightTocYminOrcXmax(void);

	ClipTopOrRightTocYminOrcXmax();

	/* is last point null */
	if (drawStat > 0)
	{
		majorAxisLengthM1--;	/* count off the first point */
		if (majorAxisLengthM1 < 0) return(1);	/* done with line */
	}

	return(0);
}


/* | |S
  -----
  E| | 
  -----
   | |  */
int Clip42(void)
{
	void ClipLeftTocXmin(void);
	int ClipTopOrRightTocYminOrcXmax(void);

	ClipLeftTocXmin();
	return(ClipTopOrRightTocYminOrcXmax());
}


/* | |S
  -----
   | | 
  -----
   |E|  */
int Clip46(void)
{
	void ClipBottomTocYmax(void);
	int ClipTopOrRightTocYminOrcXmax(void);

	ClipBottomTocYmax();
	return(ClipTopOrRightTocYminOrcXmax());
}


/* | |S
  -----
   | | 
  -----
  E| |  */
int Clip48(void)
{
	void ClipBottomOrLeftTocYmaxOrcXmin(void);
	int ClipTopOrRightTocYminOrcXmax(void);

	ClipBottomOrLeftTocYmaxOrcXmin();
	return(ClipTopOrRightTocYminOrcXmax());
}


/*S| | 
  -----
   |E| 
  -----
   | |  */
int Clip50(void)
{
	int ClipTopOrLeftTocYminOrcXmin(void);

	ClipTopOrLeftTocYminOrcXmin();

	/* is last point null */
	if (drawStat > 0)
	{
		majorAxisLengthM1--;	/* count off the first point */
		if (majorAxisLengthM1 < 0) return(1);	/* done with line */
	}

	return(0);
}


/*S| | 
  -----
   | |E
  -----
   | |  */
int Clip51(void)
{
	void ClipRightTocXmax(void);
	int ClipTopOrLeftTocYminOrcXmin(void);

	ClipRightTocXmax();
	return(ClipTopOrLeftTocYminOrcXmin());
}


/*S| | 
  -----
   | |E
  -----
   | |  */
int Clip56(void)
{
	void ClipBottomTocYmax(void);
	int ClipTopOrLeftTocYminOrcXmin(void);

	ClipBottomTocYmax();
	return(ClipTopOrLeftTocYminOrcXmin());
}


/*S| | 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?