[pango/wip/matthiasc/alpha: 3/4] Add alpha support to PangoCairoRenderer



commit 9f44c20b3ca62f0de2cc9adc64c14109174c3a8a
Author: Matthias Clasen <mclasen redhat com>
Date:   Tue Aug 11 15:39:22 2015 -0400

    Add alpha support to PangoCairoRenderer
    
    Make PangoCairoRenderer use cairo_set_source_rgba() to apply
    colors with alpha. Note that this means we are only using the
    alpha if the corresponding color has been set.

 pango/pangocairo-render.c |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)
---
diff --git a/pango/pangocairo-render.c b/pango/pangocairo-render.c
index 3855fc2..b1efb37 100644
--- a/pango/pangocairo-render.c
+++ b/pango/pangocairo-render.c
@@ -191,12 +191,17 @@ set_color (PangoCairoRenderer *crenderer,
           PangoRenderPart     part)
 {
   PangoColor *color = pango_renderer_get_color ((PangoRenderer *) (crenderer), part);
+  guint16 alpha = pango_renderer_get_alpha ((PangoRenderer *) (crenderer), part);
+
+  if (!alpha)
+    alpha = 0xffff;
 
   if (color)
-    cairo_set_source_rgb (crenderer->cr,
-                         color->red / 65535.,
-                         color->green / 65535.,
-                         color->blue / 65535.);
+    cairo_set_source_rgba (crenderer->cr,
+                          color->red / 65535.,
+                          color->green / 65535.,
+                          color->blue / 65535.,
+                           alpha / 65535.);
 }
 
 /* note: modifies crenderer->cr without doing cairo_save/restore() */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]