diff options
author | Timm Bäder <mail@baedert.org> | 2017-12-21 17:57:16 +0100 |
---|---|---|
committer | Timm Bäder <mail@baedert.org> | 2017-12-21 19:12:33 +0100 |
commit | 8b880de4a22de7e66d9afa80082cf0d79d24c591 (patch) | |
tree | 2725072fb21d6fe357ad404520bc928184fb8026 /tests | |
parent | d211f42091072959725a4025e592fcc0ffe16d56 (diff) | |
download | gtk+-8b880de4a22de7e66d9afa80082cf0d79d24c591.tar.gz |
tests: Add outset shadow drawing test
Diffstat (limited to 'tests')
-rw-r--r-- | tests/meson.build | 1 | ||||
-rw-r--r-- | tests/testoutsetshadowdrawing.c | 157 |
2 files changed, 158 insertions, 0 deletions
diff --git a/tests/meson.build b/tests/meson.build index decfb67be9..911e195511 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -128,6 +128,7 @@ gtk_tests = [ ['testgridbaseline'], ['showrendernode'], ['testborderdrawing'], + ['testoutsetshadowdrawing'], ] if os_linux diff --git a/tests/testoutsetshadowdrawing.c b/tests/testoutsetshadowdrawing.c new file mode 100644 index 0000000000..c158541edf --- /dev/null +++ b/tests/testoutsetshadowdrawing.c @@ -0,0 +1,157 @@ + +#include<gtk/gtk.h> + +#define BOX_SHADOW "box-shadow: 10px 20px 5px 40px #0f0;" + +#define COLOR " #0f0;" +/*#define COLOR " red;"*/ + +static const char *css = +".one {" +" all: unset;" +" min-width: 100px;" +" min-height:100px;" +" box-shadow: -10px -20px 5px 40px" COLOR +"}" +".two {" +" all: unset;" +" min-width: 100px;" +" min-height:100px;" +" box-shadow: -10px -20px 0px 40px" COLOR +"}" +".three {" +" all: unset;" +" min-width: 100px;" +" min-height:100px;" +" border-radius: 0px;" +" box-shadow: 0px 0px 10px 20px" COLOR +"}" +".four {" +" all: unset;" +" min-width: 100px;" +" min-height:100px;" +" box-shadow: 10px 20px 5px 40px" COLOR +" border-radius: 30px; " +"margin-right: 50px;" +"}" +".five {" +" all: unset;" +" min-width: 100px;" +" min-height:100px;" +" border-radius: 30px; " +" box-shadow: 10px 20px 0px 40px" COLOR +"}" +#if 0 +".b1 {" +" all: unset;" +" min-width: 100px;" +" min-height:100px;" +" border-top: 30px solid black;" +" border-radius: 0px;" +"}" +".b2 {" +" all: unset;" +" min-width: 100px;" +" min-height:100px;" +" border-bottom: 30px solid black;" +" border-radius: 0px;" +"}" +".b3 {" +" all: unset;" +" min-width: 100px;" +" min-height:100px;" +" border-right: 30px solid blue;" +" border-radius: 40px;" +"}" +".b4 {" +" all: unset;" +" min-width: 100px;" +" min-height:100px;" +" border-bottom: 30px solid blue;" +" border-radius: 40px;" +"}" +#endif +; + + +int +main (int argc, char **argv) +{ + GtkWidget *window; + GtkWidget *box; + GtkWidget *top; + GtkWidget *bottom; + GtkWidget *w; + GtkCssProvider *provider; + + gtk_init (); + + provider = gtk_css_provider_new (); + gtk_css_provider_load_from_data (provider, css, -1); + gtk_style_context_add_provider_for_display (gdk_display_get_default (), + GTK_STYLE_PROVIDER (provider), + GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); + + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 120); + top = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 120); + bottom = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 120); + g_object_set (box, "margin", 120, NULL); + + w = gtk_button_new (); + gtk_widget_set_valign (w, GTK_ALIGN_CENTER); + gtk_style_context_add_class (gtk_widget_get_style_context (w), "one"); + gtk_container_add (GTK_CONTAINER (top), w); + + w = gtk_button_new (); + gtk_widget_set_valign (w, GTK_ALIGN_CENTER); + gtk_style_context_add_class (gtk_widget_get_style_context (w), "two"); + gtk_container_add (GTK_CONTAINER (top), w); + + w = gtk_button_new (); + gtk_widget_set_valign (w, GTK_ALIGN_CENTER); + gtk_style_context_add_class (gtk_widget_get_style_context (w), "three"); + gtk_container_add (GTK_CONTAINER (top), w); + + w = gtk_button_new (); + gtk_widget_set_valign (w, GTK_ALIGN_CENTER); + gtk_style_context_add_class (gtk_widget_get_style_context (w), "four"); + gtk_container_add (GTK_CONTAINER (top), w); + + w = gtk_button_new (); + gtk_widget_set_valign (w, GTK_ALIGN_CENTER); + gtk_style_context_add_class (gtk_widget_get_style_context (w), "five"); + gtk_container_add (GTK_CONTAINER (top), w); + + + /* Bottom */ + /*w = gtk_button_new ();*/ + /*gtk_widget_set_valign (w, GTK_ALIGN_CENTER);*/ + /*gtk_style_context_add_class (gtk_widget_get_style_context (w), "b1");*/ + /*gtk_container_add (GTK_CONTAINER (bottom), w);*/ + + /*w = gtk_button_new ();*/ + /*gtk_widget_set_valign (w, GTK_ALIGN_CENTER);*/ + /*gtk_style_context_add_class (gtk_widget_get_style_context (w), "b2");*/ + /*gtk_container_add (GTK_CONTAINER (bottom), w);*/ + + /*w = gtk_button_new ();*/ + /*gtk_widget_set_valign (w, GTK_ALIGN_CENTER);*/ + /*gtk_style_context_add_class (gtk_widget_get_style_context (w), "b3");*/ + /*gtk_container_add (GTK_CONTAINER (bottom), w);*/ + + /*w = gtk_button_new ();*/ + /*gtk_widget_set_valign (w, GTK_ALIGN_CENTER);*/ + /*gtk_style_context_add_class (gtk_widget_get_style_context (w), "b4");*/ + /*gtk_container_add (GTK_CONTAINER (bottom), w);*/ + + gtk_container_add (GTK_CONTAINER (box), top); + gtk_container_add (GTK_CONTAINER (box), bottom); + gtk_container_add (GTK_CONTAINER (window), box); + g_signal_connect (window, "delete-event", gtk_main_quit, NULL); + gtk_widget_show (window); + + gtk_main (); + + gtk_widget_destroy (window); +} |