shell: Properly rename type
This is just a find-and-replace name change to make the actual code changes in the follow-up commit more apparent. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/651
This commit is contained in:
parent
99a2fad311
commit
ae7ec648b2
@ -25,7 +25,7 @@ float pixel_brightness = mix(1.0, 1.0 - vignette_sharpness, t);\n\
|
|||||||
cogl_color_out.a = cogl_color_out.a * (1 - pixel_brightness * brightness);';
|
cogl_color_out.a = cogl_color_out.a * (1 - pixel_brightness * brightness);';
|
||||||
|
|
||||||
var RadialShaderQuad = GObject.registerClass(
|
var RadialShaderQuad = GObject.registerClass(
|
||||||
class RadialShaderQuad extends Shell.GLSLQuad {
|
class RadialShaderQuad extends Shell.GLSLEffect {
|
||||||
_init(params) {
|
_init(params) {
|
||||||
super._init(params);
|
super._init(params);
|
||||||
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* SECTION:shell-glsl-quad
|
* SECTION:shell-glsl-effect
|
||||||
* @short_description: Draw a rectangle using GLSL
|
* @short_description: Draw a rectangle using GLSL
|
||||||
*
|
*
|
||||||
* A #ShellGLSLQuad draws one single rectangle, sized to the allocation
|
* A #ShellGLSLEffect draws one single rectangle, sized to the allocation
|
||||||
* box, but allows running custom GLSL to the vertex and fragment
|
* box, but allows running custom GLSL to the vertex and fragment
|
||||||
* stages of the graphic pipeline.
|
* stages of the graphic pipeline.
|
||||||
*
|
*
|
||||||
@ -16,30 +16,30 @@
|
|||||||
#include <cogl/cogl.h>
|
#include <cogl/cogl.h>
|
||||||
#include "shell-glsl-effect.h"
|
#include "shell-glsl-effect.h"
|
||||||
|
|
||||||
typedef struct _ShellGLSLQuadPrivate ShellGLSLQuadPrivate;
|
typedef struct _ShellGLSLEffectPrivate ShellGLSLEffectPrivate;
|
||||||
struct _ShellGLSLQuadPrivate
|
struct _ShellGLSLEffectPrivate
|
||||||
{
|
{
|
||||||
CoglPipeline *pipeline;
|
CoglPipeline *pipeline;
|
||||||
};
|
};
|
||||||
|
|
||||||
G_DEFINE_TYPE_WITH_PRIVATE (ShellGLSLQuad, shell_glsl_quad, CLUTTER_TYPE_ACTOR);
|
G_DEFINE_TYPE_WITH_PRIVATE (ShellGLSLEffect, shell_glsl_effect, CLUTTER_TYPE_ACTOR);
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
shell_glsl_quad_get_paint_volume (ClutterActor *actor,
|
shell_glsl_effect_get_paint_volume (ClutterActor *actor,
|
||||||
ClutterPaintVolume *volume)
|
ClutterPaintVolume *volume)
|
||||||
{
|
{
|
||||||
return clutter_paint_volume_set_from_allocation (volume, actor);
|
return clutter_paint_volume_set_from_allocation (volume, actor);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
shell_glsl_quad_paint (ClutterActor *actor)
|
shell_glsl_effect_paint (ClutterActor *actor)
|
||||||
{
|
{
|
||||||
ShellGLSLQuad *self = SHELL_GLSL_QUAD (actor);
|
ShellGLSLEffect *self = SHELL_GLSL_EFFECT (actor);
|
||||||
ShellGLSLQuadPrivate *priv;
|
ShellGLSLEffectPrivate *priv;
|
||||||
guint8 paint_opacity;
|
guint8 paint_opacity;
|
||||||
ClutterActorBox box;
|
ClutterActorBox box;
|
||||||
|
|
||||||
priv = shell_glsl_quad_get_instance_private (self);
|
priv = shell_glsl_effect_get_instance_private (self);
|
||||||
|
|
||||||
paint_opacity = clutter_actor_get_paint_opacity (actor);
|
paint_opacity = clutter_actor_get_paint_opacity (actor);
|
||||||
clutter_actor_get_allocation_box (actor, &box);
|
clutter_actor_get_allocation_box (actor, &box);
|
||||||
@ -57,8 +57,8 @@ shell_glsl_quad_paint (ClutterActor *actor)
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* shell_glsl_quad_add_glsl_snippet:
|
* shell_glsl_effect_add_glsl_snippet:
|
||||||
* @quad: a #ShellGLSLQuad
|
* @effect: a #ShellGLSLEffect
|
||||||
* @hook: where to insert the code
|
* @hook: where to insert the code
|
||||||
* @declarations: GLSL declarations
|
* @declarations: GLSL declarations
|
||||||
* @code: GLSL code
|
* @code: GLSL code
|
||||||
@ -71,13 +71,13 @@ shell_glsl_quad_paint (ClutterActor *actor)
|
|||||||
* function.
|
* function.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
shell_glsl_quad_add_glsl_snippet (ShellGLSLQuad *quad,
|
shell_glsl_effect_add_glsl_snippet (ShellGLSLEffect *effect,
|
||||||
ShellSnippetHook hook,
|
ShellSnippetHook hook,
|
||||||
const char *declarations,
|
const char *declarations,
|
||||||
const char *code,
|
const char *code,
|
||||||
gboolean is_replace)
|
gboolean is_replace)
|
||||||
{
|
{
|
||||||
ShellGLSLQuadClass *klass = SHELL_GLSL_QUAD_GET_CLASS (quad);
|
ShellGLSLEffectClass *klass = SHELL_GLSL_EFFECT_GET_CLASS (effect);
|
||||||
CoglSnippet *snippet;
|
CoglSnippet *snippet;
|
||||||
|
|
||||||
g_return_if_fail (klass->base_pipeline != NULL);
|
g_return_if_fail (klass->base_pipeline != NULL);
|
||||||
@ -102,41 +102,41 @@ shell_glsl_quad_add_glsl_snippet (ShellGLSLQuad *quad,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
shell_glsl_quad_dispose (GObject *gobject)
|
shell_glsl_effect_dispose (GObject *gobject)
|
||||||
{
|
{
|
||||||
ShellGLSLQuad *self = SHELL_GLSL_QUAD (gobject);
|
ShellGLSLEffect *self = SHELL_GLSL_EFFECT (gobject);
|
||||||
ShellGLSLQuadPrivate *priv;
|
ShellGLSLEffectPrivate *priv;
|
||||||
|
|
||||||
priv = shell_glsl_quad_get_instance_private (self);
|
priv = shell_glsl_effect_get_instance_private (self);
|
||||||
|
|
||||||
g_clear_pointer (&priv->pipeline, cogl_object_unref);
|
g_clear_pointer (&priv->pipeline, cogl_object_unref);
|
||||||
|
|
||||||
G_OBJECT_CLASS (shell_glsl_quad_parent_class)->dispose (gobject);
|
G_OBJECT_CLASS (shell_glsl_effect_parent_class)->dispose (gobject);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
shell_glsl_quad_init (ShellGLSLQuad *quad)
|
shell_glsl_effect_init (ShellGLSLEffect *effect)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
shell_glsl_quad_constructed (GObject *object)
|
shell_glsl_effect_constructed (GObject *object)
|
||||||
{
|
{
|
||||||
ShellGLSLQuad *self;
|
ShellGLSLEffect *self;
|
||||||
ShellGLSLQuadClass *klass;
|
ShellGLSLEffectClass *klass;
|
||||||
ShellGLSLQuadPrivate *priv;
|
ShellGLSLEffectPrivate *priv;
|
||||||
CoglContext *ctx =
|
CoglContext *ctx =
|
||||||
clutter_backend_get_cogl_context (clutter_get_default_backend ());
|
clutter_backend_get_cogl_context (clutter_get_default_backend ());
|
||||||
|
|
||||||
G_OBJECT_CLASS (shell_glsl_quad_parent_class)->constructed (object);
|
G_OBJECT_CLASS (shell_glsl_effect_parent_class)->constructed (object);
|
||||||
|
|
||||||
/* Note that, differently from ClutterBlurEffect, we are calling
|
/* Note that, differently from ClutterBlurEffect, we are calling
|
||||||
this inside constructed, not init, so klass points to the most-derived
|
this inside constructed, not init, so klass points to the most-derived
|
||||||
GTypeClass, not ShellGLSLQuadClass.
|
GTypeClass, not ShellGLSLEffectClass.
|
||||||
*/
|
*/
|
||||||
klass = SHELL_GLSL_QUAD_GET_CLASS (object);
|
klass = SHELL_GLSL_EFFECT_GET_CLASS (object);
|
||||||
self = SHELL_GLSL_QUAD (object);
|
self = SHELL_GLSL_EFFECT (object);
|
||||||
priv = shell_glsl_quad_get_instance_private (self);
|
priv = shell_glsl_effect_get_instance_private (self);
|
||||||
|
|
||||||
if (G_UNLIKELY (klass->base_pipeline == NULL))
|
if (G_UNLIKELY (klass->base_pipeline == NULL))
|
||||||
{
|
{
|
||||||
@ -153,50 +153,50 @@ shell_glsl_quad_constructed (GObject *object)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
shell_glsl_quad_class_init (ShellGLSLQuadClass *klass)
|
shell_glsl_effect_class_init (ShellGLSLEffectClass *klass)
|
||||||
{
|
{
|
||||||
ClutterActorClass *actor_class = CLUTTER_ACTOR_CLASS (klass);
|
ClutterActorClass *actor_class = CLUTTER_ACTOR_CLASS (klass);
|
||||||
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
|
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
|
||||||
|
|
||||||
gobject_class->constructed = shell_glsl_quad_constructed;
|
gobject_class->constructed = shell_glsl_effect_constructed;
|
||||||
gobject_class->dispose = shell_glsl_quad_dispose;
|
gobject_class->dispose = shell_glsl_effect_dispose;
|
||||||
|
|
||||||
actor_class->get_paint_volume = shell_glsl_quad_get_paint_volume;
|
actor_class->get_paint_volume = shell_glsl_effect_get_paint_volume;
|
||||||
actor_class->paint = shell_glsl_quad_paint;
|
actor_class->paint = shell_glsl_effect_paint;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* shell_glsl_quad_get_uniform_location:
|
* shell_glsl_effect_get_uniform_location:
|
||||||
* @quad: a #ShellGLSLQuad
|
* @effect: a #ShellGLSLEffect
|
||||||
* @name: the uniform name
|
* @name: the uniform name
|
||||||
*
|
*
|
||||||
* Returns: the location of the uniform named @name, that can be
|
* Returns: the location of the uniform named @name, that can be
|
||||||
* passed to shell_glsl_quad_set_uniform_float().
|
* passed to shell_glsl_effect_set_uniform_float().
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
shell_glsl_quad_get_uniform_location (ShellGLSLQuad *quad,
|
shell_glsl_effect_get_uniform_location (ShellGLSLEffect *effect,
|
||||||
const char *name)
|
const char *name)
|
||||||
{
|
{
|
||||||
ShellGLSLQuadPrivate *priv = shell_glsl_quad_get_instance_private (quad);
|
ShellGLSLEffectPrivate *priv = shell_glsl_effect_get_instance_private (effect);
|
||||||
return cogl_pipeline_get_uniform_location (priv->pipeline, name);
|
return cogl_pipeline_get_uniform_location (priv->pipeline, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* shell_glsl_quad_set_uniform_float:
|
* shell_glsl_effect_set_uniform_float:
|
||||||
* @quad: a #ShellGLSLQuad
|
* @effect: a #ShellGLSLEffect
|
||||||
* @uniform: the uniform location (as returned by shell_glsl_quad_get_uniform_location())
|
* @uniform: the uniform location (as returned by shell_glsl_effect_get_uniform_location())
|
||||||
* @n_components: the number of components in the uniform (eg. 3 for a vec3)
|
* @n_components: the number of components in the uniform (eg. 3 for a vec3)
|
||||||
* @total_count: the total number of floats in @value
|
* @total_count: the total number of floats in @value
|
||||||
* @value: (array length=total_count): the array of floats to set @uniform
|
* @value: (array length=total_count): the array of floats to set @uniform
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
shell_glsl_quad_set_uniform_float (ShellGLSLQuad *quad,
|
shell_glsl_effect_set_uniform_float (ShellGLSLEffect *effect,
|
||||||
int uniform,
|
int uniform,
|
||||||
int n_components,
|
int n_components,
|
||||||
int total_count,
|
int total_count,
|
||||||
const float *value)
|
const float *value)
|
||||||
{
|
{
|
||||||
ShellGLSLQuadPrivate *priv = shell_glsl_quad_get_instance_private (quad);
|
ShellGLSLEffectPrivate *priv = shell_glsl_effect_get_instance_private (effect);
|
||||||
cogl_pipeline_set_uniform_float (priv->pipeline, uniform,
|
cogl_pipeline_set_uniform_float (priv->pipeline, uniform,
|
||||||
n_components, total_count / n_components,
|
n_components, total_count / n_components,
|
||||||
value);
|
value);
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||||
#ifndef __SHELL_GLSL_QUAD_H__
|
#ifndef __SHELL_GLSL_EFFECT_H__
|
||||||
#define __SHELL_GLSL_QUAD_H__
|
#define __SHELL_GLSL_EFFECT_H__
|
||||||
|
|
||||||
#include "st.h"
|
#include "st.h"
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
@ -26,31 +26,31 @@ typedef enum {
|
|||||||
SHELL_SNIPPET_HOOK_TEXTURE_LOOKUP
|
SHELL_SNIPPET_HOOK_TEXTURE_LOOKUP
|
||||||
} ShellSnippetHook;
|
} ShellSnippetHook;
|
||||||
|
|
||||||
#define SHELL_TYPE_GLSL_QUAD (shell_glsl_quad_get_type ())
|
#define SHELL_TYPE_GLSL_EFFECT (shell_glsl_effect_get_type ())
|
||||||
G_DECLARE_DERIVABLE_TYPE (ShellGLSLQuad, shell_glsl_quad,
|
G_DECLARE_DERIVABLE_TYPE (ShellGLSLEffect, shell_glsl_effect,
|
||||||
SHELL, GLSL_QUAD, ClutterActor)
|
SHELL, GLSL_EFFECT, ClutterActor)
|
||||||
|
|
||||||
struct _ShellGLSLQuadClass
|
struct _ShellGLSLEffectClass
|
||||||
{
|
{
|
||||||
ClutterActorClass parent_class;
|
ClutterActorClass parent_class;
|
||||||
|
|
||||||
CoglPipeline *base_pipeline;
|
CoglPipeline *base_pipeline;
|
||||||
|
|
||||||
void (*build_pipeline) (ShellGLSLQuad *effect);
|
void (*build_pipeline) (ShellGLSLEffect *effect);
|
||||||
};
|
};
|
||||||
|
|
||||||
void shell_glsl_quad_add_glsl_snippet (ShellGLSLQuad *quad,
|
void shell_glsl_effect_add_glsl_snippet (ShellGLSLEffect *effect,
|
||||||
ShellSnippetHook hook,
|
ShellSnippetHook hook,
|
||||||
const char *declarations,
|
const char *declarations,
|
||||||
const char *code,
|
const char *code,
|
||||||
gboolean is_replace);
|
gboolean is_replace);
|
||||||
|
|
||||||
int shell_glsl_quad_get_uniform_location (ShellGLSLQuad *quad,
|
int shell_glsl_effect_get_uniform_location (ShellGLSLEffect *effect,
|
||||||
const char *name);
|
const char *name);
|
||||||
void shell_glsl_quad_set_uniform_float (ShellGLSLQuad *quad,
|
void shell_glsl_effect_set_uniform_float (ShellGLSLEffect *effect,
|
||||||
int uniform,
|
int uniform,
|
||||||
int n_components,
|
int n_components,
|
||||||
int total_count,
|
int total_count,
|
||||||
const float *value);
|
const float *value);
|
||||||
|
|
||||||
#endif /* __SHELL_GLSL_QUAD_H__ */
|
#endif /* __SHELL_GLSL_EFFECT_H__ */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user