[gtk+/wip/matthiasc/fancy-overlay: 2/2] Add a test for effects



commit 21c88fde482654f80af555cba37b84d0e7f854f8
Author: Matthias Clasen <mclasen redhat com>
Date:   Sat Sep 2 20:43:42 2017 -0400

    Add a test for effects

 tests/testoverlay.c |   39 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 39 insertions(+), 0 deletions(-)
---
diff --git a/tests/testoverlay.c b/tests/testoverlay.c
index 9c3b001..199380b 100644
--- a/tests/testoverlay.c
+++ b/tests/testoverlay.c
@@ -534,6 +534,41 @@ test_child_order (void)
 }
 
 
+static GtkWidget *
+test_effect (void)
+{
+  GtkWidget *win;
+  GtkWidget *overlay;
+  GtkWidget *button;
+  GtkWidget *image;
+  GtkWidget *label;
+
+  win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+  gtk_window_set_resizable (GTK_WINDOW (win), FALSE);
+  gtk_window_set_title (GTK_WINDOW (win), "Fancy Effect");
+
+  overlay = gtk_overlay_new ();
+  gtk_container_add (GTK_CONTAINER (win), overlay);
+
+  button = gtk_button_new_with_label ("Don't click this button!");
+  label = gtk_bin_get_child (GTK_BIN (button));
+  g_object_set (label, "margin", 20, NULL);
+
+  gtk_widget_set_opacity (button, 0.7);
+  gtk_widget_set_halign (button, GTK_ALIGN_FILL);
+  gtk_widget_set_valign (button, GTK_ALIGN_CENTER);
+
+  gtk_overlay_add_overlay (GTK_OVERLAY (overlay), button);
+  gtk_container_child_set (GTK_CONTAINER (overlay), button, "effect", TRUE, NULL);
+
+  image = gtk_image_new ();
+  gtk_image_set_from_file (GTK_IMAGE (image), "/home/mclasen/Pictures/tiny-ele.png");
+  gtk_widget_set_halign (image, GTK_ALIGN_FILL);
+  gtk_widget_set_valign (image, GTK_ALIGN_FILL);
+  gtk_container_add (GTK_CONTAINER (overlay), image);
+
+  return win;
+}
 int
 main (int argc, char *argv[])
 {
@@ -546,6 +581,7 @@ main (int argc, char *argv[])
   GtkWidget *win7;
   GtkWidget *win8;
   GtkWidget *win9;
+  GtkWidget *win10;
   GtkCssProvider *css_provider;
 
   gtk_init ();
@@ -586,6 +622,9 @@ main (int argc, char *argv[])
   win9 = test_child_order ();
   gtk_widget_show (win9);
 
+  win10 = test_effect ();
+  gtk_widget_show (win10);
+
   gtk_main ();
 
   return 0;


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