Я работаю над проектом, в котором я буду разрабатывать графический интерфейс для встраиваемого устройства и хотел бы использовать для этого HTML. Я надеюсь, что вы, ребята, поможете мне найти движок рендеринга, который соответствует моим потребностям.
Требования:
Веб-страница должна быть отображена в буфере памяти. Затем я перенесу буфер памяти на дисплей.
Я должен быть уведомлен через обратный вызов или событие, что движку рендеринга необходимо получить новый элемент. HTML-страница, изображение и т. Д. Причина в том, что я должен получить ресурс и передать его механизму рендеринга (причина в том, что устройство не имеет TCP / IP во всех конфигурациях, и тогда мне нужно будет получить элемент через последовательная линия, а также для безопасности мне нужно подтвердить, что запрос разрешен).
Я должен иметь возможность вводить события мыши и клавиатуры в механизм рендеринга.
Только C и / или C ++
Должен быть легко переносимым и не иметь зависимостей от библиотек, которые существуют только для win / linux / mac. Устройство, которое у меня есть, работает под управлением специальной ОС ...
Небольшие габариты и потребление памяти, я, вероятно, смогу обойтись с 10 Мбайт и 5-10 Мбайт выделенной памяти во время рендеринга. Но не более того.
Приветствуются как решения с открытым исходным кодом, так и коммерческие.
Мне НЕ нужна полная поддержка HTML5 и CSS3, я имею в виду, что если я могу использовать «базовый HTML и немного CSS», я буду более чем счастлив.
Я просмотрел некоторые WebKit, Chrome, Gecko, Berkelium и awesomium, но не обнаружил, что они подходят моим потребностям.
Есть ли что-нибудь близкое к тому, что мне нужно? Или мне просто отказаться от этой идеи и построить графический интерфейс каким-то другим способом? Я ценю любую помощь!
Взгляните на librocket . Он отвечает вашим требованиям быть HTML + CSS, легкий, обрабатывать события и рендеринга в буфер. Недавно я просмотрел несколько проектов, в основном искал то, что вы просили, и это было совпадение, которое я нашел.
libRocket - это пакет промежуточного программного обеспечения для пользовательского интерфейса C ++, основанный на стандартах HTML и CSS. Он разработан как законченное решение для нужд интерфейса любого проекта.
libRocket использует проверенные временем открытые стандарты XHTML1.0 и CSS2.0 (заимствуя функции из HTML5 и CSS3) и расширяет их функциями, подходящими для приложений реального времени. Из-за этого вам не нужно изучать совершенно новую запатентованную технологию, как другие пакеты в этом пространстве промежуточного программного обеспечения.
- Кроссплатформенная архитектура (Windows, Mac, Linux, iPhone, ...).
- Система динамического макета.
- Эффективное моделирование в масштабе всего приложения с использованием встроенного шаблонизатора.
- Полнофункциональный набор пользовательских элементов управления: кнопки, ползунки, раскрывающиеся списки и т. Д.
- Комплект визуальной отладки во время выполнения.
- Легко интегрируется и расширяется с помощью скриптов Python.
- Абстрактные интерфейсы для подключения к любому игровому движку (примеры для OpenGL, DirectX и Ogre3d).
- Движок декоратора, позволяющий настраивать специфичные для приложения эффекты, которые можно применять к любому элементу.
- Универсальная система событий, которая органично вписывается в существующие проекты.