diff options
author | Radek Doulik <rodo@novell.com> | 2011-07-12 13:35:43 +0200 |
---|---|---|
committer | Petr Mladek <pmladek@suse.cz> | 2011-07-12 14:31:47 +0200 |
commit | f143e7cf1ceaf7526fc95ca70ad95b4458d52225 (patch) | |
tree | fc7db0e2d44ea294dba64b122f56e6a795ba50fd | |
parent | 24016c09cb9ccab425a3cebd1cbdf0023a502ffa (diff) |
fix set color regression in cairo canvas
- the cairo_set_source_rgba should be called with non-alpha-pre-multiplied
color values
- fixes fdo#33591 and fdo#35681
Signed-off-by: Petr Mladek <pmladek@suse.cz>
-rw-r--r-- | canvas/source/cairo/cairo_canvashelper.cxx | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/canvas/source/cairo/cairo_canvashelper.cxx b/canvas/source/cairo/cairo_canvashelper.cxx index 18e23f3536..ccf7dd9e15 100644 --- a/canvas/source/cairo/cairo_canvashelper.cxx +++ b/canvas/source/cairo/cairo_canvashelper.cxx @@ -128,13 +128,11 @@ namespace cairocanvas { if( rColor.getLength() > 3 ) { - const double alpha = rColor[3]; - cairo_set_source_rgba( pCairo, - alpha*rColor[0], - alpha*rColor[1], - alpha*rColor[2], - alpha ); + rColor[0], + rColor[1], + rColor[2], + rColor[3] ); } else if( rColor.getLength() == 3 ) cairo_set_source_rgb( pCairo, |