diff options
author | James Courtier-Dutton <jcdutton@users.sourceforge.net> | 2002-01-23 00:15:43 +0000 |
---|---|---|
committer | James Courtier-Dutton <jcdutton@users.sourceforge.net> | 2002-01-23 00:15:43 +0000 |
commit | 6a80cd2a28a8d8a75021ebfd018cbe1f5043d97e (patch) | |
tree | 285a562ed34d1309f88c53d994c7dfa31f3f40e4 /src | |
parent | 304fe455e7bd773eda883f20043227e2db0ead4c (diff) | |
download | xine-lib-6a80cd2a28a8d8a75021ebfd018cbe1f5043d97e.tar.gz xine-lib-6a80cd2a28a8d8a75021ebfd018cbe1f5043d97e.tar.bz2 |
Fix Menu overlay button colours.
CVS patchset: 1441
CVS date: 2002/01/23 00:15:43
Diffstat (limited to 'src')
-rw-r--r-- | src/video_out/video_out_opengl.c | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/src/video_out/video_out_opengl.c b/src/video_out/video_out_opengl.c index 923fe8278..0851c8b10 100644 --- a/src/video_out/video_out_opengl.c +++ b/src/video_out/video_out_opengl.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: video_out_opengl.c,v 1.1 2002/01/22 20:15:00 mshopf Exp $ + * $Id: video_out_opengl.c,v 1.2 2002/01/23 00:15:43 jcdutton Exp $ * * video_out_glut.c, glut based OpenGL rendering interface for xine * Matthias Hopf <mat@mshopf.de> @@ -530,13 +530,24 @@ static void opengl_overlay_clut_yuv2rgb(opengl_driver_t *this, vo_overlay_t *ov { int i; clut_t* clut = (clut_t*) overlay->color; - - for (i = 0; i < sizeof(overlay->color)/sizeof(overlay->color[0]); i++) { - *((uint32_t *)&clut[i]) = - this->yuv2rgb->yuv2rgb_single_pixel_fun(this->yuv2rgb, - clut[i].y, clut[i].cb, clut[i].cr); - } + if (!overlay->rgb_clut) { + for (i = 0; i < sizeof(overlay->color)/sizeof(overlay->color[0]); i++) { + *((uint32_t *)&clut[i]) = + this->yuv2rgb->yuv2rgb_single_pixel_fun(this->yuv2rgb, + clut[i].y, clut[i].cb, clut[i].cr); + } overlay->rgb_clut++; + } + if (!overlay->clip_rgb_clut) { + clut = (clut_t*) overlay->clip_color; + for (i = 0; i < sizeof(overlay->color)/sizeof(overlay->color[0]); i++) { + *((uint32_t *)&clut[i]) = + this->yuv2rgb->yuv2rgb_single_pixel_fun(this->yuv2rgb, + clut[i].y, clut[i].cb, clut[i].cr); + } + overlay->clip_rgb_clut++; + } + } static void opengl_overlay_blend (vo_driver_t *this_gen, vo_frame_t *frame_gen, vo_overlay_t *overlay) { @@ -545,7 +556,7 @@ static void opengl_overlay_blend (vo_driver_t *this_gen, vo_frame_t *frame_gen, /* Alpha Blend here */ if (overlay->rle) { - if( !overlay->rgb_clut ) + if( !overlay->rgb_clut || !overlay->clip_rgb_clut) opengl_overlay_clut_yuv2rgb(this,overlay); assert (this->delivered_width == frame->width); |