]> Pileus Git - ~andy/gtk/commitdiff
gtk/gtkstyle.c gtk/gtkcolorsel.c gtk/gtkhsv.c gtk/gtkiconview.c Update to
authorOwen Taylor <otaylor@redhat.com>
Mon, 18 Apr 2005 15:11:01 +0000 (15:11 +0000)
committerOwen Taylor <otaylor@src.gnome.org>
Mon, 18 Apr 2005 15:11:01 +0000 (15:11 +0000)
2005-04-18  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkstyle.c gtk/gtkcolorsel.c gtk/gtkhsv.c gtk/gtkiconview.c
        * gdk/gdkcolor.c gdk/gdkwindow.c gdk/gdkpixbuf-render.c
        gdk/gdkpango.c tests/testcairo.c: Update to new Cairo API for
        setting color and opacity. (#301066, Vincent Noel)

12 files changed:
ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-8
gdk/gdkcolor.c
gdk/gdkpango.c
gdk/gdkpixbuf-render.c
gdk/gdkwindow.c
gtk/gtkcolorsel.c
gtk/gtkhsv.c
gtk/gtkiconview.c
gtk/gtkstyle.c
tests/testcairo.c

index 60028a94025e1570ad922e7d569604881a09d04e..4c137d4f0ee7531bd44073fea663b06e79580595 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2005-04-18  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkstyle.c gtk/gtkcolorsel.c gtk/gtkhsv.c gtk/gtkiconview.c
+       * gdk/gdkcolor.c gdk/gdkwindow.c gdk/gdkpixbuf-render.c
+       gdk/gdkpango.c tests/testcairo.c: Update to new Cairo API for
+       setting color and opacity. (#301066, Vincent Noel)
 2005-04-15  Federico Mena Quintero  <federico@ximian.com>
 
        Merged from gtk-2-6:
index 60028a94025e1570ad922e7d569604881a09d04e..4c137d4f0ee7531bd44073fea663b06e79580595 100644 (file)
@@ -1,3 +1,10 @@
+2005-04-18  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkstyle.c gtk/gtkcolorsel.c gtk/gtkhsv.c gtk/gtkiconview.c
+       * gdk/gdkcolor.c gdk/gdkwindow.c gdk/gdkpixbuf-render.c
+       gdk/gdkpango.c tests/testcairo.c: Update to new Cairo API for
+       setting color and opacity. (#301066, Vincent Noel)
 2005-04-15  Federico Mena Quintero  <federico@ximian.com>
 
        Merged from gtk-2-6:
index 60028a94025e1570ad922e7d569604881a09d04e..4c137d4f0ee7531bd44073fea663b06e79580595 100644 (file)
@@ -1,3 +1,10 @@
+2005-04-18  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkstyle.c gtk/gtkcolorsel.c gtk/gtkhsv.c gtk/gtkiconview.c
+       * gdk/gdkcolor.c gdk/gdkwindow.c gdk/gdkpixbuf-render.c
+       gdk/gdkpango.c tests/testcairo.c: Update to new Cairo API for
+       setting color and opacity. (#301066, Vincent Noel)
 2005-04-15  Federico Mena Quintero  <federico@ximian.com>
 
        Merged from gtk-2-6:
index f33ff790c4cf8663d3a44fded110034f2608747a..8c7b4a38416d67f39cbcf572adefc37c7be54056 100644 (file)
@@ -383,10 +383,10 @@ void
 gdk_cairo_set_source_color (cairo_t  *cr,
                            GdkColor *color)
 {
-  cairo_set_rgb_color (cr,
-                      color->red / 65535.,
-                      color->green / 65535.,
-                      color->blue / 65535.);
+  cairo_set_source_rgb (cr,
+                       color->red / 65535.,
+                       color->green / 65535.,
+                       color->blue / 65535.);
 }
 
 #define __GDK_COLOR_C__
index 1fe43e707112634f52a9c1696c302e58c2974526..bf5b517cf2411dd33d1f3962820066932b4eff73 100644 (file)
@@ -129,7 +129,7 @@ emboss_context (cairo_t *cr)
   tmp_matrix.y0 += 1.0;
   cairo_set_matrix (cr, &tmp_matrix);
 
-  cairo_set_rgb_color (cr, 1.0, 1.0, 1.0);
+  cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);
 }
 
 static void
@@ -141,10 +141,10 @@ set_part_color (GdkPangoRenderer *gdk_renderer,
                                                part);
   if (color)
     {
-      cairo_set_rgb_color (cr,
-                          color->red / 65535.,
-                          color->green / 65535.,
-                          color->blue / 65535.);
+      cairo_set_source_rgb (cr,
+                           color->red / 65535.,
+                           color->green / 65535.,
+                           color->blue / 65535.);
     }
   else
     {
@@ -224,7 +224,7 @@ create_cairo_context (GdkPangoRenderer *gdk_renderer,
          cairo_matrix_destroy (matrix);
        }
 
-      cairo_set_pattern (cr, pattern);
+      cairo_set_source (cr, pattern);
       cairo_pattern_destroy (pattern);
     }
   else
index e88e5a6ad57fbd55aff1624b635d66aee1f7f881..6e3891f7587fb3f1f42b47a9c4913f9f0bcca88a 100644 (file)
@@ -433,7 +433,7 @@ gdk_pixbuf_set_as_cairo_source (GdkPixbuf *pixbuf,
   cairo_pattern_set_matrix (pattern, matrix);
   cairo_matrix_destroy (matrix);
 
-  cairo_set_pattern (cr, pattern);
+  cairo_set_source (cr, pattern);
   cairo_pattern_destroy (pattern);
 }
 
index 54a0f00010312ccf9386f6e1b3b550ebf9fb8d53..03829181bcde172cf301401d2c976e48872ee267 100644 (file)
@@ -1755,7 +1755,7 @@ gdk_window_set_bg_pattern (GdkWindow      *window,
        }
 
       cairo_pattern_set_extend (pattern, CAIRO_EXTEND_REPEAT);
-      cairo_set_pattern (cr, pattern);
+      cairo_set_source (cr, pattern);
       cairo_pattern_destroy (pattern);
     }
   else
index e04f52e19525edfce36cee268028671d30076438..c18b8afbdc908de3da82cfe5469b343b4bfd65da 100644 (file)
@@ -413,11 +413,11 @@ color_sample_draw_sample (GtkColorSelection *colorsel, int which)
     {
       /* Draw checks in background */
 
-      cairo_set_rgb_color (cr, 0.5, 0.5, 0.5);
+      cairo_set_source_rgb (cr, 0.5, 0.5, 0.5);
       cairo_rectangle (cr, 0, 0, wid, heig);
       cairo_fill (cr);
 
-      cairo_set_rgb_color (cr, 0.75, 0.75, 0.75);
+      cairo_set_source_rgb (cr, 0.75, 0.75, 0.75);
       for (x = goff & -CHECK_SIZE; x < goff + wid; x += CHECK_SIZE)
        for (y = 0; y < heig; y += CHECK_SIZE)
          if ((x / CHECK_SIZE + y / CHECK_SIZE) % 2 == 0)
@@ -427,21 +427,23 @@ color_sample_draw_sample (GtkColorSelection *colorsel, int which)
 
   if (which == 0)
     {
-      cairo_set_rgb_color (cr,
-                          priv->old_color[COLORSEL_RED], 
-                          priv->old_color[COLORSEL_GREEN], 
-                          priv->old_color[COLORSEL_BLUE]);
       if (priv->has_opacity)
-       cairo_set_alpha (cr, priv->old_color[COLORSEL_OPACITY]);
+       cairo_set_source_rgba (cr,
+                              priv->old_color[COLORSEL_RED], 
+                              priv->old_color[COLORSEL_GREEN], 
+                              priv->old_color[COLORSEL_BLUE],
+                              priv->has_opacity ?
+                                 priv->old_color[COLORSEL_OPACITY] : 1.0);
     }
   else
     {
-      cairo_set_rgb_color (cr,
-                          priv->color[COLORSEL_RED], 
-                          priv->color[COLORSEL_GREEN], 
-                          priv->color[COLORSEL_BLUE]);
       if (priv->has_opacity)
-       cairo_set_alpha (cr, priv->color[COLORSEL_OPACITY]);
+       cairo_set_source_rgba (cr,
+                              priv->color[COLORSEL_RED], 
+                              priv->color[COLORSEL_GREEN], 
+                              priv->color[COLORSEL_BLUE],
+                              priv->has_opacity ?
+                                 priv->color[COLORSEL_OPACITY] : 1.0);
     }
 
   cairo_rectangle (cr, 0, 0, wid, heig);
@@ -654,9 +656,9 @@ set_focus_line_attributes (GtkWidget *drawing_area,
   palette_get_color (drawing_area, color);
 
   if (INTENSITY (color[0], color[1], color[2]) > 0.5)
-    cairo_set_rgb_color (cr, 0., 0., 0.);
+    cairo_set_source_rgb (cr, 0., 0., 0.);
   else
-    cairo_set_rgb_color (cr, 1., 1., 1.);
+    cairo_set_source_rgb (cr, 1., 1., 1.);
 
   cairo_set_line_width (cr, *focus_width);
 
index 991e3a1099091863d751b048ab4b39e5a511aa9c..36908b707ffb27b482f4b03d4041c57541f5497c 100644 (file)
@@ -933,7 +933,7 @@ set_source_surface (cairo_t         *cr,
   cairo_pattern_set_matrix (pattern, matrix);
   cairo_matrix_destroy (matrix);
 
-  cairo_set_pattern (cr, pattern);
+  cairo_set_source (cr, pattern);
   cairo_pattern_destroy (pattern);
 }
 
@@ -1027,9 +1027,9 @@ paint_ring (GtkHSV      *hsv,
   hsv_to_rgb (&r, &g, &b);
   
   if (INTENSITY (r, g, b) > 0.5)
-    cairo_set_rgb_color (source_cr, 0., 0., 0.);
+    cairo_set_source_rgb (source_cr, 0., 0., 0.);
   else
-    cairo_set_rgb_color (source_cr, 1., 1., 1.);
+    cairo_set_source_rgb (source_cr, 1., 1., 1.);
 
   cairo_move_to (source_cr, -x + center, - y + center);
   cairo_line_to (source_cr,
@@ -1245,12 +1245,12 @@ paint_triangle (GtkHSV      *hsv,
   if (INTENSITY (r, g, b) > 0.5)
     {
       detail = "colorwheel_light";
-      cairo_set_rgb_color (cr, 0., 0., 0.);
+      cairo_set_source_rgb (cr, 0., 0., 0.);
     }
   else
     {
       detail = "colorwheel_dark";
-      cairo_set_rgb_color (cr, 1., 1., 1.);
+      cairo_set_source_rgb (cr, 1., 1., 1.);
     }
 
 #define RADIUS 4
index d91bb01415dadb573c574ae783ed284aaf0d1b6b..56369f5e19dc936b19d6d173d6162a57042db508 100644 (file)
@@ -2124,15 +2124,22 @@ gtk_icon_view_paint_rubberband (GtkIconView     *icon_view,
   if (!fill_color_gdk)
     fill_color_gdk = gdk_color_copy (&GTK_WIDGET (icon_view)->style->base[GTK_STATE_SELECTED]);
 
-  gdk_cairo_set_source_color (cr, fill_color_gdk);
-  cairo_set_alpha (cr, fill_color_alpha / 255.);
+  cairo_set_source_rgba (cr,
+                        fill_color_gdk->red / 65535.,
+                        fill_color_gdk->green / 65535.,
+                        fill_color_gdk->blue / 65535.,
+                        fill_color_alpha / 255.);
 
   cairo_save (cr);
   cairo_rectangle (cr, rect.x, rect.y, rect.width, rect.height);
   cairo_clip (cr);
   cairo_fill (cr);
-  
-  cairo_set_alpha (cr, 1.0);
+
+  /* Draw the border without alpha */
+  cairo_set_source_rgb (cr,
+                       fill_color_gdk->red / 65535.,
+                       fill_color_gdk->green / 65535.,
+                       fill_color_gdk->blue / 65535.);
   cairo_rectangle (cr, 
                   rubber_rect.x + 0.5, rubber_rect.y + 0.5,
                   rubber_rect.width - 1, rubber_rect.height - 1);
index c27b514a46d3b927bbfb145edec51a01b9cabb2a..10fb2f7e265bb25330b3dd9b441da316c5fa7cc0 100644 (file)
@@ -4560,9 +4560,9 @@ gtk_default_draw_focus (GtkStyle      *style,
   cr = gdk_drawable_create_cairo_context (window);
   
   if (detail && !strcmp (detail, "colorwheel_light"))
-    cairo_set_rgb_color (cr, 0., 0., 0.);
+    cairo_set_source_rgb (cr, 0., 0., 0.);
   else if (detail && !strcmp (detail, "colorwheel_dark"))
-    cairo_set_rgb_color (cr, 1., 1., 1.);
+    cairo_set_source_rgb (cr, 1., 1., 1.);
   else
     gdk_cairo_set_source_color (cr, &style->fg[state_type]);
 
index 2e6eb7264e80aaac5913357be6ebc999dfcdab20..47abeb46033cc98675920acc43d3e561d5127fc5 100644 (file)
@@ -68,7 +68,7 @@ fill_checks (cairo_t *cr,
 #define CHECK_SIZE 32
 
   cairo_rectangle (cr, x, y, width, height);
-  cairo_set_rgb_color (cr, 0.4, 0.4, 0.4);
+  cairo_set_source_rgb (cr, 0.4, 0.4, 0.4);
   cairo_fill (cr);
 
   /* Only works for CHECK_SIZE a power of 2 */
@@ -82,7 +82,7 @@ fill_checks (cairo_t *cr,
          cairo_rectangle (cr, i, j, CHECK_SIZE, CHECK_SIZE);
     }
 
-  cairo_set_rgb_color (cr, 0.7, 0.7, 0.7);
+  cairo_set_source_rgb (cr, 0.7, 0.7, 0.7);
   cairo_fill (cr);
 }
 
@@ -92,25 +92,26 @@ fill_checks (cairo_t *cr,
 static void
 draw_3circles (cairo_t *cr,
                double xc, double yc,
-               double radius)
+               double radius,
+              double alpha)
 {
   double subradius = radius * (2 / 3. - 0.1);
     
-  cairo_set_rgb_color (cr, 1., 0., 0.);
+  cairo_set_source_rgba (cr, 1., 0., 0., alpha);
   oval_path (cr,
             xc + radius / 3. * cos (G_PI * (0.5)),
             yc - radius / 3. * sin (G_PI * (0.5)),
             subradius, subradius);
   cairo_fill (cr);
     
-  cairo_set_rgb_color (cr, 0., 1., 0.);
+  cairo_set_source_rgba (cr, 0., 1., 0., alpha);
   oval_path (cr,
             xc + radius / 3. * cos (G_PI * (0.5 + 2/.3)),
             yc - radius / 3. * sin (G_PI * (0.5 + 2/.3)),
             subradius, subradius);
   cairo_fill (cr);
     
-  cairo_set_rgb_color (cr, 0., 0., 1.);
+  cairo_set_source_rgba (cr, 0., 0., 1., alpha);
   oval_path (cr,
             xc + radius / 3. * cos (G_PI * (0.5 + 4/.3)),
             yc - radius / 3. * sin (G_PI * (0.5 + 4/.3)),
@@ -156,7 +157,7 @@ draw (cairo_t *cr,
 
   /* Draw a black circle on the overlay
    */
-  cairo_set_rgb_color (cr, 0., 0., 0.);
+  cairo_set_source_rgb (cr, 0., 0., 0.);
   oval_path (cr, xc, yc, radius, radius);
   cairo_fill (cr);
 
@@ -166,7 +167,7 @@ draw (cairo_t *cr,
   /* Draw 3 circles to the punch surface, then cut
    * that out of the main circle in the overlay
    */
-  draw_3circles (cr, xc, yc, radius);
+  draw_3circles (cr, xc, yc, radius, 1.0);
 
   cairo_restore (cr);
 
@@ -180,9 +181,8 @@ draw (cairo_t *cr,
   cairo_save (cr);
   cairo_set_target_surface (cr, circles);
 
-  cairo_set_alpha (cr, 0.5);
   cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-  draw_3circles (cr, xc, yc, radius);
+  draw_3circles (cr, xc, yc, radius, 0.5);
 
   cairo_restore (cr);