GNOME Bugzilla – Bug 787394
glimagesink: should not ignore (x,y) when resize
Last modified: 2017-09-19 04:13:47 UTC
I notice that glimagesink will ignore (x,y) position when do resize via overlay interface. especially on imx viv fb backend, the frame will always at the left below corner. We should pass x,y to glviewport
Look at how osx does this and replicate that for imx.
Created attachment 359507 [details] [review] gl/viv-fb: fix wrong pos (x,y) calculate in queue_resize queue_resize viewport coordinate calculate is wrong and force queue_resize when do _set_render_rectangle in case user input pos changed
Created attachment 359509 [details] [review] gl/viv-fb: transform screen coordinate to viewport coordinate In y direction, screen coordinate are opposite to viewport coordinate.
Created attachment 359510 [details] [review] glimagesink: expose should do redisplay all the time when using internal window, window resize should work when pause state, but expose only do redisplay when window_id is valid. So expose should do redisplay all the time.
Hi Matthew, Any update?
Review of attachment 359510 [details] [review]: Not quite. The _redisplay() should still be guarded by the if (glimage_sink->display) however the glimage_sink->window_id is not needed.
(In reply to Matthew Waters (ystreet00) from comment #6) > Review of attachment 359510 [details] [review] [review]: > > Not quite. The _redisplay() should still be guarded by the if > (glimage_sink->display) however the glimage_sink->window_id is not needed. Yes, you are right, I will refine my patch.
Created attachment 359760 [details] [review] glimagesink: expose should do redisplay all the time (version 2)
Any comments?
commit b7387745669cfd294a5823dd7018f619d131cf5c Author: Haihua Hu <jared.hu@nxp.com> Date: Mon Sep 11 16:00:24 2017 +0800 gl/viv-fb: transform screen coordinate to viewport coordinate In y direction, screen coordinate are opposite to viewport coordinate. https://bugzilla.gnome.org/show_bug.cgi?id=787394 commit 039c983a9f18c5457f4f117128924da39abc8791 Author: Haihua Hu <jared.hu@nxp.com> Date: Mon Sep 11 15:12:53 2017 +0800 gl/viv-fb: fix wrong pos (x,y) calculate in queue_resize queue_resize viewport coordinate calculate is wrong and force queue_resize when do _set_render_rectangle in case user input pos changed https://bugzilla.gnome.org/show_bug.cgi?id=787394 commit 5f4ee3909e3618c2f65ea56037f86618ddd11eba Author: Haihua Hu <jared.hu@nxp.com> Date: Mon Sep 11 16:11:19 2017 +0800 glimagesink: expose should do redisplay all the time when using internal window, window resize should work when pause state, but expose only do redisplay when window_id is valid. So expose should do redisplay all the time. https://bugzilla.gnome.org/show_bug.cgi?id=787394