将actor添加到ClutterCanvas

时间:2014-07-31 08:00:30

标签: canvas actor cairo clutter

我有一个ClutterCanvas,其白色背景由初始draw信号绘制。我想在这个画布上添加一个actor。演员将是一个点。

void drawPoint(ClutterCanvas *canvas, cairo_t *cr, double x, double y, double r){
ClutterColor color;
color = *CLUTTER_COLOR_Black;
clutter_cairo_set_source_color(cr, &color);
cairo_arc(cr, x, y, r, 0, 2 * M_PI);
cairo_fill(cr);
}

如何将此点作为角色添加到画布中?

可以使用以下方式将点创建为演员:

point = clutter_actor_new();
clutter_actor_set_content(point, ??);
clutter_actor_add_child(stage, point);

这种方法会引导我朝着正确的方向前进吗? 提前谢谢!

1 个答案:

答案 0 :(得分:0)

ClutterCanvas类用于直接绘制Cairo - 它类似于HTML上的<canvas>标记。

您只能将子actor添加到现有ClutterActor实例。

在绘制场景图的内容时,将通过父级绘制子actor。儿童演员也可以拥有自己的ClutterContent实施;如果您想使用ClutterCanvas并且不想覆盖其父级的内容,请务必使用透明色清除ClutterCanvas的内容。