⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 arith.c

📁 在x86平台上运行不可信任代码的sandbox。
💻 C
字号:
#include "u.h"#include "lib.h"#include "draw.h"PointPt(int x, int y){	Point p;	p.x = x;	p.y = y;	return p;}RectangleRect(int x, int y, int bx, int by){	Rectangle r;	r.min.x = x;	r.min.y = y;	r.max.x = bx;	r.max.y = by;	return r;}RectangleRpt(Point min, Point max){	Rectangle r;	r.min = min;	r.max = max;	return r;}Pointaddpt(Point a, Point b){	a.x += b.x;	a.y += b.y;	return a;}Pointsubpt(Point a, Point b){	a.x -= b.x;	a.y -= b.y;	return a;}Rectangleinsetrect(Rectangle r, int n){	r.min.x += n;	r.min.y += n;	r.max.x -= n;	r.max.y -= n;	return r;}Pointdivpt(Point a, int b){	a.x /= b;	a.y /= b;	return a;}Pointmulpt(Point a, int b){	a.x *= b;	a.y *= b;	return a;}Rectanglerectsubpt(Rectangle r, Point p){	r.min.x -= p.x;	r.min.y -= p.y;	r.max.x -= p.x;	r.max.y -= p.y;	return r;}Rectanglerectaddpt(Rectangle r, Point p){	r.min.x += p.x;	r.min.y += p.y;	r.max.x += p.x;	r.max.y += p.y;	return r;}inteqpt(Point p, Point q){	return p.x==q.x && p.y==q.y;}inteqrect(Rectangle r, Rectangle s){	return r.min.x==s.min.x && r.max.x==s.max.x &&	       r.min.y==s.min.y && r.max.y==s.max.y;}intrectXrect(Rectangle r, Rectangle s){	return r.min.x<s.max.x && s.min.x<r.max.x &&	       r.min.y<s.max.y && s.min.y<r.max.y;}intrectinrect(Rectangle r, Rectangle s){	return s.min.x<=r.min.x && r.max.x<=s.max.x && s.min.y<=r.min.y && r.max.y<=s.max.y;}intptinrect(Point p, Rectangle r){	return p.x>=r.min.x && p.x<r.max.x &&	       p.y>=r.min.y && p.y<r.max.y;}Rectanglecanonrect(Rectangle r){	int t;	if (r.max.x < r.min.x) {		t = r.min.x;		r.min.x = r.max.x;		r.max.x = t;	}	if (r.max.y < r.min.y) {		t = r.min.y;		r.min.y = r.max.y;		r.max.y = t;	}	return r;}voidcombinerect(Rectangle *r1, Rectangle r2){	if(r1->min.x > r2.min.x)		r1->min.x = r2.min.x;	if(r1->min.y > r2.min.y)		r1->min.y = r2.min.y;	if(r1->max.x < r2.max.x)		r1->max.x = r2.max.x;	if(r1->max.y < r2.max.y)		r1->max.y = r2.max.y;} ulongdrawld2chan[] = {	GREY1,	GREY2,	GREY4,	CMAP8,};ulongsetalpha(ulong color, uchar alpha){	int red, green, blue;	red = (color >> 3*8) & 0xFF;	green = (color >> 2*8) & 0xFF;	blue = (color >> 1*8) & 0xFF;	/* ignore incoming alpha */	red = (red * alpha)/255;	green = (green * alpha)/255;	blue = (blue * alpha)/255;	return (red<<3*8) | (green<<2*8) | (blue<<1*8) | (alpha<<0*8);}Point	ZP;Rectangle ZR;

⌨️ 快捷键说明

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