lavd/gdigrab: mouse dpi awareness

correct mouse location on hidpi screens.
fixes ticket #5008

Signed-off-by: Matt Oliver <protogonoi@gmail.com>
pull/175/head
Metaksakis Georgios 9 years ago committed by Matt Oliver
parent 70d685a77f
commit 00c73c475e
  1. 6
      libavdevice/gdigrab.c

@ -446,6 +446,8 @@ static void paint_mouse_pointer(AVFormatContext *s1, struct gdigrab *gdigrab)
POINT pos;
RECT clip_rect = gdigrab->clip_rect;
HWND hwnd = gdigrab->hwnd;
int vertres = GetDeviceCaps(gdigrab->source_hdc, VERTRES);
int desktopvertres = GetDeviceCaps(gdigrab->source_hdc, DESKTOPVERTRES);
info.hbmMask = NULL;
info.hbmColor = NULL;
@ -479,6 +481,10 @@ static void paint_mouse_pointer(AVFormatContext *s1, struct gdigrab *gdigrab)
}
}
//that would keep the correct location of mouse with hidpi screens
pos.x = pos.x * desktopvertres / vertres;
pos.y = pos.y * desktopvertres / vertres;
av_log(s1, AV_LOG_DEBUG, "Cursor pos (%li,%li) -> (%li,%li)\n",
ci.ptScreenPos.x, ci.ptScreenPos.y, pos.x, pos.y);

Loading…
Cancel
Save