Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Ср июл 26, 2017 9:39 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 42 сообщения ]  На страницу Пред. 1 2 3 След.
Автор Сообщение
 Заголовок сообщения: Re: SysFn 4
СообщениеДобавлено: Вт мар 12, 2013 11:02 pm 
Не в сети
Public Relations
Аватара пользователя

Зарегистрирован: Пн июн 07, 2010 12:01 pm
Сообщения: 1879
SoUrcerer писал(а):
SysFn4, что самое паршивое, считает размеры этой самой выводимой строки. Это обидно. Считать-считает, а вывести некуда. Или затирать данные.
Но она-то их считает только для моноширинных шрифтов, верно? А если шрифт переменной ширины, то как ты этой функции передашь ширину букв или что?


Вернуться к началу
 Заголовок сообщения: Re: SysFn 4
СообщениеДобавлено: Вт мар 12, 2013 11:04 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Mario писал(а):
Lrz писал(а):

б) Шрифт может выводиться и без фона. В этом случае формировать его как картинку в памяти не очень выгодно, хотя и можно. Для отрисовки шрифта без фона программа или библиотека должна выводить/накладывать шрифт попиксельно.


Все это очень замечательно, когда все происходит на уроне ядра, где нет переходов с Ring0 на Ring3. При взаимодействии же ядра и приложения каждая точка вызывается int 0x40, что не есть правильно с точки зрения производительности.


Вот такие дела, та же самая фигня, что и в ttf-выводе, была в font library. Значит, эта библиотека не может быть использована в браузере и многих других программах, к сожалению.
Ладно, я считаю, что вопрос себя исчерпал, а тему можно закрывать. Это "не нужно".

yogev, а как, по-твоему, функция выводит не-моноширинный текст, а? :) Для каждой буквы рассчитываются её координаты. В конце концов мы получаем координаты конечной буквы, мы знаем её ширину, и знаем, с какой точки отрисовка началась...


Вернуться к началу
 Заголовок сообщения: Re: SysFn 4
СообщениеДобавлено: Вт мар 12, 2013 11:06 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Пт июн 30, 2006 9:01 am
Сообщения: 1211
I think the Fancy fonts should not be inside the kernel, but in a library.

_________________
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein


Вернуться к началу
 Заголовок сообщения: Re: SysFn 4
СообщениеДобавлено: Вт мар 12, 2013 11:07 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
hindplayr, +1. I think that topic is exhausted :)


Вернуться к началу
 Заголовок сообщения: Re: SysFn 4
СообщениеДобавлено: Вт мар 12, 2013 11:08 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
Цитата:
* Y=Cnnn (биты):
* C=1 перенаправить вывод в область пользователя, задано в edi
* nnn - не используется в текущем виде, должно быть 0 (zero)

Религия запрещает использовать?

Единственно ICON не сможет новые шрифты использовать, так как отрисовывает их поверх области иконки и лишь потом выводит изображение.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
 Заголовок сообщения: Re: SysFn 4
СообщениеДобавлено: Вт мар 12, 2013 11:10 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
В трех битах нельзя вернуть данные. В трех битах можно определить новую подфункцию, но это будет нелогично. В общем, нафиг всё, даешь библиотеку.


Вернуться к началу
 Заголовок сообщения: Re: SysFn 4
СообщениеДобавлено: Вт мар 12, 2013 11:12 pm 
Не в сети
Public Relations
Аватара пользователя

Зарегистрирован: Пн июн 07, 2010 12:01 pm
Сообщения: 1879
SoUrcerer писал(а):
В трех битах нельзя вернуть данные. В трех битах можно определить новую подфункцию, но это будет нелогично. В общем, нафиг всё, даешь библиотеку.
Так используй MMX регистры. Целых 64 бита, чо.


Вернуться к началу
 Заголовок сообщения: Re: SysFn 4
СообщениеДобавлено: Вт мар 12, 2013 11:12 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
SoUrcerer писал(а):
В трех битах можно определить новую подфункцию, но это будет нелогично.

Почему нелогично? Мне вот религия не помешала так сделать, когда было нужно "впихнуть невпихуемое".

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
 Заголовок сообщения: Re: SysFn 4
СообщениеДобавлено: Вт мар 12, 2013 11:14 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Вт май 08, 2007 12:44 am
Сообщения: 340
Мне кажется, что возврат значения в ESI или EDI, о чем говорилось в чате -- нарушение соглашения вызова mcall. Нужно делать или отдельную функцию, или подфункцию для получения длины.

SoUrcerer, напиши, что предлагается сделать. К примеру:
  • Y=CnnA (биты):
    • A=1 вернуть размер строки в пикселях в eax [размер по оси x]*65536 + [размер по оси y]
    • C=1 перенаправить вывод в область пользователя, задано в edi
    • nn - не используется в текущем виде, должно быть 0 (zero)

_________________
Разработчик языка программирования Кантор


Вернуться к началу
 Заголовок сообщения: Re: SysFn 4
СообщениеДобавлено: Вт мар 12, 2013 11:17 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Возвращать в ESI/EDI, действительно, бессмысленно.

Если кому-то нужны шрифты 16x8 (моноширинный), 16x12 (немоноширинный) и возможность считать длину не-моноширинных шрифтов в ядре (с возвратом в eax) - обращайтесь.
Внимание, это займет дополнительные 10 кб в памяти, и никому не нужно, потому что никто не будет переписывать существующие программы под новые шрифты.


Вернуться к началу
 Заголовок сообщения: Re: SysFn 4
СообщениеДобавлено: Вт мар 12, 2013 11:19 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4092
В общем ясно, что снова всё накрылось. Похуй, что реализовать определение длинны строки просто как 2 пальца обоссать и уже браузер стал бы читабельнее за счёт использования char2, как и другие программы. Но нет, мы будем ждать очередную новую феерическую библиотеку и ещё 7 лет ебаться с этими шрифтами 8х5.

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: SysFn 4
СообщениеДобавлено: Вт мар 12, 2013 11:20 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
SoUrcerer писал(а):
Внимание, это займет дополнительные 10 кб в памяти, и никому не нужно, потому что никто не будет переписывать существующие программы под новые шрифты.

Это почему? Я вот при проектировании FileBrowser компонента Box_Lib постарался учесть будущие подвижки и оставил резервные поля.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
 Заголовок сообщения: Re: SysFn 4
СообщениеДобавлено: Вт мар 12, 2013 11:22 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
Ну, конечно Кириллу плевать на стандарты вообще -дальше хоть трава не расти.
Спойлер: Показать
"Что с меня взять? Я же только дизайнер. Починяйте давайте автосборку!"

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
 Заголовок сообщения: Re: SysFn 4
СообщениеДобавлено: Вт мар 12, 2013 11:26 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4092
Стандарты Маратушки все ломают автосборку, а он пушистик.
Спойлер: Показать
Вложение:
03.03.2013-v1-625x416.png
03.03.2013-v1-625x416.png [ 129.05 КБ | 1413 просмотров ]

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: SysFn 4
СообщениеДобавлено: Вт мар 12, 2013 11:35 pm 
Не в сети

Зарегистрирован: Вт окт 05, 2010 6:05 pm
Сообщения: 176
Оффтопик: А правила на форуме уже действуют? Или пока что нет и обиженным можно материться?


Последний раз редактировалось lev Вт мар 12, 2013 11:35 pm, всего редактировалось 1 раз.

Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 42 сообщения ]  На страницу Пред. 1 2 3 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB