fix some incorrect capture magnifier logic

Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
fufesou 2023-03-03 21:04:19 +08:00
parent e30f690f9c
commit c0d367f7b1

View File

@ -282,10 +282,10 @@ impl CapturerMag {
let y = GetSystemMetrics(SM_YVIRTUALSCREEN);
let w = GetSystemMetrics(SM_CXVIRTUALSCREEN);
let h = GetSystemMetrics(SM_CYVIRTUALSCREEN);
if !(origin.0 == x as i32
&& origin.1 == y as i32
&& width == w as usize
&& height == h as usize)
if !(origin.0 >= x as i32
&& origin.1 >= y as i32
&& width <= w as usize
&& height <= h as usize)
{
return Err(Error::new(
ErrorKind::Other,
@ -518,10 +518,10 @@ impl CapturerMag {
let y = GetSystemMetrics(SM_YVIRTUALSCREEN);
let w = GetSystemMetrics(SM_CXVIRTUALSCREEN);
let h = GetSystemMetrics(SM_CYVIRTUALSCREEN);
if !(self.rect.left == x as i32
&& self.rect.top == y as i32
&& self.rect.right == (x + w) as i32
&& self.rect.bottom == (y + h) as i32)
if !(self.rect.left >= x as i32
&& self.rect.top >= y as i32
&& self.rect.right <= (x + w) as i32
&& self.rect.bottom <= (y + h) as i32)
{
return Err(Error::new(
ErrorKind::Other,
@ -545,8 +545,8 @@ impl CapturerMag {
HWND_TOP,
self.rect.left,
self.rect.top,
self.rect.right,
self.rect.bottom,
self.rect.right - self.rect.left,
self.rect.bottom - self.rect.top,
0,
)
{
@ -556,8 +556,8 @@ impl CapturerMag {
"Failed SetWindowPos (x, y, w , h) - ({}, {}, {}, {}), error {}",
self.rect.left,
self.rect.top,
self.rect.right,
self.rect.bottom,
self.rect.right - self.rect.left,
self.rect.bottom - self.rect.top,
GetLastError()
),
));