add windows move mouse scaled() support and drop some function

This commit is contained in:
vcaesar 2021-11-16 16:35:55 -04:00
parent faeb2b1e20
commit c99807378f

View File

@ -364,16 +364,19 @@ func GetXDisplayName() string {
return gname return gname
} }
// Deprecated:
// ScaleX get the primary display horizontal DPI scale factor, drop // ScaleX get the primary display horizontal DPI scale factor, drop
func ScaleX() int { func ScaleX() int {
return int(C.scale_x()) return int(C.scale_x())
} }
// Deprecated:
// ScaleY get primary display vertical DPI scale factor, drop // ScaleY get primary display vertical DPI scale factor, drop
func ScaleY() int { func ScaleY() int {
return int(C.scale_y()) return int(C.scale_y())
} }
// Deprecated:
// Scale get the screen scale (only windows old), drop // Scale get the screen scale (only windows old), drop
func Scale() int { func Scale() int {
dpi := map[int]int{ dpi := map[int]int{
@ -396,11 +399,13 @@ func Scale() int {
return dpi[x] return dpi[x]
} }
// Deprecated:
// Scale0 return ScaleX() / 0.96, drop // Scale0 return ScaleX() / 0.96, drop
func Scale0() int { func Scale0() int {
return int(float64(ScaleX()) / 0.96) return int(float64(ScaleX()) / 0.96)
} }
// Deprecated:
// Mul mul the scale, drop // Mul mul the scale, drop
func Mul(x int) int { func Mul(x int) int {
s := Scale() s := Scale()
@ -447,6 +452,11 @@ func MoveMouse(x, y int) {
// robotgo.MouseSleep = 100 // 100 millisecond // robotgo.MouseSleep = 100 // 100 millisecond
// robotgo.Move(10, 10) // robotgo.Move(10, 10)
func Move(x, y int) { func Move(x, y int) {
if runtime.GOOS == "windows" {
f := ScaleF()
x, y = Scaled0(x, f), Scaled0(y, f)
}
cx := C.int32_t(x) cx := C.int32_t(x)
cy := C.int32_t(y) cy := C.int32_t(y)
C.move_mouse(cx, cy) C.move_mouse(cx, cy)
@ -505,6 +515,11 @@ func MoveMouseSmooth(x, y int, args ...interface{}) bool {
// robotgo.MoveSmooth(10, 10) // robotgo.MoveSmooth(10, 10)
// robotgo.MoveSmooth(10, 10, 1.0, 2.0) // robotgo.MoveSmooth(10, 10, 1.0, 2.0)
func MoveSmooth(x, y int, args ...interface{}) bool { func MoveSmooth(x, y int, args ...interface{}) bool {
if runtime.GOOS == "windows" {
f := ScaleF()
x, y = Scaled0(x, f), Scaled0(y, f)
}
cx := C.int32_t(x) cx := C.int32_t(x)
cy := C.int32_t(y) cy := C.int32_t(y)
@ -599,14 +614,14 @@ func Click(args ...interface{}) {
// //
// robotgo.MoveClick(x, y int, button string, double bool) // robotgo.MoveClick(x, y int, button string, double bool)
func MoveClick(x, y int, args ...interface{}) { func MoveClick(x, y int, args ...interface{}) {
MoveMouse(x, y) Move(x, y)
MouseClick(args...) Click(args...)
} }
// MovesClick move smooth and click the mouse // MovesClick move smooth and click the mouse
func MovesClick(x, y int, args ...interface{}) { func MovesClick(x, y int, args ...interface{}) {
MoveSmooth(x, y) MoveSmooth(x, y)
MouseClick(args...) Click(args...)
} }
// Toggle toggle the mouse, support button: "left", "center", "right", // Toggle toggle the mouse, support button: "left", "center", "right",