theme-node-transition: Receive a CoglFramebuffer

This is in preparation for a future where only explicit frambuffer
APIs are available, i.e., cogl_get_draw_framebuffer() does not
exist.

There is absolutely no functional changes in this patch (nor the
following ones in this series), only rearrangements so that various
functions receive a CoglFramebuffer instead of using the draw
framebuffer.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/283
This commit is contained in:
Georges Basile Stavracas Neto 2018-10-05 22:28:10 -03:00
parent 412003efbf
commit a2f27a9409
No known key found for this signature in database
GPG Key ID: 886C17EE170D1385
3 changed files with 8 additions and 3 deletions

View File

@ -337,11 +337,11 @@ setup_framebuffers (StThemeNodeTransition *transition,
void
st_theme_node_transition_paint (StThemeNodeTransition *transition,
CoglFramebuffer *framebuffer,
ClutterActorBox *allocation,
guint8 paint_opacity)
{
StThemeNodeTransitionPrivate *priv = transition->priv;
CoglFramebuffer *fb = cogl_get_draw_framebuffer ();
CoglColor constant;
float tex_coords[] = {
@ -374,7 +374,8 @@ st_theme_node_transition_paint (StThemeNodeTransition *transition,
paint_opacity, paint_opacity,
paint_opacity, paint_opacity);
cogl_framebuffer_draw_multitextured_rectangle (fb, priv->material,
cogl_framebuffer_draw_multitextured_rectangle (framebuffer,
priv->material,
priv->offscreen_box.x1,
priv->offscreen_box.y1,
priv->offscreen_box.x2,

View File

@ -41,6 +41,7 @@ void st_theme_node_transition_update (StThemeNodeTransition *transition,
StThemeNode *new_node);
void st_theme_node_transition_paint (StThemeNodeTransition *transition,
CoglFramebuffer *framebuffer,
ClutterActorBox *allocation,
guint8 paint_opacity);

View File

@ -414,10 +414,12 @@ void
st_widget_paint_background (StWidget *widget)
{
StWidgetPrivate *priv = st_widget_get_instance_private (widget);
CoglFramebuffer *framebuffer;
StThemeNode *theme_node;
ClutterActorBox allocation;
guint8 opacity;
framebuffer = cogl_get_draw_framebuffer ();
theme_node = st_widget_get_theme_node (widget);
clutter_actor_get_allocation_box (CLUTTER_ACTOR (widget), &allocation);
@ -426,12 +428,13 @@ st_widget_paint_background (StWidget *widget)
if (priv->transition_animation)
st_theme_node_transition_paint (priv->transition_animation,
framebuffer,
&allocation,
opacity);
else
st_theme_node_paint (theme_node,
current_paint_state (widget),
cogl_get_draw_framebuffer (),
framebuffer,
&allocation,
opacity);
}