Board.KolibriOS.org

Official KolibriOS board
It is currently Wed May 22, 2019 12:00 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 63 posts ]  Go to page Previous 1 2 3 4 5 Next
Author Message
 Post subject: Re: SysFn 4
PostPosted: Tue Mar 12, 2013 11:02 pm 
Offline
Public Relations
User avatar

Joined: Mon Jun 07, 2010 12:01 pm
Posts: 1879
SoUrcerer wrote:
SysFn4, что самое паршивое, считает размеры этой самой выводимой строки. Это обидно. Считать-считает, а вывести некуда. Или затирать данные.
Но она-то их считает только для моноширинных шрифтов, верно? А если шрифт переменной ширины, то как ты этой функции передашь ширину букв или что?


Top
   
 Post subject: Re: SysFn 4
PostPosted: Tue Mar 12, 2013 11:04 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Mario wrote:
Lrz wrote:

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


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


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

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


Top
   
 Post subject: Re: SysFn 4
PostPosted: Tue Mar 12, 2013 11:06 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Fri Jun 30, 2006 9:01 am
Posts: 1247
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


Top
   
 Post subject: Re: SysFn 4
PostPosted: Tue Mar 12, 2013 11:07 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
hindplayr, +1. I think that topic is exhausted :)


Top
   
 Post subject: Re: SysFn 4
PostPosted: Tue Mar 12, 2013 11:08 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Quote:
* Y=Cnnn (биты):
* C=1 перенаправить вывод в область пользователя, задано в edi
* nnn - не используется в текущем виде, должно быть 0 (zero)

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

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

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


Top
   
 Post subject: Re: SysFn 4
PostPosted: Tue Mar 12, 2013 11:10 pm 
Offline

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


Top
   
 Post subject: Re: SysFn 4
PostPosted: Tue Mar 12, 2013 11:12 pm 
Offline
Public Relations
User avatar

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


Top
   
 Post subject: Re: SysFn 4
PostPosted: Tue Mar 12, 2013 11:12 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
SoUrcerer wrote:
В трех битах можно определить новую подфункцию, но это будет нелогично.

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

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


Top
   
 Post subject: Re: SysFn 4
PostPosted: Tue Mar 12, 2013 11:14 pm 
Offline
User avatar

Joined: Tue May 08, 2007 12:44 am
Posts: 346
Мне кажется, что возврат значения в ESI или EDI, о чем говорилось в чате -- нарушение соглашения вызова mcall. Нужно делать или отдельную функцию, или подфункцию для получения длины.

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

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


Top
   
 Post subject: Re: SysFn 4
PostPosted: Tue Mar 12, 2013 11:17 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Возвращать в ESI/EDI, действительно, бессмысленно.

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


Top
   
 Post subject: Re: SysFn 4
PostPosted: Tue Mar 12, 2013 11:19 pm 
Offline
Designer
User avatar

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

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


Top
   
 Post subject: Re: SysFn 4
PostPosted: Tue Mar 12, 2013 11:20 pm 
Offline
Kernel Developer

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

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

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


Top
   
 Post subject: Re: SysFn 4
PostPosted: Tue Mar 12, 2013 11:22 pm 
Offline
Kernel Developer

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

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


Top
   
 Post subject: Re: SysFn 4
PostPosted: Tue Mar 12, 2013 11:26 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5047
Стандарты Маратушки все ломают автосборку, а он пушистик.
Spoiler: Show
Attachment:
03.03.2013-v1-625x416.png
03.03.2013-v1-625x416.png [ 129.05 KiB | Viewed 2211 times ]

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


Top
   
 Post subject: Re: SysFn 4
PostPosted: Tue Mar 12, 2013 11:35 pm 
Offline

Joined: Tue Oct 05, 2010 6:05 pm
Posts: 214
Offtopic: А правила на форуме уже действуют? Или пока что нет и обиженным можно материться?


Last edited by lev on Tue Mar 12, 2013 11:35 pm, edited 1 time in total.

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

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


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