Just window can have background?

I don't know why is a violation, because in my case my 
applicationdoesn't make sense without background image..


On 14-03-2017 14:01, Emmanuele Bassi wrote:
> You were not changing the background with your theme: you were
> programmatically replacing the base pixmap of the GdkWindow used by
> GtkLayout. It was essentially a layering violation, and would actually
> break your theme.
>
> The API reference for each GTK widget should tell you the CSS styling
> available; see the "CSS nodes" section, for instance, of GtkBox:
> https://developer.gnome.org/gtk3/stable/GtkBox.html
>
> Ciao,
>   Emmanuele.
>
>
> On 14 March 2017 at 13:55, Rúben Rodrigues <ruben...@live.com.pt> wrote:
>> 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