vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Mon Dec 17 
22:59:41 2018 +0200| [8decc1d40f061439e99a4718bc21feac07ace671] | committer: 
Rémi Denis-Courmont

directdraw: inline picture place clipping

This cannot possibly result in correct picture scale and position, but
then again, this was already the case before this change.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=8decc1d40f061439e99a4718bc21feac07ace671
---

 modules/video_output/win32/directdraw.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/modules/video_output/win32/directdraw.c 
b/modules/video_output/win32/directdraw.c
index b87726d0bf..7b1076efd3 100644
--- a/modules/video_output/win32/directdraw.c
+++ b/modules/video_output/win32/directdraw.c
@@ -1361,7 +1361,20 @@ static int DirectXUpdateOverlay(vout_display_t *vd, 
LPDIRECTDRAWSURFACE2 surface
         cfg.display.height = sys->sys.rect_display.bottom;
 
         vout_display_place_t place;
-        vout_display_PlacePicture(&place, &vd->source, &cfg, true);
+        vout_display_PlacePicture(&place, &vd->source, &cfg, false);
+
+        if (place.x < 0) {
+            place.width += -place.x;
+            place.x = 0;
+        }
+        if (place.y < 0) {
+            place.height += -place.y;
+            place.y = 0;
+        }
+        if (place.width > cfg.display.width)
+            place.width = cfg.display.width;
+        if (place.height > cfg.display.height)
+            place.height = cfg.display.height;
 
         dst.left   = sys->sys.rect_display.left + place.x;
         dst.top    = sys->sys.rect_display.top  + place.y;

_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to