st-shadow: Add a CoglFramebuffer argument
The last patch in the series, this one adapts StShadowHelper to received a CoglFramebuffer. This is where we first touch JavaScript with Cogl types, and as such, it depends on the latest Mutter. Earlier versions of Mutter didn't have its Mutter-Clutter GIR to generate types for various Cogl types. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/283
This commit is contained in:
parent
09addfc87c
commit
23d6d13d80
@ -2,6 +2,7 @@
|
||||
|
||||
const AccountsService = imports.gi.AccountsService;
|
||||
const Cairo = imports.cairo;
|
||||
const Cogl = imports.gi.Cogl;
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Gio = imports.gi.Gio;
|
||||
const GLib = imports.gi.GLib;
|
||||
@ -405,7 +406,9 @@ class ScreenShieldArrow extends St.Bin {
|
||||
|
||||
let allocation = this._drawingArea.get_allocation_box();
|
||||
let paintOpacity = this._drawingArea.get_paint_opacity();
|
||||
this._shadowHelper.paint(allocation, paintOpacity);
|
||||
let framebuffer = Cogl.get_draw_framebuffer();
|
||||
|
||||
this._shadowHelper.paint(framebuffer, allocation, paintOpacity);
|
||||
}
|
||||
|
||||
this._drawingArea.paint();
|
||||
|
@ -276,6 +276,7 @@ st_shadow_helper_free (StShadowHelper *helper)
|
||||
/**
|
||||
* st_shadow_helper_paint:
|
||||
* @helper: a #StShadowHelper
|
||||
* @framebuffer: a #CoglFramebuffer
|
||||
* @actor_box: the bounding box of the shadow
|
||||
* @paint_opacity: the opacity at which the shadow is painted
|
||||
*
|
||||
@ -284,11 +285,12 @@ st_shadow_helper_free (StShadowHelper *helper)
|
||||
*/
|
||||
void
|
||||
st_shadow_helper_paint (StShadowHelper *helper,
|
||||
CoglFramebuffer *framebuffer,
|
||||
ClutterActorBox *actor_box,
|
||||
guint8 paint_opacity)
|
||||
{
|
||||
_st_paint_shadow_with_opacity (helper->shadow,
|
||||
cogl_get_draw_framebuffer (),
|
||||
framebuffer,
|
||||
helper->pipeline,
|
||||
actor_box,
|
||||
paint_opacity);
|
||||
|
@ -84,6 +84,7 @@ void st_shadow_helper_update (StShadowHelper *helper,
|
||||
ClutterActor *source);
|
||||
|
||||
void st_shadow_helper_paint (StShadowHelper *helper,
|
||||
CoglFramebuffer *framebuffer,
|
||||
ClutterActorBox *actor_box,
|
||||
guint8 paint_opacity);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user