Re: gtk3 layout background image
- From: Rúben Rodrigues <ruben_gr live com pt>
- To: Emmanuele Bassi <ebassi gmail com>
- Cc: "gtk-app-devel-list gnome org" <gtk-app-devel-list gnome org>
- Subject: Re: gtk3 layout background image
- Date: Tue, 14 Mar 2017 13:55:36 +0000
Thanks!
But in GTK+2 we could change background in layout with this:
// Set picture as background.
// gdk_pixbuf_render_pixmap_and_mask (pixbuf, &background, NULL, 0);
// style = gtk_style_new ();
// style->bg_pixmap[0] = background;
// homeWindow = GTK_WIDGET(gtk_builder_get_object(builder,
"layout_Home"));
// gtk_widget_set_style (GTK_WIDGET(homeWindow), GTK_STYLE(style));
How i know witch containers draw background?
THanks
On 14-03-2017 12:55, Emmanuele Bassi wrote:
Not all GTK containers draw a background, mostly for historical
reasons. This has been true for GTK 1.x, 2.x, and 3.x.
In particular, GtkLayout does not draw any background with CSS, so you
will need to either subclass GtkLayout, override the GtkWidget::draw
virtual function, and call gtk_render_* functions yourself; or you
will need to put a GtkLayout into a parent container that does draw a
background. You will, of course, need to style the parent container's
background, not the GtkLayout itself.
Ciao,
Emmanuele.
On 14 March 2017 at 12:43, Rúben Rodrigues <ruben_gr live com pt> wrote:
I verify that i can't use css provider, don't works.
My css file is :
GtkLayout#layout_Home.background{
background-image: url('background.png');
}
GtkLabel#Home_Cooling_Tunnel1_Cooler_label1{
color: white;
}
GtkLabel#Home_Sensors_MoistAvg_value{
font-family: Segoe UI;
font-weight: lighter;
font-size: 25px;
}
And this code:
static void apply_css(GtkWidget *widget, GtkStyleProvider *provider)
{
gtk_style_context_add_provider(gtk_widget_get_style_context(widget),
GTK_STYLE_PROVIDER(provider),G_MAXUINT);
if(GTK_IS_CONTAINER(widget))
gtk_container_forall(GTK_CONTAINER(widget),(GtkCallback)
apply_css,provider);
}
GFile *file= g_file_new_for_path("custom.css");
GtkStyleProvider *css_provider =
GTK_STYLE_PROVIDER(gtk_css_provider_new());
gtk_css_provider_load_from_file(GTK_CSS_PROVIDER(css_provider), file,
&error);
apply_css(gtk_builder_get_object(builder,"window_Main"),css_provider);
This is the code used in gtk3-demo and don't works for me.. Why????
THanks
On 14-03-2017 10:00, Rúben Rodrigues wrote:
Hi guys,
Finnaly i migrate my application to gtk+3. So, now i neet to change some
things like image background. I used css provider like in this :
custom.css file:
GtkLayout:layout_Home{
background-color: black;
}
C Program:
GFile *file= g_file_new_for_path("custom.css");
GtkCssProvider *css_provider = gtk_css_provider_get_default();
gtk_css_provider_load_from_file(css_provider, file, &error);
GtkStyleContext *context = gtk_style_context_new();
gtk_style_context_add_provider(context,
GTK_STYLE_PROVIDER(css_provider),GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
But nothing happens. I tried this too:
http://stackoverflow.com/questions/7375624/gtk3-window-background-image
Someone can help me?
THanks
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list gnome org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list gnome org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]