summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBill Spitzak <spitzak@gmail.com>2016-02-08 00:06:51 -0800
committerOded Gabbay <oded.gabbay@gmail.com>2016-02-08 10:22:08 +0200
commit553a3831b230e966270cb2e08129aa7cc8a07b75 (patch)
tree57721b99abef37be20a00f99b4083b751a1f018a
parent29be2a457be7cfa58760fcb549d7e48e6525a893 (diff)
demos/scale: Only generate filters when used for separable
This makes the speed of the demo more accurate, as the filter generation is a visible fraction of the time it takes to do a transform. This also prevents the output of unused filters in the gnuplot option in the next patch. Signed-off-by: Bill Spitzak <spitzak@gmail.com> Reviewed-by: Oded Gabbay <oded.gabbay@gmail.com>
-rw-r--r--demos/scale.c29
1 files changed, 19 insertions, 10 deletions
diff --git a/demos/scale.c b/demos/scale.c
index 06821e3..6d7ad2a 100644
--- a/demos/scale.c
+++ b/demos/scale.c
@@ -258,16 +258,25 @@ rescale (GtkWidget *may_be_null, app_t *app)
pixman_transform_from_pixman_f_transform (&transform, &ftransform);
pixman_image_set_transform (app->original, &transform);
- params = pixman_filter_create_separable_convolution (
- &n_params,
- sx * 65536.0 + 0.5,
- sy * 65536.0 + 0.5,
- get_value (app, filters, "reconstruct_x_combo_box"),
- get_value (app, filters, "reconstruct_y_combo_box"),
- get_value (app, filters, "sample_x_combo_box"),
- get_value (app, filters, "sample_y_combo_box"),
- gtk_adjustment_get_value (app->subsample_adjustment),
- gtk_adjustment_get_value (app->subsample_adjustment));
+ if (get_value (app, filter_types, "filter_combo_box") ==
+ PIXMAN_FILTER_SEPARABLE_CONVOLUTION)
+ {
+ params = pixman_filter_create_separable_convolution (
+ &n_params,
+ sx * 65536.0 + 0.5,
+ sy * 65536.0 + 0.5,
+ get_value (app, filters, "reconstruct_x_combo_box"),
+ get_value (app, filters, "reconstruct_y_combo_box"),
+ get_value (app, filters, "sample_x_combo_box"),
+ get_value (app, filters, "sample_y_combo_box"),
+ gtk_adjustment_get_value (app->subsample_adjustment),
+ gtk_adjustment_get_value (app->subsample_adjustment));
+ }
+ else
+ {
+ params = 0;
+ n_params = 0;
+ }
pixman_image_set_filter (app->original,
get_value (app, filter_types, "filter_combo_box"),