goocanvas如何切换抗锯齿

时间:2014-01-03 14:10:14

标签: c++ gtk gtkmm

可以告诉我一个人如何切换goocanvasmm中所有项目的抗锯齿效果吗?

我试图获取根项目模型,但这不包含抗锯齿属性。

我无法找到goocanvasmm的任何有效文档。我真的需要一个教程,但我找不到一些。

[编辑] 对不起,我需要goocanvasmm的代码!不是goocanvas。所以请不要再次编辑。是的,它是gtk +的c ++版本,名为gtkmm和goocanvasmm

[编辑] 我现在在画布上有一个rect,我可以得到rect-> property_antialias()= ????但现在我在与PropertyProxy斗争。

以下两行都不起作用: 1)

rect->property_antialias()=CAIRO_ANTIALIAS_NONE ;

不匹配»operator =«(操作数类型是»Glib :: PropertyProxy«和»_cairo_antialias«)

2)

rect->property_antialias()=ANTIALIAS_NONE ;

错误:未在此范围内声明'ANTIALIAS_NONE'

谢谢!

1 个答案:

答案 0 :(得分:1)

GooCanvaItemSimple是大多数项目的基类。它具有antialias属性,其属性映射到cairo_antialias_t

这适用于C版本,而不是C ++,但应该很容易映射到文档的“mm”版本。这是antialias in goocanvasmm的等价物。

当你不知道某个属性的位置时,只需挖掘所实现的父类或接口,直到找到它为止。

然后,设置适当的Cairo::Antialias类型的值(这是在cairomm中定义的类型)。

rect->property_antialias() = Cairo::ANTIALIAS_NONE;