diff options
author | Ivan Timofeev <timofeev.i.s@gmail.com> | 2012-08-02 16:06:33 +0400 |
---|---|---|
committer | Ivan Timofeev <timofeev.i.s@gmail.com> | 2012-08-02 16:06:33 +0400 |
commit | 92e00f2e536ce0458961d329a3c676acc86249e6 (patch) | |
tree | 086cfea244cfabb0677557bd9eec40568c33d96e /vcl/unx/gtk3 | |
parent | d1a66813a0a4f28af34728efa48a97e4a48a9bf8 (diff) |
cairo uses pre-multiplied alpha
Change-Id: I6cf04b10bfdd6c7b16761b2aa2f31c1392c49546
Diffstat (limited to 'vcl/unx/gtk3')
-rw-r--r-- | vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx index 5e0972ff841b..42984934a9a4 100644 --- a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx +++ b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx @@ -972,9 +972,9 @@ void GtkSalGraphics::renderAreaToPix( cairo_t *cr, for (int x = 0; x < awidth && y < aheight; ++x) { double alpha = ((float)cairo_data[x*4 + 3])/255.0; - src[x*3 + 0] = src[x*3 + 0] * (1.0 - alpha) + cairo_data[x*4+0] * alpha; - src[x*3 + 1] = src[x*3 + 1] * (1.0 - alpha) + cairo_data[x*4+1] * alpha; - src[x*3 + 2] = src[x*3 + 2] * (1.0 - alpha) + cairo_data[x*4+2] * alpha; + src[x*3 + 0] = src[x*3 + 0] * (1.0 - alpha) + cairo_data[x*4+0]; + src[x*3 + 1] = src[x*3 + 1] * (1.0 - alpha) + cairo_data[x*4+1]; + src[x*3 + 2] = src[x*3 + 2] * (1.0 - alpha) + cairo_data[x*4+2]; } src += nStride; cairo_data += cairo_stride; |