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...@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
>
>

_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to