[gtk+/wip/baedert/gl: 111/111] widgetbowl: Add blurred box shadow demo
- From: Timm Bäder <baedert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/baedert/gl: 111/111] widgetbowl: Add blurred box shadow demo
- Date: Thu, 21 Dec 2017 17:38:29 +0000 (UTC)
commit b5ad0aa946ccc7b26f8fe05e9eb2cef6c5a6efaa
Author: Timm Bäder <mail baedert org>
Date: Thu Dec 21 18:33:41 2017 +0100
widgetbowl: Add blurred box shadow demo
demos/gtk-demo/widgetbowl.c | 42 +++++++++++++++++++++++++++++++++++-------
1 files changed, 35 insertions(+), 7 deletions(-)
---
diff --git a/demos/gtk-demo/widgetbowl.c b/demos/gtk-demo/widgetbowl.c
index 60cf47a..1ac2139 100644
--- a/demos/gtk-demo/widgetbowl.c
+++ b/demos/gtk-demo/widgetbowl.c
@@ -9,12 +9,27 @@
#include "gtkfishbowl.h"
+const char *const css =
+".blurred-button {"
+" box-shadow: 0px 0px 5px 10px rgba(0, 0, 0, 0.5);"
+"}"
+"";
+
GtkWidget *fishbowl;
static GtkWidget *
create_button (void)
{
- return gtk_button_new_with_label ("Button");;
+ return gtk_button_new_with_label ("Button");
+}
+static GtkWidget *
+create_blurred_button (void)
+{
+ GtkWidget *w = gtk_button_new ();
+
+ gtk_style_context_add_class (gtk_widget_get_style_context (w), "blurred-button");
+
+ return w;
}
static GtkWidget *
@@ -69,12 +84,13 @@ static const struct {
const char *name;
GtkWidget * (*create_func) (void);
} widget_types[] = {
- { "Button", create_button },
- { "Fontbutton", create_font_button },
- { "Levelbar" , create_level_bar },
- { "Label" , create_label },
- { "Spinner" , create_spinner },
- { "Spinbutton", create_spinbutton },
+ { "Button", create_button },
+ { "Blurbutton", create_blurred_button },
+ { "Fontbutton", create_font_button },
+ { "Levelbar" , create_level_bar },
+ { "Label" , create_label },
+ { "Spinner" , create_spinner },
+ { "Spinbutton", create_spinbutton },
};
static int selected_widget_type = -1;
@@ -295,6 +311,18 @@ GtkWidget *
do_widgetbowl (GtkWidget *do_widget)
{
static GtkWidget *window = NULL;
+ static GtkCssProvider *provider = NULL;
+
+ gtk_init ();
+
+ if (provider == NULL)
+ {
+ 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);
+ }
if (!window)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]