[Pixman] [PATCH pixman 02/15] demos/scale: Added pulldown to choose PIXMAN_FILTER_* value
This allows testing of GOOD/BEST and to do comparisons between the basic filters and PIXMAN_FILTER_SEPARABLE_CONVOLUTION settings. --- demos/scale.c | 14 +- demos/scale.ui | 40 ++-- 2 files changed, 43 insertions(+), 11 deletions(-) diff --git a/demos/scale.c b/demos/scale.c index 71c7791..203168f 100644 --- a/demos/scale.c +++ b/demos/scale.c @@ -68,6 +68,15 @@ typedef struct intvalue; } named_int_t; +static const named_int_t filter_types[] = +{ +{ Separable, PIXMAN_FILTER_SEPARABLE_CONVOLUTION }, +{ Nearest, PIXMAN_FILTER_NEAREST }, +{ Bilinear, PIXMAN_FILTER_BILINEAR }, +{ Good, PIXMAN_FILTER_GOOD }, +{ Best, PIXMAN_FILTER_BEST }, +}; + static const named_int_t filters[] = { { Box, PIXMAN_KERNEL_BOX }, @@ -201,7 +210,9 @@ rescale (GtkWidget *may_be_null, app_t *app) gtk_adjustment_get_value (app-subsample_adjustment), gtk_adjustment_get_value (app-subsample_adjustment)); -pixman_image_set_filter (app-original, PIXMAN_FILTER_SEPARABLE_CONVOLUTION, params, n_params); +pixman_image_set_filter (app-original, + get_value (app, filter_types, filter_combo_box), + params, n_params); pixman_image_set_repeat ( app-original, get_value (app, repeats, repeat_combo_box)); @@ -343,6 +354,7 @@ app_new (pixman_image_t *original) widget = get_widget (app, drawing_area); g_signal_connect (widget, expose_event, G_CALLBACK (on_expose), app); +set_up_combo_box (app, filter_combo_box, G_N_ELEMENTS (filter_types), filter_types); set_up_filter_box (app, reconstruct_x_combo_box); set_up_filter_box (app, reconstruct_y_combo_box); set_up_filter_box (app, sample_x_combo_box); diff --git a/demos/scale.ui b/demos/scale.ui index ee985dd..b62cbfb 100644 --- a/demos/scale.ui +++ b/demos/scale.ui @@ -191,12 +191,23 @@ property name=column_spacing8/property property name=row_spacing6/property child + object class=GtkLabel id=labelF +property name=visibleTrue/property +property name=xalign1/property +property name=label translatable=yeslt;bgt;Filter:lt;/bgt;/property +property name=use_markupTrue/property + /object +/child +child object class=GtkLabel id=label4 property name=visibleTrue/property property name=xalign1/property property name=label translatable=yeslt;bgt;Reconstruct X:lt;/bgt;/property property name=use_markupTrue/property /object + packing +property name=top_attach1/property + /packing /child child object class=GtkLabel id=label5 @@ -206,7 +217,7 @@ property name=use_markupTrue/property /object packing -property name=top_attach1/property +property name=top_attach2/property /packing /child child @@ -217,7 +228,7 @@ property name=use_markupTrue/property /object packing -property name=top_attach2/property +property name=top_attach3/property /packing /child child @@ -228,7 +239,7 @@ property name=use_markupTrue/property /object packing -property name=top_attach3/property +property name=top_attach4/property /packing /child child @@ -239,7 +250,7 @@ property name=use_markupTrue/property /object packing -property name=top_attach4/property +property name=top_attach5/property /packing /child child @@ -250,7 +261,15 @@ property name=use_markupTrue/property /object packing -property name=top_attach5/property +property name=top_attach6/property + /packing +/child +child + object class=GtkComboBox id=filter_combo_box +
[Pixman] [PATCH pixman 02/15] demos/scale: Added pulldown to choose PIXMAN_FILTER_* value
This allows testing of GOOD/BEST and to do comparisons between the basic filters and PIXMAN_FILTER_SEPARABLE_CONVOLUTION settings. --- demos/scale.c | 14 +- demos/scale.ui | 40 ++-- 2 files changed, 43 insertions(+), 11 deletions(-) diff --git a/demos/scale.c b/demos/scale.c index 71c7791..203168f 100644 --- a/demos/scale.c +++ b/demos/scale.c @@ -68,6 +68,15 @@ typedef struct intvalue; } named_int_t; +static const named_int_t filter_types[] = +{ +{ Separable, PIXMAN_FILTER_SEPARABLE_CONVOLUTION }, +{ Nearest, PIXMAN_FILTER_NEAREST }, +{ Bilinear, PIXMAN_FILTER_BILINEAR }, +{ Good, PIXMAN_FILTER_GOOD }, +{ Best, PIXMAN_FILTER_BEST }, +}; + static const named_int_t filters[] = { { Box, PIXMAN_KERNEL_BOX }, @@ -201,7 +210,9 @@ rescale (GtkWidget *may_be_null, app_t *app) gtk_adjustment_get_value (app-subsample_adjustment), gtk_adjustment_get_value (app-subsample_adjustment)); -pixman_image_set_filter (app-original, PIXMAN_FILTER_SEPARABLE_CONVOLUTION, params, n_params); +pixman_image_set_filter (app-original, + get_value (app, filter_types, filter_combo_box), + params, n_params); pixman_image_set_repeat ( app-original, get_value (app, repeats, repeat_combo_box)); @@ -343,6 +354,7 @@ app_new (pixman_image_t *original) widget = get_widget (app, drawing_area); g_signal_connect (widget, expose_event, G_CALLBACK (on_expose), app); +set_up_combo_box (app, filter_combo_box, G_N_ELEMENTS (filter_types), filter_types); set_up_filter_box (app, reconstruct_x_combo_box); set_up_filter_box (app, reconstruct_y_combo_box); set_up_filter_box (app, sample_x_combo_box); diff --git a/demos/scale.ui b/demos/scale.ui index ee985dd..b62cbfb 100644 --- a/demos/scale.ui +++ b/demos/scale.ui @@ -191,12 +191,23 @@ property name=column_spacing8/property property name=row_spacing6/property child + object class=GtkLabel id=labelF +property name=visibleTrue/property +property name=xalign1/property +property name=label translatable=yeslt;bgt;Filter:lt;/bgt;/property +property name=use_markupTrue/property + /object +/child +child object class=GtkLabel id=label4 property name=visibleTrue/property property name=xalign1/property property name=label translatable=yeslt;bgt;Reconstruct X:lt;/bgt;/property property name=use_markupTrue/property /object + packing +property name=top_attach1/property + /packing /child child object class=GtkLabel id=label5 @@ -206,7 +217,7 @@ property name=use_markupTrue/property /object packing -property name=top_attach1/property +property name=top_attach2/property /packing /child child @@ -217,7 +228,7 @@ property name=use_markupTrue/property /object packing -property name=top_attach2/property +property name=top_attach3/property /packing /child child @@ -228,7 +239,7 @@ property name=use_markupTrue/property /object packing -property name=top_attach3/property +property name=top_attach4/property /packing /child child @@ -239,7 +250,7 @@ property name=use_markupTrue/property /object packing -property name=top_attach4/property +property name=top_attach5/property /packing /child child @@ -250,7 +261,15 @@ property name=use_markupTrue/property /object packing -property name=top_attach5/property +property name=top_attach6/property + /packing +/child +child + object class=GtkComboBox id=filter_combo_box +