mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-27 22:20:24 +00:00
e9885f9cde
This adds a bunch of snazz to the gltransitions demo. It is perhaps a bit overloaded now, but it demos everything that we can do. Changes: * The fire shader is now not a bin, it just renders an animating background with no textures involved. * The stacks don't all start on the same page. * The shaderbin passes the mouse coordinate to the shader. * The shaderbin allows specifying a "border" so that you can cause effects outside the bin child (something that is new to gtk4). * All the buttons and the stacks are now in shader-bins that runs a wobbly-widget effect based on the mouse position that wobbles outside the child allocation.
24 lines
826 B
C
24 lines
826 B
C
#ifndef __GTK_SHADER_BIN_H__
|
|
#define __GTK_SHADER_BIN_H__
|
|
|
|
#include <gtk/gtk.h>
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
#define GTK_TYPE_SHADER_BIN (gtk_shader_bin_get_type ())
|
|
G_DECLARE_FINAL_TYPE (GtkShaderBin, gtk_shader_bin, GTK, SHADER_BIN, GtkWidget)
|
|
|
|
GtkWidget *gtk_shader_bin_new (void);
|
|
void gtk_shader_bin_add_shader (GtkShaderBin *self,
|
|
GskGLShader *shader,
|
|
GtkStateFlags state,
|
|
GtkStateFlags state_mask,
|
|
float extra_border);
|
|
void gtk_shader_bin_set_child (GtkShaderBin *self,
|
|
GtkWidget *child);
|
|
GtkWidget *gtk_shader_bin_get_child (GtkShaderBin *self);
|
|
|
|
G_END_DECLS
|
|
|
|
#endif /* __GTK_SHADER_BIN_H__ */
|