Я изучаю возможность написать своего рода аналог ноутбука, который воспроизводит внешний вид и использование традиционного ноутбука, но с дополнительным преимуществом настройки страницы так, как вы не можете сделать Бумага - попросите программу разместить там рулонную бумагу, там же, там же, вставить изображение, вставить запись из встроенной камеры, попытаться распознать рукописный ввод на входе планшета, вставить какой-то латекс для опрятных формул и так далее. Мне очень интересно развить его, чтобы увидеть, могут ли писать заметки на компьютере в любом месте рядом с удобной обычной бумагой + предложение карандаша (трудно сделать IMO) и всегда можно включить его в качестве университетского проекта на C++, поэтому двойной выигрыш там ,Запись GUG с поддержкой OpenGL
Исходя из типа проекта есть определенные требования для пользовательского интерфейса:
- пользователь будет иметь возможность изменить масштаб изображения, перемещать и поворачивать ноутбук, как он хочет, и я думаю, что это довольно разумен делегат его OpenGL, поэтому перспективный графический интерфейс должен хорошо работать с OGL (желательно, чтобы его отображали)
- Интерфейс должен быть доступен с минимальным количеством ввода с клавиатуры, как пожелает пользователь (включая какие-то жесты) до ограничения клавиш клавиатуры как модификаторы движения пера и кранов; это включает в себя планшет и возможную поддержку мультитач
- интерфейс должен оставаться в стороне от того, где он не нужен, и подходить туда, где это необходимо, и быть легко слоистым.
- сам лист ноутбука будет контейнером для объектов, представляющих записные книжки, поэтому он было бы неплохо, если бы графический интерфейс мог бы накладывать некоторые кадры поверх точных частей листа с рисунком OpenGL, чтобы обозначить, что можно сделать с данной частью (например, перемещение, поворот, удаление, копирование, редактирование и т. д.) и его экстенты
С точки зрения интерфейса, это, вероятно, будет похоже на Alias 'Sketch Book Pro: picture.
Что касается наборов инструментов, я рассматриваю Qt и nui, но я не знаю, насколько хорошо они соответствовали бы требованиям и насколько хорошо они могли бы обрабатывать такое приложение.
Насколько я знаю, вы можете каким-то образом заставить Qt заниматься рисованием виджета с помощью OpenGL, но, с другой стороны, я слышал голоса, что структура слот-сигнала не совсем оптимальна и требует собственного препроцессора, и я не знаю, как сложно будет делать все пользовательские виджеты, которые мне понадобятся (например, цветовые колеса, линейка, рамки кадров, выбор рекламных блоков, всплывающее меню с планшетами и т. д.) в ограничениях Qt. Кроме того, довольно много программ Qt, которые у меня были на моей машине, выглядели действительно вялыми, но это может быть связано со старым компьютером или программистами, использующими Qt субоптимально, а не самой каркас.
Что касается nui (http://www.libnui.net/) Я знаю, что это также кросс-платформенная и все основные вещи, которые вам потребуются от инструментария GUI, и что является самым большим плюсом с OpenGL-с самого начала, но я не знаю, как это с пользовательскими виджетами и другими аспектами, и это, безусловно, имеет меньшую пользовательскую базу и менее подробную документацию, чем Qt.
Вопрос идет как это:
ли какие-либо из этих наборов инструментов выполнения (желательно все) требования или есть хорошо фитинга инструментарий я не сталкивался или, может быть, я должен просто засучить рукава, получить SFML (или, может быть, Clutter будет больше подходит для этого?) и что-то вроде FastDelegates или libsigC++ и запрограммировать интерфейс GUI с самого начала?
Я был бы очень рад, если бы кто-нибудь имел опыт работы с аналогичным проектом GUI и мог бы высказать некоторые замечания о том, насколько хорошо эти инструментальные средства задерживаются или стоит использовать собственный инструментарий GUI в этом случае.
Извините за долговременность, дух.
OpenGL не поддерживает текст/шрифт, поэтому это не может быть ужасно. –
Ну, это действительно GLUT, а не OpenGL, но я думаю, что большинство людей, которые используют OpenGL, тоже используют GLUT. http://www.lighthouse3d.com/opengl/glut/index.php?bmpfont – eeeeaaii
Это в значительной степени то, что я думал, но это действительно большое дело, поэтому я хотел быть уверенным, что это лучший вариант, и именно поэтому Я собираюсь сделать это раньше (за год вперед). Что касается шрифтов - всегда есть FreeType; f – Jaen