Board.KolibriOS.org

Official KolibriOS board
It is currently Sun Jul 05, 2020 8:13 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 144 posts ]  Go to page Previous 1 2 3 4 510 Next
Author Message
PostPosted: Wed Aug 18, 2010 2:20 pm 
Offline
User avatar

Joined: Mon Apr 16, 2007 6:38 pm
Posts: 1222
art_zh,
да-да, я тоже подумал об этом, ведь не бывает сферических парсеров в вакууме, их результаты работы должна интерпретировать программа, а без тесной интеграции программы с парсером для этого остается только один удачный вариант - промежуточный код, байт-код.

Asper,
чем в данном случае SWF будет лучше? я не нашел при беглом поиске в сети ни аргументов за, ни аргументов против, кроме того, что этот формат рссчитан таки в первую очередь на анимацию, поэтому спрашиваю, т.к. с форматом этим не знаком

Mario: "Делай свое дело - это твое личное право делать, что вздумается и как вздумается. :D
Главное документацию составлять не забывай, в противном случае будешь писать один, а это сам понимаешь непродуктивно."
- ну вроде спецификация это тоже немного документация, поэтому именно ее составлением я сейчас заняться и предлагаю :)

_________________
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!


Top
   
PostPosted: Wed Aug 18, 2010 2:26 pm 
Offline
User avatar

Joined: Fri Jun 27, 2008 3:22 pm
Posts: 988
Gluk wrote:
Asper,
чем в данном случае SWF будет лучше? я не нашел при беглом поиске в сети ни аргументов за, ни аргументов против, кроме того, что этот формат рссчитан таки в первую очередь на анимацию, поэтому спрашиваю, т.к. с форматом этим не знаком


С SWF я бы мог присоединиться к работе, тем более, что кое-какой код уже есть, в этом формате уже всё придумано и он является теговым, т.е. вводить его поддержку можно постепенно, те теги, что ещё не обрабатываются можно просто пропускать. Кроме того такая библиотека была бы полезна, не только для твоих виджетов, но и для флеш плеера, и для браузера и т.д.


Top
   
PostPosted: Wed Aug 18, 2010 3:04 pm 
Offline
User avatar

Joined: Mon Apr 16, 2007 6:38 pm
Posts: 1222
а сам формат?
в какой степени избыточен (по лишней информации, а также отдельно - по объему, занимаемому не лишней информацией)?
в какой степени подходит для статических изображений (надо ли объявлять изображение как кадр с бесконечной продолжительностью, или что-то в этом роде)?
насколько машинонепонятен (насколько сложным должен быть код для парсинга)?

а еще лучше помимо этого ссылку на подробное описание формата (на русском языке), я что-то ничего толкового не нашел (при, честно говоря, не особо глубоком поиске)

_________________
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!


Top
   
PostPosted: Wed Aug 18, 2010 3:46 pm 
Offline
User avatar

Joined: Mon Apr 16, 2007 6:38 pm
Posts: 1222
а по поводу пока что основного сабжа, на повестке пусть побудут:
1) хватит ли 255 видов объектов? объектом может быть не только что-либо рисуемое, но и объявляемое и затем используемое (градиенты, шрифты, слои).
2) вводить ли разделение объектов на 127 рисуемых и 127 объявляемых (см. выше).

_________________
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!


Top
   
PostPosted: Wed Aug 18, 2010 3:48 pm 
Мне так кажется экономия в 2 байта несущественна - зато потом не будет мучительно больно.


Top
   
PostPosted: Wed Aug 18, 2010 4:07 pm 
Offline
User avatar

Joined: Mon Apr 16, 2007 6:38 pm
Posts: 1222
Mario, я просто даже пятидесяти видов объектов придумать не могу.. мм, да и, собственно, тридцати.. // кстати, вроде, 1 байт

_________________
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!


Top
   
PostPosted: Wed Aug 18, 2010 7:47 pm 
Offline
User avatar

Joined: Fri Jun 27, 2008 3:22 pm
Posts: 988
Gluk wrote:
а сам формат?
в какой степени избыточен (по лишней информации, а также отдельно - по объему, занимаемому не лишней информацией)?
в какой степени подходит для статических изображений (надо ли объявлять изображение как кадр с бесконечной продолжительностью, или что-то в этом роде)?
насколько машинонепонятен (насколько сложным должен быть код для парсинга)?

