diff options
author | Bill Spitzak <spitzak@gmail.com> | 2016-02-08 00:06:51 -0800 |
---|---|---|
committer | Oded Gabbay <oded.gabbay@gmail.com> | 2016-02-08 10:22:08 +0200 |
commit | 553a3831b230e966270cb2e08129aa7cc8a07b75 (patch) | |
tree | 57721b99abef37be20a00f99b4083b751a1f018a | |
parent | 29be2a457be7cfa58760fcb549d7e48e6525a893 (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.c | 29 |
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"), |