Окраска точки в области рисования в gtkmm
Я создал область рисования, используя следующий код в gtkmm:
bool DrawingArea::on_draw(const Cairo::RefPtr<Cairo::Context>& cr)
{
cr->set_source_rgb(1.0, 1.0, 1.0); // white background
cr->paint();
cr->move_to(0,0);
cr->line_to(10,10);
cr->line_to(20,20);
return true;
}
Код рисует линии в области рисования.
Я хочу нарисовать точку в этой области после вызова функции, которая рисует точку. Я хочу перекрасить в том же контексте. Я сделал это так:
void DrawingArea::on_point()
{
cr->arc(10.0,10.0,1.0,1.0, 2 * M_PI);
cr->set_source_rgba(0.0,0.0,0.8,0.6);
cr->fill_preserve();
cr->stroke();
}
Вышеуказанная функция вызывается при нажатии на пункт меню. Функция queue_draw() в gtkmm может быть использована. Как мне использовать его для перекраски в области рисования?
Любая помощь будет по достоинству оценена!