Насколько я понимаю это именно то, что тебе нужно, никаких извратов вроде "объявлять изображение как кадр с бесконечной продолжительностью". После трансляции в байт-код без спецификации и знания основ ассемблера в файле не разберёшься. По максимуму ужимает информацию, т.к. предназначался для проигрывания анимации в сети.

Вот посмотри ещё эту тему.

Gluk wrote:
а еще лучше помимо этого ссылку на подробное описание формата (на русском языке), я что-то ничего толкового не нашел (при, честно говоря, не особо глубоком поиске)


Спецификация на English, на русском нет http://www.adobe.com/devnet/swf/pdf/swf_file_format_spec_v9.pdf
Если трудности с языком, то можешь поступить с ней как предлагает Mario.
На счёт лицензии если кто ещё сомневается http://otvety.google.ru/otvety/thread?tid=03f8ce81b28e5ec9


Top
   
PostPosted: Thu Aug 19, 2010 12:02 pm 
Offline

Joined: Tue Jun 24, 2008 11:12 pm
Posts: 64
Не понимаю почему формат, который предлагает Gluk нельзя сделать промежуточным при чтении SVG?


Top
   
PostPosted: Thu Aug 19, 2010 1:10 pm 
Offline
User avatar

Joined: Wed Jan 27, 2010 10:59 am
Posts: 269
А может тогда вместе с исходниками виджета хранить svg-файлы и при компиляции конвертировать их в формат, который предлагает Gluk? Тогда отредактировать такую графику не заставит труда (подойдет любой редактор работающий с SVG) и нужно будет всего лишь пересобрать виджет. Согласитесь это легче, чем делать свои редакторы векторной графики или возится с hex-редактором ;)

_________________
ушёл...


Top
   
PostPosted: Thu Aug 19, 2010 2:00 pm 
Offline
User avatar

Joined: Thu Mar 01, 2007 4:16 pm
Posts: 426
Nasarus истину глаголит.

..bw


Top
   
PostPosted: Thu Aug 19, 2010 6:16 pm 
Offline
User avatar

Joined: Mon Apr 16, 2007 6:38 pm
Posts: 1222
Sh@dy, почему нельзя? можно конечно, я подобным образом его раньше использовал для хтмл. а стандарт (будет) свободный (впрочем, с лицензией разберемся, но в рамках коос применять можно точно как угодно)

Nasarus, отличная идея) SVG как и исходный код достаточно человекопонятен, редакторов полно. Перегнать из SVG будет несложно (вся сложность в прочтении SVG программой-конвертером, в основном же это просто чтение тэгов, с учетом вложенности, конвертирование значений (слово red заменить на цвет, например), и учет вложенности тэгов (в нашем формате вложенности нет, объявив новый слой мы автоматически переходим на него, то же с группой)).

Остался мааааленький ньюанс - дописать саму спецификацию.. Предлагаю кандидаты в куски спецификации просто писать в эту тему, а я соберу в один файл/пост, когда будет что собирать

по повестке только два мнения, и то, разделившиеся.. хватит ли 256 видов объектов?
надо ли вводить разделение рисуемый объект/объявляемый (прямоугольник, эллипс, звезда, спираль, ... / слой, градиент, кисть, шрифт, ...) в виде номеров слева направо (0-256) и справа налево (256-0) соответственно. Это нужно только для тех, кто будет "рисовать" прямо в таком формате, но никак не мешает и остальным (конвертеру какая разница? ну цифорка и цифорка)

сам склоняюсь к тому, что в первом вопросе - хватит 255, во втором - можно и сделать, ввиду вышеописанного

_________________
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!


Top
   
PostPosted: Thu Aug 19, 2010 6:23 pm 
Offline
User avatar

Joined: Mon Apr 16, 2007 6:38 pm
Posts: 1222
Nasarus, кстати, почему только виджетов? никто не хочет векторных иконок на рабочий стол?) да и много где еще может пригодиться векторная графика (в тех же играх)

_________________
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!


Top
   
