Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: HTML-браузер на микроконтроллере
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
LCD
Хочу сделать простейший браузер на MSP430, выводящий HTML на дисплей с разрешением 172x132. Требуется отображение таблиц, хотя бы упрощенное, поддержка гиперссылок, цветов, различных оформлений шрифта и изображений (GIF, и если хватит памяти - JPG). Вьювер простого текста я написал сразу, а HTML-браузер безуспешно переписывал 2 раза, поэтому хочу спросить: существует ли что-нибудь готовое? Чтобы было написано на C или С++ и объем вносимых изменений был минимальным. Если нет - то хотя бы подскажите, с чего начинать.
Зверюга
Вообще-то есть на Яве кажется написанная Opera Mini, работает в мобильных телефонах.

Особенно приколол факт появления такого мощного проекта в разделе "Для начинающих". Такими шагами вы искусственный интеллект на ARM7 через пару лет сделаете.
Rst7
Цитата
Вообще-то есть на Яве кажется написанная Opera Mini, работает в мобильных телефонах.


Опера-мини парсит страничку на сервере. На мобильник падает html-ка в преобразованном виде, для упрощения разборщика. Если девайс будет иметь доступ в большой интернет, то организовать серфинг через сервер ОМ вполне возможно. Могу поделиться сишными исходниками такого браузера, правда, под весьма специфичную платформу.
LCD
Цитата(Зверюга @ Nov 6 2008, 22:44) *
Вообще-то есть на Яве кажется написанная Opera Mini, работает в мобильных телефонах.

Осталось только Яву прикрутить к MSP smile.gif
Цитата(Rst7 @ Nov 7 2008, 09:05) *
Если девайс будет иметь доступ в большой интернет

Доступ в интернет пока не планируется.
Rst7
Цитата
Доступ в интернет пока не планируется.


А откуда Вы собрались брать html? Они статические или нет?
LCD
Статические, с флешки. Когда в продаже появятся MSP430x5, то тогда подумаю о подключении к интернету.
Rst7
Цитата
Статические, с флешки.


Ну тогда можете подумать о конвертировании их во внутренний формат Оперы-мини и использовании моих исходников.

Только, как Вы понимаете, всякие java-скрипты не поддерживаются.
LCD
Выложите плз исходники - хочу глянуть.
До скриптов еще далеко, надо хотя бы софт до нормальной работоспособности довести.

Цитата(ClockworkOrange @ Nov 7 2008, 13:34) *

Они же все текстовые. А мне надо, чтобы понимали <img src=...>
Rst7
Цитата
Они же все текстовые.


W3M умеет через иксы работать, с картинками. Но... Они все уже монстрообразные sad.gif

Цитата
Выложите плз исходники - хочу глянуть.

svn://svn.boba.su/ARM/BalletMini
LCD
Цитата(Rst7 @ Nov 7 2008, 13:43) *
W3M умеет через иксы работать, с картинками. Но... Они все уже монстрообразные sad.gif
Действительно. Придется третий раз писать все с нуля.
Цитата(Rst7 @ Nov 7 2008, 13:43) *
svn://svn.boba.su/ARM/BalletMini

А можно в виде исходников в архиве?
Rst7
Цитата
А можно в виде исходников в архиве?


Скачайте клиента и учитесь работать с системой контроля версий. В жизни пригодится.

Заодно, можете посмотреть ранние ревизии, там понятнее, что происходит. В поздних ревизиях много всяких финтифлюшек, зависящих от платформы, они Вам для понимания будут мешать.

Ну и тулзу для выкачивания .oms-файлов найдете тут - http://forum.siemens-club.org/viewtopic.php?TopicID=61784
LCD
OMS-браузер - это немного не то. Хочу, чтобы работало без всяких преобразований.
P.S. Основная проблема, с которой я столкнулся - получение координат (x,y) определенной строки. Алгоритм, вроде, простой - или построить список координат каждой строки и ее оффсета в файле, или высчитывать их в реальном времени, но получается громоздкий код.
Rst7
Цитата
Основная проблема, с которой я столкнулся - получение координат (x,y) определенной строки.


Даже не строки. Вам необходимо построить список всех элементов в порядке увеличения координат. После чего, при рендере, Вы, зная прямоугольник видимой области, проходите по списку и смотрите, какие элементы отображаются, какие - нет. Упорядоченный список упрощает задачу поиска - можно, например, найти проекцию центра видимой области в списке бинарным поиском, а затем идти вверх и вниз, пока есть хоть что-то для отображения. Ну или найти верх изображения, не суть, главное, что не надо весь список обрабатывать.

Все большие браузеры построенны именно по этому способу, и, кстати, DOM - он придуман на базе внутренних структур, которые уже есть в любом браузере - DOM суть список элементов, к которым кроме координат (которые, кстати, в DOM'е приватные wink.gif ) пристегнуты всякие методы и свойства объектов.
LCD
Я тоже об этом думал, но представил, сколько это все будет занимать памяти. Пришлось бы ставить внешнюю память или свопиться на флешку. smile.gif Поэтому решил пока обойтись без таблиц.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.