Board.KolibriOS.org http://board.kolibrios.org/ |
|
SysFn73:Blit http://board.kolibrios.org/viewtopic.php?f=2&t=3427 |
Page 1 of 2 |
Author: | 0CodErr [ Fri Nov 11, 2016 12:51 pm ] |
Post subject: | SysFn73:Blit |
Сейчас, как я понимаю, эта функция использует координаты только относительно окна, а не клиентской области. Может стоит это поправить? |
Author: | CleverMouse [ Fri Nov 11, 2016 3:46 pm ] |
Post subject: | Re: SysFn73:Blit |
SoUrcerer с расстояния в 4 года передаёт привет: viewtopic.php?p=42090#p42090 |
Author: | 0CodErr [ Sat Nov 26, 2016 2:54 pm ] |
Post subject: | Re: SysFn73:Blit |
Странно, что за 4 года никто не взялся поправить. Это вообще реально сделать? Или там не всё так просто? |
Author: | Pathoswithin [ Sat Nov 26, 2016 4:59 pm ] |
Post subject: | Re: SysFn73:Blit |
А почему сейчас тебя не волнует совместимость? В винде есть баги, которые никто не пытается исправлять именно из-за того, что это может сломать совместимость. Вот и здесь такой же вопрос. |
Author: | hidnplayr [ Sat Nov 26, 2016 5:13 pm ] |
Post subject: | Re: SysFn73:Blit |
Coordinates relative to 'the window' are a bad idea IMHO. Application should only be able to draw inside 'the client area' and have relative coordinates for that. |
Author: | 0CodErr [ Sat Nov 26, 2016 8:16 pm ] |
Post subject: | Re: SysFn73:Blit |
Pathoswithin wrote: Вот и здесь такой же вопрос. Нет, не такой же. Эта функция сначала была создана для использования в fplay, а там рисуется относительно окна, а не клиентской области. Или ты знаешь ещё какие-то приложения, использующие Blit? Если да, то можешь составить их список, и я с удовольствием пофикшу, если что-то там вдруг сломается.Pathoswithin wrote: А почему сейчас тебя не волнует совместимость? Как раз волнует. При рисовании окна указывается флаг, рисовать ли относительно клиентской области. Все графические функции это учитывают. После появления Blit, эта функция стала единственной, которая не учитывает этот флаг.
|
Author: | Serge [ Sat Nov 26, 2016 9:16 pm ] |
Post subject: | Re: SysFn73:Blit |
73-я проектировалась как низкоуровневая функция для случаев, когда окно полностью рисует себя в текстуру. В таком варианте ф73 заменяет аппаратный блиттер если его нет. Если посмотреть на описание Code: Parameters:в регистре ebx есть свободные биты для флагов. |
Author: | 0CodErr [ Sat Nov 26, 2016 9:42 pm ] |
Post subject: | Re: SysFn73:Blit |
Serge, а нельзя разве сделать, чтобы оно как-нибудь проверяло WDATA.fl_wstyle на WSTYLE_CLIENTRELATIVE ? |
Author: | Serge [ Sat Nov 26, 2016 9:50 pm ] |
Post subject: | Re: SysFn73:Blit |
0CodErr Это точно поломает совместимость если не использовать зарезервированный флаг в ebx |
Author: | 0CodErr [ Sat Nov 26, 2016 10:00 pm ] |
Post subject: | Re: SysFn73:Blit |
Serge, а где конкретно поломает? Просто в приложениях(которых и не так много) гораздо проще исправить. Я бы это мог сделать. |
Author: | Serge [ Sat Nov 26, 2016 10:09 pm ] |
Post subject: | Re: SysFn73:Blit |
Quote: Просто в приложениях(которых и не так много) гораздо проще исправить. А нафига исправлять то, что работает ? Почему всех так тянет сломать совместимость ? Прямо заразная болезнь. Добавь ещё один битовый флаг к ebx и всё. Они специально для таких случаев зарезервированы. |
Author: | 0CodErr [ Sat Nov 26, 2016 10:16 pm ] |
Post subject: | Re: SysFn73:Blit |
Добавить флаг, это не проблема. Я просто не знаю ни одного приложения, которое может сломаться из-за этого. И ты не говоришь, какие сломаются ![]() |
Author: | Pathoswithin [ Sat Nov 26, 2016 10:26 pm ] |
Post subject: | Re: SysFn73:Blit |
Serge Потому что до версии КОС 1.0 можно и нужно исправлять то, что ещё не поздно исправить. Действительно, было бы неплохо прикинуть, сколько приложений сломается. Но тут нужны информаторы. |
Author: | 0CodErr [ Sat Nov 26, 2016 10:35 pm ] |
Post subject: | Re: SysFn73:Blit |
Так, ну судя по viewtopic.php?p=42090#p42090 uPDF может сломаться. В принципе флаг, это может быть скорее дополнительная фича функции. Но желательно, чтобы функция вела себя так же, как и другие графические функции, то есть, учитывала WDATA.fl_wstyle |
Author: | Serge [ Sat Nov 26, 2016 10:57 pm ] |
Post subject: | Re: SysFn73:Blit |
Pathoswithin Версия 1.0 давно пройдена, если считать что она подразумевала usb и сетевой стек. В любом случае это просто цифры. Если хочется относительные координаты добавьте битовый флаг в регистр ebx. Зачем править то, что не сломано ? Откуда это маниакальное стремление регулярно наступать на грабли. 0CodErr Эта не обычная графическая функция. Если тебе нужны относительные координаты добавь флаг. |
Page 1 of 2 | All times are UTC+03:00 |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |