我有几个绘图例程,我用它来向用户呈现模拟的图形表示。该模拟具有周期性边界条件(如果某些东西离开顶部,则它返回到底部)。截至目前,该实现有效地将所有绘图选项作为draw(x%WIDTH,y%HEIGHT)
执行,或多或少有效 - 如果我从<width-1,y>
绘制一条线到<width+1,y>
,这将转变为在屏幕上一直排队。我可以测试是否会触发周期性,并使用move_to
代替line_to
,但这似乎效率低下,只适用于多边形。
有没有办法将cairo切换到“周期模式”,例如,我可以绘制一个从画布顶部延伸出来的圆圈,它会部分显示在底部?写入对象的实际坐标非常好,而不是每帧每个坐标执行MOD
。
抢先注意:说“画两个圆圈,一个在底部,一个在顶部”不是我想要的。
答案 0 :(得分:2)
不,没有这样的模式。
对你来说可能或不可能的一件事是分配一个带有alpha通道的表面,它是两个方向的两倍大小,然后绘制所有模数WIDTH / HEIGHT,然后最终将四个子表面合成到你的真实表面上。