summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2007-05-10 16:07:47 -0400
committerRay Strode <rstrode@redhat.com>2007-05-10 16:07:47 -0400
commited037130a1ad4fb00cfa28991b6a0535c8da7b06 (patch)
tree8c8a7df8facb0df8e1ffb294e257374ea890f243 /src
parent3be9909f098df6ae144e333f4d9c7ff74fb8df05 (diff)
try a few things in vein to get OVER to work right
Diffstat (limited to 'src')
-rw-r--r--src/ply-video-buffer.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/ply-video-buffer.c b/src/ply-video-buffer.c
index 30cbeb9..98abdac 100644
--- a/src/ply-video-buffer.c
+++ b/src/ply-video-buffer.c
@@ -330,13 +330,10 @@ ply_video_buffer_blend_value_at_pixel (PlyVideoBuffer *buffer,
old_green = ((old_pixel_value >> 8) & 0xff) / 255.0;
old_blue = (old_pixel_value & 0xff) / 255.0;
- new_alpha = (pixel_value >> 24) / 255.0;
+ new_alpha = ((pixel_value >> 24) & 0xff) / 255.0;
new_red = ((pixel_value >> 16) & 0xff) / 255.0;
- new_red *= new_alpha;
new_green = ((pixel_value >> 8) & 0xff) / 255.0;
- new_green *= new_alpha;
new_blue = (pixel_value & 0xff) / 255.0;
- new_blue *= new_alpha;
new_red = new_red + old_red * (1.0 - new_alpha);
new_green = new_green + old_green * (1.0 - new_alpha);
@@ -615,6 +612,10 @@ ply_video_buffer_fill_with_color (PlyVideoBuffer *buffer,
if (area == NULL)
area = &buffer->area;
+ red *= alpha;
+ green *= alpha;
+ blue *= alpha;
+
pixel_value =
ply_video_buffer_convert_color_to_pixel_value (buffer,
CLAMP (red * 255.0, 0, 255),