[Pixman] [PATCH pixman 02/15] demos/scale: Added pulldown to choose PIXMAN_FILTER_* value

2015-04-29 Thread Bill Spitzak
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

2014-12-23 Thread Bill Spitzak
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
+