st: Fix a bunch of cogl deprecations
This commit is contained in:
parent
9acdb8012c
commit
882f5fa79e
@ -1376,7 +1376,8 @@ st_theme_node_load_background_image (StThemeNode *node)
|
|||||||
node->background_material = _st_create_texture_pipeline (node->background_texture);
|
node->background_material = _st_create_texture_pipeline (node->background_texture);
|
||||||
|
|
||||||
if (node->background_repeat)
|
if (node->background_repeat)
|
||||||
cogl_material_set_layer_wrap_mode (node->background_material, 0, COGL_MATERIAL_WRAP_MODE_REPEAT);
|
cogl_pipeline_set_layer_wrap_mode (node->background_material, 0,
|
||||||
|
COGL_PIPELINE_WRAP_MODE_REPEAT);
|
||||||
|
|
||||||
if (background_image_shadow_spec)
|
if (background_image_shadow_spec)
|
||||||
{
|
{
|
||||||
@ -1578,16 +1579,18 @@ paint_material_with_opacity (CoglHandle material,
|
|||||||
ClutterActorBox *coords,
|
ClutterActorBox *coords,
|
||||||
guint8 paint_opacity)
|
guint8 paint_opacity)
|
||||||
{
|
{
|
||||||
cogl_material_set_color4ub (material,
|
CoglFramebuffer *fb = cogl_get_draw_framebuffer ();
|
||||||
|
|
||||||
|
cogl_pipeline_set_color4ub (material,
|
||||||
paint_opacity, paint_opacity, paint_opacity, paint_opacity);
|
paint_opacity, paint_opacity, paint_opacity, paint_opacity);
|
||||||
|
|
||||||
cogl_set_source (material);
|
|
||||||
|
|
||||||
if (coords)
|
if (coords)
|
||||||
cogl_rectangle_with_texture_coords (box->x1, box->y1, box->x2, box->y2,
|
cogl_framebuffer_draw_textured_rectangle (fb, material,
|
||||||
coords->x1, coords->y1, coords->x2, coords->y2);
|
box->x1, box->y1, box->x2, box->y2,
|
||||||
|
coords->x1, coords->y1, coords->x2, coords->y2);
|
||||||
else
|
else
|
||||||
cogl_rectangle (box->x1, box->y1, box->x2, box->y2);
|
cogl_framebuffer_draw_rectangle (fb, material,
|
||||||
|
box->x1, box->y1, box->x2, box->y2);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -1596,6 +1599,7 @@ st_theme_node_paint_borders (StThemeNodePaintState *state,
|
|||||||
guint8 paint_opacity)
|
guint8 paint_opacity)
|
||||||
{
|
{
|
||||||
StThemeNode *node = state->node;
|
StThemeNode *node = state->node;
|
||||||
|
CoglFramebuffer *fb = cogl_get_draw_framebuffer ();
|
||||||
float width, height;
|
float width, height;
|
||||||
guint border_width[4];
|
guint border_width[4];
|
||||||
guint border_radius[4];
|
guint border_radius[4];
|
||||||
@ -1702,32 +1706,39 @@ st_theme_node_paint_borders (StThemeNodePaintState *state,
|
|||||||
if (state->corner_material[corner_id] == COGL_INVALID_HANDLE)
|
if (state->corner_material[corner_id] == COGL_INVALID_HANDLE)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
cogl_material_set_color4ub (state->corner_material[corner_id],
|
cogl_pipeline_set_color4ub (state->corner_material[corner_id],
|
||||||
paint_opacity, paint_opacity,
|
paint_opacity, paint_opacity,
|
||||||
paint_opacity, paint_opacity);
|
paint_opacity, paint_opacity);
|
||||||
cogl_set_source (state->corner_material[corner_id]);
|
|
||||||
|
|
||||||
switch (corner_id)
|
switch (corner_id)
|
||||||
{
|
{
|
||||||
case ST_CORNER_TOPLEFT:
|
case ST_CORNER_TOPLEFT:
|
||||||
cogl_rectangle_with_texture_coords (0, 0,
|
cogl_framebuffer_draw_textured_rectangle (fb,
|
||||||
max_width_radius[ST_CORNER_TOPLEFT], max_width_radius[ST_CORNER_TOPLEFT],
|
state->corner_material[corner_id], 0, 0,
|
||||||
0, 0, 0.5, 0.5);
|
max_width_radius[ST_CORNER_TOPLEFT], max_width_radius[ST_CORNER_TOPLEFT],
|
||||||
|
0, 0, 0.5, 0.5);
|
||||||
break;
|
break;
|
||||||
case ST_CORNER_TOPRIGHT:
|
case ST_CORNER_TOPRIGHT:
|
||||||
cogl_rectangle_with_texture_coords (width - max_width_radius[ST_CORNER_TOPRIGHT], 0,
|
cogl_framebuffer_draw_textured_rectangle (fb,
|
||||||
width, max_width_radius[ST_CORNER_TOPRIGHT],
|
state->corner_material[corner_id],
|
||||||
0.5, 0, 1, 0.5);
|
width - max_width_radius[ST_CORNER_TOPRIGHT], 0,
|
||||||
|
width, max_width_radius[ST_CORNER_TOPRIGHT],
|
||||||
|
0.5, 0, 1, 0.5);
|
||||||
break;
|
break;
|
||||||
case ST_CORNER_BOTTOMRIGHT:
|
case ST_CORNER_BOTTOMRIGHT:
|
||||||
cogl_rectangle_with_texture_coords (width - max_width_radius[ST_CORNER_BOTTOMRIGHT], height - max_width_radius[ST_CORNER_BOTTOMRIGHT],
|
cogl_framebuffer_draw_textured_rectangle (fb,
|
||||||
width, height,
|
state->corner_material[corner_id],
|
||||||
0.5, 0.5, 1, 1);
|
width - max_width_radius[ST_CORNER_BOTTOMRIGHT],
|
||||||
|
height - max_width_radius[ST_CORNER_BOTTOMRIGHT],
|
||||||
|
width, height,
|
||||||
|
0.5, 0.5, 1, 1);
|
||||||
break;
|
break;
|
||||||
case ST_CORNER_BOTTOMLEFT:
|
case ST_CORNER_BOTTOMLEFT:
|
||||||
cogl_rectangle_with_texture_coords (0, height - max_width_radius[ST_CORNER_BOTTOMLEFT],
|
cogl_framebuffer_draw_textured_rectangle (fb,
|
||||||
max_width_radius[ST_CORNER_BOTTOMLEFT], height,
|
state->corner_material[corner_id],
|
||||||
0, 0.5, 0.5, 1);
|
0, height - max_width_radius[ST_CORNER_BOTTOMLEFT],
|
||||||
|
max_width_radius[ST_CORNER_BOTTOMLEFT], height,
|
||||||
|
0, 0.5, 0.5, 1);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
g_assert_not_reached();
|
g_assert_not_reached();
|
||||||
@ -1868,6 +1879,7 @@ st_theme_node_paint_sliced_shadow (StThemeNodePaintState *state,
|
|||||||
guint8 paint_opacity)
|
guint8 paint_opacity)
|
||||||
{
|
{
|
||||||
StThemeNode *node = state->node;
|
StThemeNode *node = state->node;
|
||||||
|
CoglFramebuffer *fb = cogl_get_draw_framebuffer ();
|
||||||
guint border_radius[4];
|
guint border_radius[4];
|
||||||
CoglColor color;
|
CoglColor color;
|
||||||
StShadow *box_shadow_spec;
|
StShadow *box_shadow_spec;
|
||||||
@ -1969,16 +1981,14 @@ st_theme_node_paint_sliced_shadow (StThemeNodePaintState *state,
|
|||||||
right += xoffset;
|
right += xoffset;
|
||||||
|
|
||||||
/* Setup pipeline */
|
/* Setup pipeline */
|
||||||
cogl_color_set_from_4ub (&color,
|
cogl_color_init_from_4ub (&color,
|
||||||
box_shadow_spec->color.red * paint_opacity / 255,
|
box_shadow_spec->color.red * paint_opacity / 255,
|
||||||
box_shadow_spec->color.green * paint_opacity / 255,
|
box_shadow_spec->color.green * paint_opacity / 255,
|
||||||
box_shadow_spec->color.blue * paint_opacity / 255,
|
box_shadow_spec->color.blue * paint_opacity / 255,
|
||||||
box_shadow_spec->color.alpha * paint_opacity / 255);
|
box_shadow_spec->color.alpha * paint_opacity / 255);
|
||||||
cogl_color_premultiply (&color);
|
cogl_color_premultiply (&color);
|
||||||
|
|
||||||
cogl_material_set_layer_combine_constant (state->box_shadow_material, 0, &color);
|
cogl_pipeline_set_layer_combine_constant (state->box_shadow_material, 0, &color);
|
||||||
|
|
||||||
cogl_set_source (state->box_shadow_material);
|
|
||||||
|
|
||||||
idx = 0;
|
idx = 0;
|
||||||
|
|
||||||
@ -2106,7 +2116,8 @@ st_theme_node_paint_sliced_shadow (StThemeNodePaintState *state,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
cogl_rectangles_with_texture_coords (rectangles, idx / 8);
|
cogl_framebuffer_draw_textured_rectangles (fb, state->box_shadow_material,
|
||||||
|
rectangles, idx / 8);
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
/* Visual feedback on shadow's 9-slice and orignal offscreen buffer,
|
/* Visual feedback on shadow's 9-slice and orignal offscreen buffer,
|
||||||
@ -2186,19 +2197,18 @@ st_theme_node_prerender_shadow (StThemeNodePaintState *state)
|
|||||||
state->box_shadow_height,
|
state->box_shadow_height,
|
||||||
COGL_TEXTURE_NO_SLICING,
|
COGL_TEXTURE_NO_SLICING,
|
||||||
COGL_PIXEL_FORMAT_ANY);
|
COGL_PIXEL_FORMAT_ANY);
|
||||||
offscreen = cogl_offscreen_new_to_texture (buffer);
|
offscreen = cogl_offscreen_new_with_texture (buffer);
|
||||||
|
|
||||||
if (offscreen != COGL_INVALID_HANDLE)
|
if (offscreen != COGL_INVALID_HANDLE)
|
||||||
{
|
{
|
||||||
ClutterActorBox box = { 0, 0, state->box_shadow_width, state->box_shadow_height};
|
ClutterActorBox box = { 0, 0, state->box_shadow_width, state->box_shadow_height};
|
||||||
CoglColor clear_color;
|
|
||||||
|
cogl_framebuffer_orthographic (offscreen, 0, 0,
|
||||||
|
state->box_shadow_width,
|
||||||
|
state->box_shadow_height, 0, 1.0);
|
||||||
|
cogl_framebuffer_clear4f (offscreen, COGL_BUFFER_BIT_COLOR, 0, 0, 0, 0);
|
||||||
|
|
||||||
cogl_push_framebuffer (offscreen);
|
cogl_push_framebuffer (offscreen);
|
||||||
cogl_ortho (0, state->box_shadow_width, state->box_shadow_height, 0, 0, 1.0);
|
|
||||||
|
|
||||||
cogl_color_set_from_4ub (&clear_color, 0, 0, 0, 0);
|
|
||||||
cogl_clear (&clear_color, COGL_BUFFER_BIT_COLOR);
|
|
||||||
|
|
||||||
st_theme_node_paint_borders (state, &box, 0xFF);
|
st_theme_node_paint_borders (state, &box, 0xFF);
|
||||||
cogl_pop_framebuffer ();
|
cogl_pop_framebuffer ();
|
||||||
cogl_handle_unref (offscreen);
|
cogl_handle_unref (offscreen);
|
||||||
@ -2215,6 +2225,7 @@ st_theme_node_paint_sliced_border_image (StThemeNode *node,
|
|||||||
float height,
|
float height,
|
||||||
guint8 paint_opacity)
|
guint8 paint_opacity)
|
||||||
{
|
{
|
||||||
|
CoglFramebuffer *fb = cogl_get_draw_framebuffer ();
|
||||||
gfloat ex, ey;
|
gfloat ex, ey;
|
||||||
gfloat tx1, ty1, tx2, ty2;
|
gfloat tx1, ty1, tx2, ty2;
|
||||||
gint border_left, border_right, border_top, border_bottom;
|
gint border_left, border_right, border_top, border_bottom;
|
||||||
@ -2245,11 +2256,9 @@ st_theme_node_paint_sliced_border_image (StThemeNode *node,
|
|||||||
ey = border_bottom; /* FIXME ? */
|
ey = border_bottom; /* FIXME ? */
|
||||||
|
|
||||||
material = node->border_slices_material;
|
material = node->border_slices_material;
|
||||||
cogl_material_set_color4ub (material,
|
cogl_pipeline_set_color4ub (material,
|
||||||
paint_opacity, paint_opacity, paint_opacity, paint_opacity);
|
paint_opacity, paint_opacity, paint_opacity, paint_opacity);
|
||||||
|
|
||||||
cogl_set_source (material);
|
|
||||||
|
|
||||||
{
|
{
|
||||||
float rectangles[] =
|
float rectangles[] =
|
||||||
{
|
{
|
||||||
@ -2299,7 +2308,7 @@ st_theme_node_paint_sliced_border_image (StThemeNode *node,
|
|||||||
1.0, 1.0
|
1.0, 1.0
|
||||||
};
|
};
|
||||||
|
|
||||||
cogl_rectangles_with_texture_coords (rectangles, 9);
|
cogl_framebuffer_draw_textured_rectangles (fb, material, rectangles, 9);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2513,6 +2522,7 @@ st_theme_node_paint (StThemeNode *node,
|
|||||||
{
|
{
|
||||||
ClutterActorBox background_box;
|
ClutterActorBox background_box;
|
||||||
ClutterActorBox texture_coords;
|
ClutterActorBox texture_coords;
|
||||||
|
CoglFramebuffer *fb = cogl_get_draw_framebuffer ();
|
||||||
gboolean has_visible_outline;
|
gboolean has_visible_outline;
|
||||||
|
|
||||||
/* If the node doesn't have an opaque or repeating background or
|
/* If the node doesn't have an opaque or repeating background or
|
||||||
@ -2524,7 +2534,9 @@ st_theme_node_paint (StThemeNode *node,
|
|||||||
get_background_position (node, &allocation, &background_box, &texture_coords);
|
get_background_position (node, &allocation, &background_box, &texture_coords);
|
||||||
|
|
||||||
if (has_visible_outline || node->background_repeat)
|
if (has_visible_outline || node->background_repeat)
|
||||||
cogl_clip_push_rectangle (allocation.x1, allocation.y1, allocation.x2, allocation.y2);
|
cogl_framebuffer_push_rectangle_clip (fb,
|
||||||
|
allocation.x1, allocation.y1,
|
||||||
|
allocation.x2, allocation.y2);
|
||||||
|
|
||||||
/* CSS based drop shadows
|
/* CSS based drop shadows
|
||||||
*
|
*
|
||||||
@ -2551,7 +2563,7 @@ st_theme_node_paint (StThemeNode *node,
|
|||||||
paint_opacity);
|
paint_opacity);
|
||||||
|
|
||||||
if (has_visible_outline || node->background_repeat)
|
if (has_visible_outline || node->background_repeat)
|
||||||
cogl_clip_pop ();
|
cogl_framebuffer_pop_clip (fb);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -107,11 +107,11 @@ struct _StThemeNode {
|
|||||||
int box_shadow_min_width;
|
int box_shadow_min_width;
|
||||||
int box_shadow_min_height;
|
int box_shadow_min_height;
|
||||||
|
|
||||||
CoglHandle border_slices_texture;
|
CoglPipeline *border_slices_texture;
|
||||||
CoglHandle border_slices_material;
|
CoglPipeline *border_slices_material;
|
||||||
CoglHandle background_texture;
|
CoglPipeline *background_texture;
|
||||||
CoglHandle background_material;
|
CoglPipeline *background_material;
|
||||||
CoglHandle background_shadow_material;
|
CoglPipeline *background_shadow_material;
|
||||||
|
|
||||||
StThemeNodePaintState cached_state;
|
StThemeNodePaintState cached_state;
|
||||||
};
|
};
|
||||||
|
@ -240,7 +240,6 @@ setup_framebuffers (StThemeNodeTransition *transition,
|
|||||||
const ClutterActorBox *allocation)
|
const ClutterActorBox *allocation)
|
||||||
{
|
{
|
||||||
StThemeNodeTransitionPrivate *priv = transition->priv;
|
StThemeNodeTransitionPrivate *priv = transition->priv;
|
||||||
CoglColor clear_color = { 0, 0, 0, 0 };
|
|
||||||
guint width, height;
|
guint width, height;
|
||||||
|
|
||||||
/* template material to avoid unnecessary shader compilation */
|
/* template material to avoid unnecessary shader compilation */
|
||||||
@ -269,11 +268,11 @@ setup_framebuffers (StThemeNodeTransition *transition,
|
|||||||
|
|
||||||
if (priv->old_offscreen)
|
if (priv->old_offscreen)
|
||||||
cogl_handle_unref (priv->old_offscreen);
|
cogl_handle_unref (priv->old_offscreen);
|
||||||
priv->old_offscreen = cogl_offscreen_new_to_texture (priv->old_texture);
|
priv->old_offscreen = cogl_offscreen_new_with_texture (priv->old_texture);
|
||||||
|
|
||||||
if (priv->new_offscreen)
|
if (priv->new_offscreen)
|
||||||
cogl_handle_unref (priv->new_offscreen);
|
cogl_handle_unref (priv->new_offscreen);
|
||||||
priv->new_offscreen = cogl_offscreen_new_to_texture (priv->new_texture);
|
priv->new_offscreen = cogl_offscreen_new_with_texture (priv->new_texture);
|
||||||
|
|
||||||
g_return_val_if_fail (priv->old_offscreen != COGL_INVALID_HANDLE, FALSE);
|
g_return_val_if_fail (priv->old_offscreen != COGL_INVALID_HANDLE, FALSE);
|
||||||
g_return_val_if_fail (priv->new_offscreen != COGL_INVALID_HANDLE, FALSE);
|
g_return_val_if_fail (priv->new_offscreen != COGL_INVALID_HANDLE, FALSE);
|
||||||
@ -282,40 +281,49 @@ setup_framebuffers (StThemeNodeTransition *transition,
|
|||||||
{
|
{
|
||||||
if (G_UNLIKELY (material_template == COGL_INVALID_HANDLE))
|
if (G_UNLIKELY (material_template == COGL_INVALID_HANDLE))
|
||||||
{
|
{
|
||||||
material_template = cogl_material_new ();
|
CoglContext *ctx =
|
||||||
|
clutter_backend_get_cogl_context (clutter_get_default_backend ());
|
||||||
|
material_template = cogl_pipeline_new (ctx);
|
||||||
|
|
||||||
cogl_material_set_layer_combine (material_template, 0,
|
cogl_pipeline_set_layer_combine (material_template, 0,
|
||||||
"RGBA = REPLACE (TEXTURE)",
|
"RGBA = REPLACE (TEXTURE)",
|
||||||
NULL);
|
NULL);
|
||||||
cogl_material_set_layer_combine (material_template, 1,
|
cogl_pipeline_set_layer_combine (material_template, 1,
|
||||||
"RGBA = INTERPOLATE (PREVIOUS, "
|
"RGBA = INTERPOLATE (PREVIOUS, "
|
||||||
"TEXTURE, "
|
"TEXTURE, "
|
||||||
"CONSTANT[A])",
|
"CONSTANT[A])",
|
||||||
NULL);
|
NULL);
|
||||||
cogl_material_set_layer_combine (material_template, 2,
|
cogl_pipeline_set_layer_combine (material_template, 2,
|
||||||
"RGBA = MODULATE (PREVIOUS, "
|
"RGBA = MODULATE (PREVIOUS, "
|
||||||
"PRIMARY)",
|
"PRIMARY)",
|
||||||
NULL);
|
NULL);
|
||||||
}
|
}
|
||||||
priv->material = cogl_material_copy (material_template);
|
priv->material = cogl_pipeline_copy (material_template);
|
||||||
}
|
}
|
||||||
|
|
||||||
cogl_material_set_layer (priv->material, 0, priv->new_texture);
|
cogl_pipeline_set_layer_texture (priv->material, 0, priv->new_texture);
|
||||||
cogl_material_set_layer (priv->material, 1, priv->old_texture);
|
cogl_pipeline_set_layer_texture (priv->material, 1, priv->old_texture);
|
||||||
|
|
||||||
|
cogl_framebuffer_clear4f (priv->old_offscreen, COGL_BUFFER_BIT_COLOR,
|
||||||
|
0, 0, 0, 0);
|
||||||
|
cogl_framebuffer_orthographic (priv->old_offscreen,
|
||||||
|
priv->offscreen_box.x1,
|
||||||
|
priv->offscreen_box.y1,
|
||||||
|
priv->offscreen_box.x2,
|
||||||
|
priv->offscreen_box.y2, 0.0, 1.0);
|
||||||
|
|
||||||
cogl_push_framebuffer (priv->old_offscreen);
|
cogl_push_framebuffer (priv->old_offscreen);
|
||||||
cogl_clear (&clear_color, COGL_BUFFER_BIT_COLOR);
|
|
||||||
cogl_ortho (priv->offscreen_box.x1, priv->offscreen_box.x2,
|
|
||||||
priv->offscreen_box.y2, priv->offscreen_box.y1,
|
|
||||||
0.0, 1.0);
|
|
||||||
st_theme_node_paint (priv->old_theme_node, &priv->old_paint_state, allocation, 255);
|
st_theme_node_paint (priv->old_theme_node, &priv->old_paint_state, allocation, 255);
|
||||||
cogl_pop_framebuffer ();
|
cogl_pop_framebuffer ();
|
||||||
|
|
||||||
|
cogl_framebuffer_clear4f (priv->new_offscreen, COGL_BUFFER_BIT_COLOR,
|
||||||
|
0, 0, 0, 0);
|
||||||
|
cogl_framebuffer_orthographic (priv->new_offscreen,
|
||||||
|
priv->offscreen_box.x1,
|
||||||
|
priv->offscreen_box.y1,
|
||||||
|
priv->offscreen_box.x2,
|
||||||
|
priv->offscreen_box.y2, 0.0, 1.0);
|
||||||
cogl_push_framebuffer (priv->new_offscreen);
|
cogl_push_framebuffer (priv->new_offscreen);
|
||||||
cogl_clear (&clear_color, COGL_BUFFER_BIT_COLOR);
|
|
||||||
cogl_ortho (priv->offscreen_box.x1, priv->offscreen_box.x2,
|
|
||||||
priv->offscreen_box.y2, priv->offscreen_box.y1,
|
|
||||||
0.0, 1.0);
|
|
||||||
st_theme_node_paint (priv->new_theme_node, &priv->new_paint_state, allocation, 255);
|
st_theme_node_paint (priv->new_theme_node, &priv->new_paint_state, allocation, 255);
|
||||||
cogl_pop_framebuffer ();
|
cogl_pop_framebuffer ();
|
||||||
|
|
||||||
@ -328,6 +336,7 @@ st_theme_node_transition_paint (StThemeNodeTransition *transition,
|
|||||||
guint8 paint_opacity)
|
guint8 paint_opacity)
|
||||||
{
|
{
|
||||||
StThemeNodeTransitionPrivate *priv = transition->priv;
|
StThemeNodeTransitionPrivate *priv = transition->priv;
|
||||||
|
CoglFramebuffer *fb = cogl_get_draw_framebuffer ();
|
||||||
|
|
||||||
CoglColor constant;
|
CoglColor constant;
|
||||||
float tex_coords[] = {
|
float tex_coords[] = {
|
||||||
@ -352,20 +361,20 @@ st_theme_node_transition_paint (StThemeNodeTransition *transition,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
cogl_color_set_from_4f (&constant, 0., 0., 0.,
|
cogl_color_init_from_4f (&constant, 0., 0., 0.,
|
||||||
clutter_timeline_get_progress (priv->timeline));
|
clutter_timeline_get_progress (priv->timeline));
|
||||||
cogl_material_set_layer_combine_constant (priv->material, 1, &constant);
|
cogl_pipeline_set_layer_combine_constant (priv->material, 1, &constant);
|
||||||
|
|
||||||
cogl_material_set_color4ub (priv->material,
|
cogl_pipeline_set_color4ub (priv->material,
|
||||||
paint_opacity, paint_opacity,
|
paint_opacity, paint_opacity,
|
||||||
paint_opacity, paint_opacity);
|
paint_opacity, paint_opacity);
|
||||||
|
|
||||||
cogl_set_source (priv->material);
|
cogl_framebuffer_draw_multitextured_rectangle (fb, priv->material,
|
||||||
cogl_rectangle_with_multitexture_coords (priv->offscreen_box.x1,
|
priv->offscreen_box.x1,
|
||||||
priv->offscreen_box.y1,
|
priv->offscreen_box.y1,
|
||||||
priv->offscreen_box.x2,
|
priv->offscreen_box.x2,
|
||||||
priv->offscreen_box.y2,
|
priv->offscreen_box.y2,
|
||||||
tex_coords, 8);
|
tex_coords, 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -104,9 +104,9 @@ struct _StThemeNodePaintState {
|
|||||||
float box_shadow_width;
|
float box_shadow_width;
|
||||||
float box_shadow_height;
|
float box_shadow_height;
|
||||||
|
|
||||||
CoglHandle box_shadow_material;
|
CoglPipeline *box_shadow_material;
|
||||||
CoglHandle prerendered_texture;
|
CoglPipeline *prerendered_texture;
|
||||||
CoglHandle prerendered_material;
|
CoglPipeline *prerendered_material;
|
||||||
CoglHandle corner_material[4];
|
CoglHandle corner_material[4];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user