gtk.css - Como adicionar efeito de fundo desfocado?

5

Como adicionar efeito de vidro embaçado aos temas? (CSS3 suporta gaussian blur com blur(1px); em muitos navegadores)

Quando deixo cair a opacidade, estou obtendo um resultado assim:

Mas eu quero um efeito de borrão como este:

Além disso, para entender o efeito de desfoque:

Obrigado!

    
por eminfedar 25.01.2017 / 11:40

1 resposta

0

Também estava me perguntando isso recentemente e, pelo que entendi, não acredito que o gtkcss suporte filtros no momento.

O método que eu usei foi adicionar um efeito de sombreamento a um ator desordenado (mutter) através de um shader glsl.

Eu consegui que funcionasse com um bom efeito de blur, o exemplo que eu estava trabalhando foi uma extensão do GNOME chamada blyr

Meu arquivo e código glsl para meu projeto podem ser encontrados aqui , como referência.

E você pode chamar o glsl no código e aplicá-lo ao ator com algo como

    var shaderEffectVer = new Clutter.ShaderEffect(Clutter.ShaderType.FRAGMENT_SHADER);
    var wallpaper_actor = new GtkClutter.Actor ();

    shaderEffectVer.set_shader_source("shader.glsl"));
    shaderEffectVer.set_uniform_value("dir", 1.0);
    shaderEffectVer.set_uniform_value("width", g_width);
    shaderEffectVer.set_uniform_value("height", g_height);
    shaderEffectVer.set_uniform_value("radius", 10.0);
    shaderEffectVer.set_uniform_value("brightness", 0.98);
    wallpaper_actor.add_effect_with_name("blur",shaderEffectVer);

Espero que ajude você

    
por nick_wilkins 16.10.2017 / 20:07