Video overlay - Window updating
irodbar at gmail.com
Mon Mar 8 04:41:46 PST 2010
I have a question about video overlay and window repainting. I have
a project in which I need to show a video on a non-rect part of an
application window. After some attempts I decided to use play the
video on one window (window 1) and over it put the application window
(window 2) where the zone I want the video to show is painted using
the color key of the video overlay. With this configuration the video
should be shown as if it were embedded in window 2. However, it works
only in some situations, which I describe bellow:
1.- If window 1 (video) is completely covered by window 2, the video
2.- If window 1 (video) is not completely covered by window 2 (app)
by the left, the video is only show on the part that is not covered.
3.- If window 1 (video) is not completely covered by window 2 (app)
by the bottom, the video is only show on the part that is not covered.
4.- If window 1 (video) is not completely covered by window 2 (app)
by the bottom and by the left simultaneously, the video is shown on
the parts not covered and also on the parts of window 2 (app) which
are painted using the color key of the video overlay.
For my project, I need to reproduce the behaviour of case 4 in the
situation of case 1 but I don't know how to do it. I have tried it
with and without a window manager with the same result. I don't know
very much about the X server but the problem seems to be that when it
needs to update a window, it repaints the minimum rectangle which
cover all pixels that need to be updated so it only shows the video in
case 4 where the minimum rectangle is the entire window 1 (because of
the parts not covered). So my question is, is there a solution for
this problem? Can I tell the X server that some windows must be always
completely repainted? Is there any other way for managing the video
overlay that avoids this problem?
Thank you very much in advance.
More information about the xorg