示例#1
0
func _line(x, y, x1, y1 int, p pointtype) {
	//
	if x1 < x {
		x, x1 = x1, x
		y, y1 = y1, y
	}
	if underX {
		xker.Line(x, y, x1, y1, p == pt)
		return
	}
	if !visible {
		return
	}
	if !iok(x, y) || !iok(x1, y1) {
		return
	}
	if y == y1 {
		horizontal(uint(x), uint(y), uint(x1), p)
		return
	}
	if x == x1 {
		vertical(uint(x), uint(y), uint(y1), p)
		return
	}
	bresenham(x, y, x1, y1, p)
}
示例#2
0
func lineInv(x, y, x1, y1 int) {
	//
	if underX {
		xker.Line(x, y, x1, y1, false)
		return
	}
	if iok(x, y) && iok(x1, y1) {
		_line(x, y, x1, y1, ptinv)
	}
}
示例#3
0
func line(x, y, x1, y1 int) {
	//
	if underX {
		xker.Line(x, y, x1, y1, true)
		return
	}
	if iok(x, y) && iok(x1, y1) {
		_line(x, y, x1, y1, pt)
	}
}