PostPosted: Thu Aug 19, 2010 7:06 pm 
Offline
User avatar

Joined: Sat Feb 20, 2010 1:27 pm
Posts: 41
Nasarus wrote:
А может тогда вместе с исходниками виджета хранить svg-файлы и при компиляции конвертировать их в формат, который предлагает Gluk?

Это уже потом, а сейчас речь совсем о другом. Тем более, что они собрались всё флэшем завешать.

А ведь на самом деле всё задумывалось совершенно не так.
Знаете ли вы о Microsoft HTML Application host http://ru.wikipedia.org/wiki/HTA?
Эта программа поставляется в дистрибутиве Windows (C:\Windows\system32\mshta.exe).
Она позволяет запускать HTML-файлы и создавать окна без наличия браузера.
Эту программу, к примеру, очень часто используют различные WPI-установщики.
Как-то раз меня посетила мысль: "А почему бы не найти этому другое применение".
Вот тогда я и вспомнил о реализации панелей в Колибри.
Сам по себе формат HTML очень гибкий и межет использоваться для чего угодно.
И действительно зачем создавать панель, а потом ещё её настраивать, если можно сделать саму панель файлом настройки?

В HTML-файле панели можно будет проставлять линки на HTML-файлы виджетов, вставлять "ваши любимые флэши", разрисовывать панели и виджеты векторной графикой в формате SVG, а также запускать бинарные программы с параметрами.
Всё что описано выше уже умеют файлы *.hta , от себя ещё добавил бы возможность работы по IPC и отключил к чертям java/VB и другие всевозможные скрипты. Также панель можно было бы сжать в архив целиком.

Как видите, в результате мы не получаем Python'овских(screenlets) или JavaScript'овых(windows sidepanel) панелей, никаких интерпретируемых скриптов.
"Думают" как и прежде бинарники на ассемблере, а данные хранятся в мультимедийных файлах, пусть и с HTML-разметкой.

P.S. Если кому охота посмотреть на *.hta файлы, добавляю свою демку. Правда, она процессор грузит, потому как на JavaScript'е.


Attachments:
улитка_Паскаля.zip [476 Bytes]
Downloaded 94 times

_________________
Теория и практика иногда сталкиваются. Когда это случается, теория проигрывает. Всегда.
Top
   
PostPosted: Thu Aug 19, 2010 8:09 pm 
Offline
User avatar

Joined: Tue May 08, 2007 12:44 am
Posts: 352
Gluk wrote:
по повестке только два мнения, и то, разделившиеся.. хватит ли 256 видов объектов?

Как-то раздумывал над аналогичной концепцией тегированного хранилища, и пришла идея выделить обязательные и необязательные компоненты. Скажем, для совместимости. Неизвестные необязательные компоненты могут быть пропущены старыми версиями, а если попадётся обязательный - ошибка. Само собой, каждый компонент должен иметь поле размера, чтобы его можно было обойти.

Первое, что приходит в голову - старший бит. Установлен - компонент обязательный, нет - необязательный. Получается 128 + 128. Не знаю, насколько это применимо к графике.

_________________
Delphi SDK for KolibriOS


Top
   
PostPosted: Thu Aug 19, 2010 8:40 pm 
Offline
ex Dron2004
User avatar

Joined: Sun Jul 18, 2010 12:44 pm
Posts: 67
Gluk wrote:
по повестке только два мнения, и то, разделившиеся.. хватит ли 256 видов объектов?

Ну, в крайнем случае, если 256 типов вдруг станет не хватать, то можно сделать так: значения от 0x00 до 0xFE будут обозначать объект определённого типа. Если же байт равен 0xFF, то это - "расширенный" (условно говоря) объект, и его тип задаётся следующим байтом/словом/двойным словом.

Например:
0x00 - линия
0x01 - кривая Безье
0x02 - прямоугольник
...
0xFE - звезда
0xFF 0x00 - спираль
0xFF 0x01 - ещё что-нибудь
...
и т.д.

Хотя, это, конечно, будут костыли (уж лучше сразу выделить под тип объекта слово, а не байт, если в этом есть необходимость)...


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 144 posts ]  Go to page Previous 1 2 3 4 510 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 6 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited