Я начинаю новый проект (приложение для Windows), которому нужен простой графический интерфейс. Графика не является основной целью приложения, алгоритмы, лежащие в ее основе, так что я хотел бы потратить как можно меньше времени на обдумывание графики.
Мне нужно нарисовать простые фигуры, соединить их линиями и обозначить как фигуры, так и края. Мой идеальный API будет выглядеть примерно так:
n1 = Rectangle(width, height, center1);
n1->label("Node1");
n2 = Circle(radius, center2);
l = Line(n1->rightEdge()->midpoint()), (n2->center()-Point(n2->radius,0));
l->label("pathway",BELOW);
Я знаю, что, безусловно, мог бы использовать низкоуровневую библиотеку для создания этого уровня абстракции. Но я бы предпочел не делать этого, если это уже сделано. Существует ли графическая библиотека с таким уровнем абстракции? Я был бы одинаково счастлив с C / C ++. C # тоже будет вариант.