summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2022-02-07 11:48:04 +0100
committerJavier Jardón <jjardon@gnome.org>2022-12-29 14:04:56 +0000
commit628b187432275b1e75e28fbbb23c5907af1003a4 (patch)
treeaea910b7dbeee10fe4e0f3c9050f91b07a9d8c11
parenta9efccd88e996a873978789d2268d098125d9ad0 (diff)
downloadcheese-wip/hadess/remove-clutter.tar.gz
XXX Add non-working effects testwip/hadess/remove-clutter
-rw-r--r--tests/cheese-test-camera-effects.c66
-rw-r--r--tests/meson.build1
2 files changed, 67 insertions, 0 deletions
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 4e962ad0..ed946f8b 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