[cheese/wip/hadess/remove-clutter: 5/5] XXX Add non-working effects test




commit eadc054108adfb0d7208d01edb1a54ebf65adb16
Author: Bastien Nocera <hadess hadess net>
Date:   Mon Feb 7 11:48:04 2022 +0100

    XXX Add non-working effects test

 tests/cheese-test-camera-effects.c | 66 ++++++++++++++++++++++++++++++++++++++
 tests/meson.build                  |  1 +
 2 files changed, 67 insertions(+)
---
diff --git a/tests/cheese-test-camera-effects.c b/tests/cheese-test-camera-effects.c
new file mode 100644
index 00000000..ce34a7bb
--- /dev/null
+++ b/tests/cheese-test-camera-effects.c
@@ -0,0 +1,66 @@
+#include "config.h"
+
+#include <stdlib.h>
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
+#include <gst/gst.h>
+#include "cheese.h"
+#include "cheese-camera.h"
+#include "cheese-effect.h"
+
+static gboolean
+delete_callback (GtkWidget *window,
+                 GdkEvent  *event,
+                 gpointer   data)
+{
+  gtk_widget_destroy (window);
+  gtk_main_quit ();
+  return FALSE;
+}
+
+int
+main (int argc, char **argv)
+{
+  GtkWidget *window;
+  CheeseCamera *camera;
+  GtkWidget *box, *video_box;
+  GtkWidget *widget;
+  CheeseEffect *effect;
+  g_autoptr(GError) error = NULL;
+
+  bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALEDIR);
+  bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+  textdomain (GETTEXT_PACKAGE);
+
+  if (!cheese_init (&argc, &argv))
+    return EXIT_FAILURE;
+  gtk_init (&argc, &argv);
+
+  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+  gtk_window_set_default_size (GTK_WINDOW (window), 400, 300);
+  g_signal_connect (G_OBJECT (window), "delete-event",
+                    G_CALLBACK (delete_callback), NULL);
+
+  box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
+  gtk_container_add (GTK_CONTAINER (window), box);
+
+  camera = cheese_camera_new ("/dev/video0", 640, 480);
+  if (!cheese_camera_setup (camera, NULL, &error)) {
+    g_warning ("Could not setup camera: %s", error->message);
+    return EXIT_FAILURE;
+  }
+  g_object_get (G_OBJECT (camera), "widget", &widget, NULL);
+  gtk_box_pack_start (GTK_BOX (box), widget, TRUE, TRUE, 12);
+#if 0
+  video_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+  gtk_box_pack_start (GTK_BOX (box), video_box, TRUE, TRUE, 12);
+  effect = cheese_effect_new ("Kaleidoscope Test", "kaleidoscope");
+  cheese_camera_connect_effect_texture (camera, effect, GTK_CONTAINER (video_box));
+#endif
+  cheese_camera_play (camera);
+  gtk_widget_show_all (window);
+
+  gtk_main ();
+
+  return EXIT_SUCCESS;
+}
diff --git a/tests/meson.build b/tests/meson.build
index 024da8d3..5def85c2 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -4,6 +4,7 @@ cheese_tests = [
   'cheese-test-flash',
   'cheese-test-monitor',
   'cheese-test-widget',
+  'cheese-test-camera-effects',
 ]
 
 foreach cheese_test: cheese_tests


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]