我有一组用于绘图的对象,并且总是使用Cairo。我决定用Cogl切换到Clutter用于绘图,但Cogl似乎对2D有些限制。到目前为止,我已经错过了能够设置线条的线条图案以及线宽。我读过两件事,你可以在Cogl中使用原始GL调用,并且可以使用ClutterCairoTexture。遗憾的是,我找不到任何关于在cogl_begin_gl / cogl_end_gl中使用GL调用的文档,而ClutterCairoTexture显然已被弃用。
了解如何将Cliro上下文与Clutter纹理一起使用,或者如何在Cogl中完成2D绘图将非常有用。我真的不明白为什么你不能在Cogl中改变线宽,但它似乎没有在我读过的任何文档中。我必须处理的破折号模式,但如果我可以继续在Actor / Texture中使用Cairo,或者如果Cogl有某种方法可以做到,那肯定会更好。
感谢。
答案 0 :(得分:1)
原来答案是继续使用Cairo,但创建一个ClutterCanvas并将其添加到您要绘制的任何ClutterActor中。之后,您只需要将一个函数连接到绘制信号,该函数将CairoContext作为参数。