Может дать мне кто-то идею, как я могу переключить сглаживание для всех предметов в goocanvasmm?
Я попытался получить модель корневого элемента, но это не содержало свойство сглаживания.
Я не мог найти правильную документацию для goocanvasmm. Мне действительно нужен учебник, но я не могу найти его.
[править] Извините, мне нужен код для goocanvasmm !!! не goocanvas. Поэтому, пожалуйста, не редактируйте это снова. Да, это c++ версия gtk+ называется gtkmm и goocanvasmm
[edit] У меня теперь прямоугольник в холсте, и я мог получить rect-> property_antialias() =???? но теперь я боролся с PropertyProxy.
следующие две линии не будут работать: 1)
rect->property_antialias()=CAIRO_ANTIALIAS_NONE ;
нет соответствия для "operator =" (типы операндов: "Glib :: PropertyProxy" и "_cairo_antialias")
2)
rect->property_antialias()=ANTIALIAS_NONE ;
Ошибка: "ANTIALIAS_NONE" не был объявлен в этой области
Благодарю!
GooCanvaItemSimple
является базовым классом для большинства предметов. Он имеет antialias
свойство, которое имеет тип, который сопоставляется cairo_antialias_t
.
Это для версии C, а не C++, но ее легко сопоставить с версиями документов "мм". Здесь эквивалент для antialias в goocanvasmm.
Когда вы не знаете, где находится свойство, просто копайте в родительских классах или интерфейсах, реализованных до тех пор, пока вы его не найдете.
Затем задайте значение соответствующего типа Cairo :: Antialias (который является типом, определенным в cairomm).
rect->property_antialias() = Cairo::ANTIALIAS_NONE;