mirror of
https://github.com/brl/mutter.git
synced 2024-11-25 17:40:40 -05:00
shadow-factory: Receive CoglFramebuffer
Following up last commit, this commit adds a CoglFramebuffer argument to meta_shadow_paint(), and stops using the draw framebuffer internally. The only consumer of this API, MetaWindowActor, still passes the draw framebuffer though.
This commit is contained in:
parent
aecf588d8d
commit
605f35dd25
@ -203,16 +203,16 @@ meta_shadow_unref (MetaShadow *shadow)
|
|||||||
* size needs to be passed in here.)
|
* size needs to be passed in here.)
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
meta_shadow_paint (MetaShadow *shadow,
|
meta_shadow_paint (MetaShadow *shadow,
|
||||||
int window_x,
|
CoglFramebuffer *framebuffer,
|
||||||
int window_y,
|
int window_x,
|
||||||
int window_width,
|
int window_y,
|
||||||
int window_height,
|
int window_width,
|
||||||
guint8 opacity,
|
int window_height,
|
||||||
cairo_region_t *clip,
|
guint8 opacity,
|
||||||
gboolean clip_strictly)
|
cairo_region_t *clip,
|
||||||
|
gboolean clip_strictly)
|
||||||
{
|
{
|
||||||
CoglFramebuffer *framebuffer = cogl_get_draw_framebuffer ();
|
|
||||||
float texture_width = cogl_texture_get_width (shadow->texture);
|
float texture_width = cogl_texture_get_width (shadow->texture);
|
||||||
float texture_height = cogl_texture_get_height (shadow->texture);
|
float texture_height = cogl_texture_get_height (shadow->texture);
|
||||||
int i, j;
|
int i, j;
|
||||||
|
@ -713,6 +713,7 @@ meta_window_actor_paint (ClutterActor *actor)
|
|||||||
MetaWindowActorPrivate *priv = self->priv;
|
MetaWindowActorPrivate *priv = self->priv;
|
||||||
gboolean appears_focused = meta_window_appears_focused (priv->window);
|
gboolean appears_focused = meta_window_appears_focused (priv->window);
|
||||||
MetaShadow *shadow = appears_focused ? priv->focused_shadow : priv->unfocused_shadow;
|
MetaShadow *shadow = appears_focused ? priv->focused_shadow : priv->unfocused_shadow;
|
||||||
|
CoglFramebuffer *framebuffer = cogl_get_draw_framebuffer ();
|
||||||
|
|
||||||
/* This window got damage when obscured; we set up a timer
|
/* This window got damage when obscured; we set up a timer
|
||||||
* to send frame completion events, but since we're drawing
|
* to send frame completion events, but since we're drawing
|
||||||
@ -751,6 +752,7 @@ meta_window_actor_paint (ClutterActor *actor)
|
|||||||
}
|
}
|
||||||
|
|
||||||
meta_shadow_paint (shadow,
|
meta_shadow_paint (shadow,
|
||||||
|
framebuffer,
|
||||||
params.x_offset + shape_bounds.x,
|
params.x_offset + shape_bounds.x,
|
||||||
params.y_offset + shape_bounds.y,
|
params.y_offset + shape_bounds.y,
|
||||||
shape_bounds.width,
|
shape_bounds.width,
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
#include <cairo.h>
|
#include <cairo.h>
|
||||||
|
|
||||||
#include "clutter/clutter.h"
|
#include "clutter/clutter.h"
|
||||||
|
#include "cogl/cogl.h"
|
||||||
#include "meta/meta-window-shape.h"
|
#include "meta/meta-window-shape.h"
|
||||||
|
|
||||||
GType meta_shadow_get_type (void) G_GNUC_CONST;
|
GType meta_shadow_get_type (void) G_GNUC_CONST;
|
||||||
@ -97,6 +98,7 @@ typedef struct _MetaShadow MetaShadow;
|
|||||||
MetaShadow *meta_shadow_ref (MetaShadow *shadow);
|
MetaShadow *meta_shadow_ref (MetaShadow *shadow);
|
||||||
void meta_shadow_unref (MetaShadow *shadow);
|
void meta_shadow_unref (MetaShadow *shadow);
|
||||||
void meta_shadow_paint (MetaShadow *shadow,
|
void meta_shadow_paint (MetaShadow *shadow,
|
||||||
|
CoglFramebuffer *framebuffer,
|
||||||
int window_x,
|
int window_x,
|
||||||
int window_y,
|
int window_y,
|
||||||
int window_width,
|
int window_width,
|
||||||
|
Loading…
Reference in New Issue
Block a user