[gtk+] Add tests/testglblending



commit 5d7e268aac476c76b924e6290469dc1ba6ee718b
Author: Alexander Larsson <alexl redhat com>
Date:   Thu Oct 9 11:16:51 2014 +0200

    Add tests/testglblending
    
    This test stacks GL and cairo rendering in various
    orders to test the layer handling.

 tests/Makefile.am      |    6 +++
 tests/testglblending.c |   94 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 100 insertions(+), 0 deletions(-)
---
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 7384a22..b6a6099 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -70,6 +70,7 @@ noinst_PROGRAMS =  $(TEST_PROGS)      \
        testgeometry                    \
        testgiconpixbuf                 \
        testglarea                      \
+       testglblending                  \
        testgrid                        \
        testgtk                         \
        testheaderbar                   \
@@ -507,6 +508,11 @@ gdkgears_SOURCES = \
        gtkgears.c      \
        gtkgears.h
 
+testglblending_SOURCES =       \
+       testglblending.c        \
+       gtkgears.c      \
+       gtkgears.h
+
 EXTRA_DIST +=                  \
        gradient1.png           \
        testgtk.1               \
diff --git a/tests/testglblending.c b/tests/testglblending.c
new file mode 100644
index 0000000..ef81c8c
--- /dev/null
+++ b/tests/testglblending.c
@@ -0,0 +1,94 @@
+#include <stdlib.h>
+#include <gtk/gtk.h>
+
+#include "gtkgears.h"
+
+int
+main (int argc, char *argv[])
+{
+  GtkWidget *window, *fixed, *gears, *spinner;
+
+  gtk_init (&argc, &argv);
+
+  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+  gtk_window_set_title (GTK_WINDOW (window), "Test GL/gtk inter-blending");
+  gtk_window_set_default_size (GTK_WINDOW (window), 250, 250);
+  gtk_container_set_border_width (GTK_CONTAINER (window), 12);
+  g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
+
+  fixed = gtk_fixed_new ();
+  gtk_container_add (GTK_CONTAINER (window), fixed);
+
+  spinner = gtk_spinner_new ();
+  gtk_spinner_start (GTK_SPINNER (spinner));
+  gtk_widget_set_size_request (spinner, 50, 50);
+  gtk_fixed_put (GTK_FIXED (fixed), spinner, 90, 80);
+
+  spinner = gtk_spinner_new ();
+  gtk_spinner_start (GTK_SPINNER (spinner));
+  gtk_widget_set_size_request (spinner, 50, 50);
+  gtk_fixed_put (GTK_FIXED (fixed), spinner, 100, 80);
+
+  spinner = gtk_spinner_new ();
+  gtk_spinner_start (GTK_SPINNER (spinner));
+  gtk_widget_set_size_request (spinner, 50, 50);
+  gtk_fixed_put (GTK_FIXED (fixed), spinner, 110, 80);
+
+
+  gears = gtk_gears_new ();
+  gtk_widget_set_size_request (gears, 70, 50);
+  gtk_fixed_put (GTK_FIXED (fixed), gears, 60, 100);
+
+  gears = gtk_gears_new ();
+  gtk_gl_area_set_has_alpha (GTK_GL_AREA (gears), TRUE);
+  gtk_widget_set_size_request (gears, 70, 50);
+  gtk_fixed_put (GTK_FIXED (fixed), gears, 120, 100);
+
+
+  spinner = gtk_spinner_new ();
+  gtk_spinner_start (GTK_SPINNER (spinner));
+  gtk_widget_set_size_request (spinner, 50, 50);
+  gtk_fixed_put (GTK_FIXED (fixed), spinner, 90, 110);
+
+  spinner = gtk_spinner_new ();
+  gtk_spinner_start (GTK_SPINNER (spinner));
+  gtk_widget_set_size_request (spinner, 50, 50);
+  gtk_fixed_put (GTK_FIXED (fixed), spinner, 100, 110);
+
+  spinner = gtk_spinner_new ();
+  gtk_spinner_start (GTK_SPINNER (spinner));
+  gtk_widget_set_size_request (spinner, 50, 50);
+  gtk_fixed_put (GTK_FIXED (fixed), spinner, 110, 110);
+
+
+  gears = gtk_gears_new ();
+  gtk_widget_set_size_request (gears, 70, 50);
+  gtk_fixed_put (GTK_FIXED (fixed), gears, 60, 130);
+
+  gears = gtk_gears_new ();
+  gtk_gl_area_set_has_alpha (GTK_GL_AREA (gears), TRUE);
+  gtk_widget_set_size_request (gears, 70, 50);
+  gtk_fixed_put (GTK_FIXED (fixed), gears, 120, 130);
+
+
+  spinner = gtk_spinner_new ();
+  gtk_spinner_start (GTK_SPINNER (spinner));
+  gtk_widget_set_size_request (spinner, 50, 50);
+  gtk_fixed_put (GTK_FIXED (fixed), spinner, 90, 150);
+
+  spinner = gtk_spinner_new ();
+  gtk_spinner_start (GTK_SPINNER (spinner));
+  gtk_widget_set_size_request (spinner, 50, 50);
+  gtk_fixed_put (GTK_FIXED (fixed), spinner, 100, 150);
+
+  spinner = gtk_spinner_new ();
+  gtk_spinner_start (GTK_SPINNER (spinner));
+  gtk_widget_set_size_request (spinner, 50, 50);
+  gtk_fixed_put (GTK_FIXED (fixed), spinner, 110, 150);
+
+  gtk_widget_show_all (window);
+
+  gtk_main ();
+
+  return EXIT_SUCCESS;
+}


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