diff options
author | Benjamin Otte <otte@redhat.com> | 2016-12-18 21:45:15 +0100 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2016-12-20 18:01:11 +0100 |
commit | 15e8a22f0803297cfce64adb5c1ebd95f7518b6c (patch) | |
tree | 2265526c0891c5af88ba6b36278f13dae407cd69 | |
parent | 6e31fc43002a7865664ff3682b9401614865dd46 (diff) | |
download | gtk+-15e8a22f0803297cfce64adb5c1ebd95f7518b6c.tar.gz |
gsk: Move gtk/gtkcairoblur.c to gsk/gskcairoblur.c
-rw-r--r-- | docs/reference/gtk/Makefile.am | 1 | ||||
-rw-r--r-- | gsk/Makefile.am | 2 | ||||
-rw-r--r-- | gsk/gskcairoblur.c (renamed from gtk/gtkcairoblur.c) | 27 | ||||
-rw-r--r-- | gsk/gskcairoblurprivate.h (renamed from gtk/gtkcairoblurprivate.h) | 22 | ||||
-rw-r--r-- | gtk/Makefile.am | 2 | ||||
-rw-r--r-- | gtk/gtkcssshadowsvalue.c | 1 | ||||
-rw-r--r-- | gtk/gtkcssshadowvalue.c | 52 | ||||
-rw-r--r-- | tests/Makefile.am | 2 | ||||
-rw-r--r-- | tests/blur-performance.c | 4 |
9 files changed, 56 insertions, 57 deletions
diff --git a/docs/reference/gtk/Makefile.am b/docs/reference/gtk/Makefile.am index b8e2404541..300c5859e2 100644 --- a/docs/reference/gtk/Makefile.am +++ b/docs/reference/gtk/Makefile.am @@ -36,7 +36,6 @@ IGNORE_HFILES = \ gtkbuilderprivate.h \ gtkbuiltiniconprivate.h \ gtkbuttonprivate.h \ - gtkcairoblurprivate.h \ gtkcellareaboxcontextprivate.h \ gtkcheckbuttonprivate.h \ gtkclipboardprivate.h \ diff --git a/gsk/Makefile.am b/gsk/Makefile.am index 93480f6b8d..8a7a5a36d7 100644 --- a/gsk/Makefile.am +++ b/gsk/Makefile.am @@ -60,6 +60,7 @@ gsk_public_source_h = \ gsktypes.h gsk_private_source_h = \ $(gsk_private_vulkan_source_h) \ + gskcairoblurprivate.h \ gskcairorendererprivate.h \ gskdebugprivate.h \ gskgldriverprivate.h \ @@ -80,6 +81,7 @@ gsk_public_source_c = \ gsktexture.c gsk_private_source_c = \ $(gsk_private_vulkan_source_c) \ + gskcairoblur.c \ gskcairorenderer.c \ gskdebug.c \ gskgldriver.c \ diff --git a/gtk/gtkcairoblur.c b/gsk/gskcairoblur.c index 63b1a3e7e2..0fcd1c63b4 100644 --- a/gtk/gtkcairoblur.c +++ b/gsk/gskcairoblur.c @@ -1,4 +1,4 @@ -/* GTK - The GIMP Toolkit +/* GSK - The GIMP Toolkit * * Copyright (C) 2014 Red Hat * @@ -20,7 +20,7 @@ * Owen Taylor <otaylor@redhat.com> */ -#include "gtkcairoblurprivate.h" +#include "gskcairoblurprivate.h" #include <math.h> #include <string.h> @@ -190,14 +190,14 @@ _boxblur (guchar *buffer, int width, int height, int radius, - GtkBlurFlags flags) + GskBlurFlags flags) { guchar *flipped_buffer; int d = get_box_filter_size (radius); flipped_buffer = g_malloc (width * height); - if (flags & GTK_BLUR_Y) + if (flags & GSK_BLUR_Y) { /* Step 1: swap rows and columns */ flip_buffer (flipped_buffer, buffer, width, height); @@ -209,7 +209,7 @@ _boxblur (guchar *buffer, flip_buffer (buffer, flipped_buffer, height, width); } - if (flags & GTK_BLUR_X) + if (flags & GSK_BLUR_X) { /* Step 4: blur rows */ blur_rows (buffer, flipped_buffer, width, height, d); @@ -219,16 +219,16 @@ _boxblur (guchar *buffer, } /* - * _gtk_cairo_blur_surface: + * _gsk_cairo_blur_surface: * @surface: a cairo image surface. * @radius: the blur radius. * * Blurs the cairo image surface at the given radius. */ void -_gtk_cairo_blur_surface (cairo_surface_t* surface, - double radius_d, - GtkBlurFlags flags) +gsk_cairo_blur_surface (cairo_surface_t* surface, + double radius_d, + GskBlurFlags flags) { int radius = radius_d; @@ -241,7 +241,7 @@ _gtk_cairo_blur_surface (cairo_surface_t* surface, if (radius <= 1) return; - if ((flags & (GTK_BLUR_X|GTK_BLUR_Y)) == 0) + if ((flags & (GSK_BLUR_X|GSK_BLUR_Y)) == 0) return; /* Before we mess with the surface, execute any pending drawing. */ @@ -256,8 +256,8 @@ _gtk_cairo_blur_surface (cairo_surface_t* surface, cairo_surface_mark_dirty (surface); } -/* - * _gtk_cairo_blur_compute_pixels: +/*<private> + * gsk_cairo_blur_compute_pixels: * @radius: the radius to compute the pixels for * * Computes the number of pixels necessary to extend an image in one @@ -275,7 +275,8 @@ _gtk_cairo_blur_surface (cairo_surface_t* surface, * https://bugzilla.mozilla.org/show_bug.cgi?id=590039#c19 */ int -_gtk_cairo_blur_compute_pixels (double radius) +gsk_cairo_blur_compute_pixels (double radius) { return floor (radius * GAUSSIAN_SCALE_FACTOR * 1.5 + 0.5); } + diff --git a/gtk/gtkcairoblurprivate.h b/gsk/gskcairoblurprivate.h index 68126d3b5b..d723ca6f96 100644 --- a/gtk/gtkcairoblurprivate.h +++ b/gsk/gskcairoblurprivate.h @@ -21,8 +21,8 @@ * */ -#ifndef _GTK_CAIRO_BLUR_H -#define _GTK_CAIRO_BLUR_H +#ifndef _GSK_CAIRO_BLUR_H +#define _GSK_CAIRO_BLUR_H #include <glib.h> #include <cairo.h> @@ -30,17 +30,17 @@ G_BEGIN_DECLS typedef enum { - GTK_BLUR_NONE = 0, - GTK_BLUR_X = 1<<0, - GTK_BLUR_Y = 1<<1, - GTK_BLUR_REPEAT = 1<<2 -} GtkBlurFlags; + GSK_BLUR_NONE = 0, + GSK_BLUR_X = 1<<0, + GSK_BLUR_Y = 1<<1, + GSK_BLUR_REPEAT = 1<<2 +} GskBlurFlags; -void _gtk_cairo_blur_surface (cairo_surface_t *surface, +void gsk_cairo_blur_surface (cairo_surface_t *surface, double radius, - GtkBlurFlags flags);; -int _gtk_cairo_blur_compute_pixels (double radius); + GskBlurFlags flags); +int gsk_cairo_blur_compute_pixels (double radius); G_END_DECLS -#endif /* _GTK_CAIRO_BLUR_H */ +#endif /* _GSK_CAIRO_BLUR_H */ diff --git a/gtk/Makefile.am b/gtk/Makefile.am index c54aaffe2d..2578e1f5f2 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -377,7 +377,6 @@ gtk_private_h_sources = \ gtkbuilderprivate.h \ gtkbuiltiniconprivate.h \ gtkbuttonprivate.h \ - gtkcairoblurprivate.h \ gtkcellareaboxcontextprivate.h \ gtkcheckbuttonprivate.h \ gtkcheckmenuitemprivate.h \ @@ -626,7 +625,6 @@ gtk_base_c_sources = \ gtkbuilder-menus.c \ gtkbuiltinicon.c \ gtkbutton.c \ - gtkcairoblur.c \ gtkcalendar.c \ gtkcellarea.c \ gtkcellareabox.c \ diff --git a/gtk/gtkcssshadowsvalue.c b/gtk/gtkcssshadowsvalue.c index bba53ffead..c7037a7a3e 100644 --- a/gtk/gtkcssshadowsvalue.c +++ b/gtk/gtkcssshadowsvalue.c @@ -23,7 +23,6 @@ #include <math.h> -#include "gtkcairoblurprivate.h" #include "gtkcssshadowvalueprivate.h" #include <string.h> diff --git a/gtk/gtkcssshadowvalue.c b/gtk/gtkcssshadowvalue.c index 6edd51aa22..86b30296da 100644 --- a/gtk/gtkcssshadowvalue.c +++ b/gtk/gtkcssshadowvalue.c @@ -21,7 +21,6 @@ #include "gtkcssshadowvalueprivate.h" -#include "gtkcairoblurprivate.h" #include "gtkcsscolorvalueprivate.h" #include "gtkcssnumbervalueprivate.h" #include "gtkcssrgbavalueprivate.h" @@ -30,6 +29,7 @@ #include "gtkrenderprivate.h" #include "gtkpango.h" +#include "gsk/gskcairoblurprivate.h" #include "gsk/gskroundedrectprivate.h" #include <math.h> @@ -329,15 +329,15 @@ static const cairo_user_data_key_t original_cr_key; static cairo_t * gtk_css_shadow_value_start_drawing (const GtkCssValue *shadow, cairo_t *cr, - GtkBlurFlags blur_flags) + GskBlurFlags blur_flags) { cairo_rectangle_int_t clip_rect; cairo_surface_t *surface; cairo_t *blur_cr; gdouble radius, clip_radius; gdouble x_scale, y_scale; - gboolean blur_x = (blur_flags & GTK_BLUR_X) != 0; - gboolean blur_y = (blur_flags & GTK_BLUR_Y) != 0; + gboolean blur_x = (blur_flags & GSK_BLUR_X) != 0; + gboolean blur_y = (blur_flags & GSK_BLUR_Y) != 0; if (!needs_blur (shadow)) return cr; @@ -345,12 +345,12 @@ gtk_css_shadow_value_start_drawing (const GtkCssValue *shadow, gdk_cairo_get_clip_rectangle (cr, &clip_rect); radius = _gtk_css_number_value_get (shadow->radius, 0); - clip_radius = _gtk_cairo_blur_compute_pixels (radius); + clip_radius = gsk_cairo_blur_compute_pixels (radius); x_scale = y_scale = 1; cairo_surface_get_device_scale (cairo_get_target (cr), &x_scale, &y_scale); - if (blur_flags & GTK_BLUR_REPEAT) + if (blur_flags & GSK_BLUR_REPEAT) { if (!blur_x) clip_rect.width = 1; @@ -399,7 +399,7 @@ mask_surface_repeat (cairo_t *cr, static cairo_t * gtk_css_shadow_value_finish_drawing (const GtkCssValue *shadow, cairo_t *cr, - GtkBlurFlags blur_flags) + GskBlurFlags blur_flags) { gdouble radius; cairo_t *original_cr; @@ -418,10 +418,10 @@ gtk_css_shadow_value_finish_drawing (const GtkCssValue *shadow, x_scale = 1; cairo_surface_get_device_scale (cairo_get_target (cr), &x_scale, NULL); - _gtk_cairo_blur_surface (surface, x_scale * radius, blur_flags); + gsk_cairo_blur_surface (surface, x_scale * radius, blur_flags); gdk_cairo_set_source_rgba (original_cr, _gtk_css_rgba_value_get_rgba (shadow->color)); - if (blur_flags & GTK_BLUR_REPEAT) + if (blur_flags & GSK_BLUR_REPEAT) mask_surface_repeat (original_cr, surface); else cairo_mask_surface (original_cr, surface, 0, 0); @@ -478,7 +478,7 @@ make_blurred_pango_surface (cairo_t *existing_cr, radius = _gtk_css_number_value_get (shadow->radius, 0); pango_layout_get_pixel_extents (layout, &ink_rect, NULL); - clip_radius = _gtk_cairo_blur_compute_pixels (radius); + clip_radius = gsk_cairo_blur_compute_pixels (radius); x_scale = y_scale = 1; cairo_surface_get_device_scale (cairo_get_target (existing_cr), &x_scale, &y_scale); @@ -491,7 +491,7 @@ make_blurred_pango_surface (cairo_t *existing_cr, cr = cairo_create (surface); cairo_move_to (cr, 0, 0); _gtk_pango_fill_layout (cr, layout); - _gtk_cairo_blur_surface (surface, radius * x_scale, GTK_BLUR_X | GTK_BLUR_Y); + gsk_cairo_blur_surface (surface, radius * x_scale, GSK_BLUR_X | GSK_BLUR_Y); cairo_destroy (cr); @@ -586,14 +586,14 @@ _gtk_css_shadow_value_paint_icon (const GtkCssValue *shadow, pattern = cairo_pattern_reference (cairo_get_source (cr)); gdk_cairo_set_source_rgba (cr, _gtk_css_rgba_value_get_rgba (shadow->color)); - cr = gtk_css_shadow_value_start_drawing (shadow, cr, GTK_BLUR_X | GTK_BLUR_Y); + cr = gtk_css_shadow_value_start_drawing (shadow, cr, GSK_BLUR_X | GSK_BLUR_Y); cairo_translate (cr, _gtk_css_number_value_get (shadow->hoffset, 0), _gtk_css_number_value_get (shadow->voffset, 0)); cairo_mask (cr, pattern); - cr = gtk_css_shadow_value_finish_drawing (shadow, cr, GTK_BLUR_X | GTK_BLUR_Y); + cr = gtk_css_shadow_value_finish_drawing (shadow, cr, GSK_BLUR_X | GSK_BLUR_Y); cairo_restore (cr); cairo_pattern_destroy (pattern); @@ -615,7 +615,7 @@ gtk_css_shadow_value_get_extents (const GtkCssValue *shadow, spread = _gtk_css_number_value_get (shadow->spread, 0); radius = _gtk_css_number_value_get (shadow->radius, 0); - clip_radius = _gtk_cairo_blur_compute_pixels (radius); + clip_radius = gsk_cairo_blur_compute_pixels (radius); hoffset = _gtk_css_number_value_get (shadow->hoffset, 0); voffset = _gtk_css_number_value_get (shadow->voffset, 0); @@ -639,7 +639,7 @@ draw_shadow (const GtkCssValue *shadow, cairo_t *cr, GskRoundedRect *box, GskRoundedRect *clip_box, - GtkBlurFlags blur_flags) + GskBlurFlags blur_flags) { cairo_t *shadow_cr; gboolean do_blur; @@ -648,7 +648,7 @@ draw_shadow (const GtkCssValue *shadow, return; gdk_cairo_set_source_rgba (cr, _gtk_css_rgba_value_get_rgba (shadow->color)); - do_blur = (blur_flags & (GTK_BLUR_X | GTK_BLUR_Y)) != 0; + do_blur = (blur_flags & (GSK_BLUR_X | GSK_BLUR_Y)) != 0; if (do_blur) shadow_cr = gtk_css_shadow_value_start_drawing (shadow, cr, blur_flags); else @@ -710,7 +710,7 @@ draw_shadow_corner (const GtkCssValue *shadow, gboolean overlapped; radius = _gtk_css_number_value_get (shadow->radius, 0); - clip_radius = _gtk_cairo_blur_compute_pixels (radius); + clip_radius = gsk_cairo_blur_compute_pixels (radius); overlapped = FALSE; if (corner == GSK_CORNER_TOP_LEFT || corner == GSK_CORNER_BOTTOM_LEFT) @@ -771,7 +771,7 @@ draw_shadow_corner (const GtkCssValue *shadow, { /* Fall back to generic path if inset or if the corner radius runs into each other */ - draw_shadow (shadow, cr, box, clip_box, GTK_BLUR_X | GTK_BLUR_Y); + draw_shadow (shadow, cr, box, clip_box, GSK_BLUR_X | GSK_BLUR_Y); return; } @@ -812,7 +812,7 @@ draw_shadow_corner (const GtkCssValue *shadow, corner_box.corner[0] = box->corner[corner]; gsk_rounded_rect_path (&corner_box, mask_cr); cairo_fill (mask_cr); - _gtk_cairo_blur_surface (mask, radius, GTK_BLUR_X | GTK_BLUR_Y); + gsk_cairo_blur_surface (mask, radius, GSK_BLUR_X | GSK_BLUR_Y); cairo_destroy (mask_cr); g_hash_table_insert (corner_mask_cache, g_memdup (&key, sizeof (key)), mask); } @@ -835,16 +835,16 @@ draw_shadow_side (const GtkCssValue *shadow, GtkCssSide side, cairo_rectangle_int_t *drawn_rect) { - GtkBlurFlags blur_flags = GTK_BLUR_REPEAT; + GskBlurFlags blur_flags = GSK_BLUR_REPEAT; gdouble radius, clip_radius; int x1, x2, y1, y2; radius = _gtk_css_number_value_get (shadow->radius, 0); - clip_radius = _gtk_cairo_blur_compute_pixels (radius); + clip_radius = gsk_cairo_blur_compute_pixels (radius); if (side == GTK_CSS_TOP || side == GTK_CSS_BOTTOM) { - blur_flags |= GTK_BLUR_Y; + blur_flags |= GSK_BLUR_Y; x1 = floor (box->bounds.origin.x - clip_radius); x2 = ceil (box->bounds.origin.x + box->bounds.size.width + clip_radius); } @@ -861,7 +861,7 @@ draw_shadow_side (const GtkCssValue *shadow, if (side == GTK_CSS_LEFT || side == GTK_CSS_RIGHT) { - blur_flags |= GTK_BLUR_X; + blur_flags |= GSK_BLUR_X; y1 = floor (box->bounds.origin.y - clip_radius); y2 = ceil (box->bounds.origin.y + box->bounds.size.height + clip_radius); } @@ -910,7 +910,7 @@ _gtk_css_shadow_value_paint_box (const GtkCssValue *shadow, spread = _gtk_css_number_value_get (shadow->spread, 0); radius = _gtk_css_number_value_get (shadow->radius, 0); - clip_radius = _gtk_cairo_blur_compute_pixels (radius); + clip_radius = gsk_cairo_blur_compute_pixels (radius); x = _gtk_css_number_value_get (shadow->hoffset, 0); y = _gtk_css_number_value_get (shadow->voffset, 0); @@ -943,7 +943,7 @@ _gtk_css_shadow_value_paint_box (const GtkCssValue *shadow, gsk_rounded_rect_shrink (&clip_box, -clip_radius, -clip_radius, -clip_radius, -clip_radius); if (!needs_blur (shadow)) - draw_shadow (shadow, cr, &box, &clip_box, GTK_BLUR_NONE); + draw_shadow (shadow, cr, &box, &clip_box, GSK_BLUR_NONE); else { int i; @@ -1014,7 +1014,7 @@ _gtk_css_shadow_value_paint_box (const GtkCssValue *shadow, cairo_save (cr); gdk_cairo_region (cr, remaining); cairo_clip (cr); - draw_shadow (shadow, cr, &box, &clip_box, GTK_BLUR_NONE); + draw_shadow (shadow, cr, &box, &clip_box, GSK_BLUR_NONE); cairo_restore (cr); cairo_region_destroy (remaining); diff --git a/tests/Makefile.am b/tests/Makefile.am index 8b7b746803..943329d88c 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -290,7 +290,7 @@ scrolling_performance_SOURCES = \ blur_performance_SOURCES = \ blur-performance.c \ - ../gtk/gtkcairoblur.c + ../gsk/gskcairoblur.c video_timer_SOURCES = \ video-timer.c \ diff --git a/tests/blur-performance.c b/tests/blur-performance.c index a99e5cd00d..c69a131f77 100644 --- a/tests/blur-performance.c +++ b/tests/blur-performance.c @@ -1,6 +1,6 @@ /* -*- mode: C; c-basic-offset: 2; indent-tabs-mode: nil; -*- */ -#include <gtk/gtkcairoblurprivate.h> +#include <gsk/gskcairoblurprivate.h> static void init_surface (cairo_t *cr) @@ -41,7 +41,7 @@ main (int argc, char **argv) { init_surface (cr); g_timer_start (timer); - _gtk_cairo_blur_surface (surface, i, GTK_BLUR_X | GTK_BLUR_Y); + gsk_cairo_blur_surface (surface, i, GSK_BLUR_X | GSK_BLUR_Y); msec = g_timer_elapsed (timer, NULL) * 1000; if (j == 1) g_print ("Radius %2d: %.2f msec, %.2f kpixels/msec:\n", i, msec, size*size/(msec*1000)); |