Add tests/testglblending
This test stacks GL and cairo rendering in various orders to test the layer handling.
This commit is contained in:
		
				
					committed by
					
						
						Matthias Clasen
					
				
			
			
				
	
			
			
			
						parent
						
							8f3e9d1b05
						
					
				
				
					commit
					5d7e268aac
				
			@ -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 		\
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										94
									
								
								tests/testglblending.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										94
									
								
								tests/testglblending.c
									
									
									
									
									
										Normal file
									
								
							@ -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;
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user