Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вт дек 12, 2017 1:18 pm

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




Начать новую тему  Ответить на тему  [ 22 сообщения ]  На страницу 1 2 След.
Автор Сообщение
 Заголовок сообщения: SysFn73:Blit
СообщениеДобавлено: Пт ноя 11, 2016 12:51 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1082
Сейчас, как я понимаю, эта функция использует координаты только относительно окна, а не клиентской области. Может стоит это поправить?


Вернуться к началу
 Заголовок сообщения: Re: SysFn73:Blit
СообщениеДобавлено: Пт ноя 11, 2016 3:46 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1601
SoUrcerer с расстояния в 4 года передаёт привет: viewtopic.php?p=42090#p42090

_________________
Сделаем мир лучше!


Вернуться к началу
 Заголовок сообщения: Re: SysFn73:Blit
СообщениеДобавлено: Сб ноя 26, 2016 2:54 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1082
Странно, что за 4 года никто не взялся поправить. Это вообще реально сделать? Или там не всё так просто?


Вернуться к началу
 Заголовок сообщения: Re: SysFn73:Blit
СообщениеДобавлено: Сб ноя 26, 2016 4:59 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1195
А почему сейчас тебя не волнует совместимость? В винде есть баги, которые никто не пытается исправлять именно из-за того, что это может сломать совместимость. Вот и здесь такой же вопрос.


Вернуться к началу
 Заголовок сообщения: Re: SysFn73:Blit
СообщениеДобавлено: Сб ноя 26, 2016 5:13 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Пт июн 30, 2006 9:01 am
Сообщения: 1232
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.

_________________
"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: SysFn73:Blit
СообщениеДобавлено: Сб ноя 26, 2016 8:16 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1082
Pathoswithin писал(а):
Вот и здесь такой же вопрос.
Нет, не такой же. Эта функция сначала была создана для использования в fplay, а там рисуется относительно окна, а не клиентской области. Или ты знаешь ещё какие-то приложения, использующие Blit? Если да, то можешь составить их список, и я с удовольствием пофикшу, если что-то там вдруг сломается.

Pathoswithin писал(а):
А почему сейчас тебя не волнует совместимость?
Как раз волнует. При рисовании окна указывается флаг, рисовать ли относительно клиентской области. Все графические функции это учитывают. После появления Blit, эта функция стала единственной, которая не учитывает этот флаг.


Вернуться к началу
 Заголовок сообщения: Re: SysFn73:Blit
СообщениеДобавлено: Сб ноя 26, 2016 9:16 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3929
73-я проектировалась как низкоуровневая функция для случаев, когда окно полностью рисует себя в текстуру. В таком варианте ф73 заменяет аппаратный блиттер если его нет.
Если посмотреть на описание
Код:
Parameters:
  * eax = 73 - function number

  * ebx = ROP and optional flags
     31           6 5  4 3   0
     [  reserved  ][T][B][ROP]
     ROP - raster operation code
        0: Copy
     1-15: reserved
     B   - blit into the background surface
     T   - transparent blit
в регистре ebx есть свободные биты для флагов.


Вернуться к началу
 Заголовок сообщения: Re: SysFn73:Blit
СообщениеДобавлено: Сб ноя 26, 2016 9:42 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1082
Serge, а нельзя разве сделать, чтобы оно как-нибудь проверяло WDATA.fl_wstyle на WSTYLE_CLIENTRELATIVE ?


Вернуться к началу
 Заголовок сообщения: Re: SysFn73:Blit
СообщениеДобавлено: Сб ноя 26, 2016 9:50 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3929
0CodErr
Это точно поломает совместимость если не использовать зарезервированный флаг в ebx


Вернуться к началу
 Заголовок сообщения: Re: SysFn73:Blit
СообщениеДобавлено: Сб ноя 26, 2016 10:00 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1082
Serge, а где конкретно поломает? Просто в приложениях(которых и не так много) гораздо проще исправить. Я бы это мог сделать.


Вернуться к началу
 Заголовок сообщения: Re: SysFn73:Blit
СообщениеДобавлено: Сб ноя 26, 2016 10:09 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3929
Цитата:
Просто в приложениях(которых и не так много) гораздо проще исправить.

А нафига исправлять то, что работает ? Почему всех так тянет сломать совместимость ? Прямо заразная болезнь. Добавь ещё один битовый флаг к ebx и всё. Они специально для таких случаев зарезервированы.


Вернуться к началу
 Заголовок сообщения: Re: SysFn73:Blit
СообщениеДобавлено: Сб ноя 26, 2016 10:16 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1082
Добавить флаг, это не проблема. Я просто не знаю ни одного приложения, которое может сломаться из-за этого. И ты не говоришь, какие сломаются :)


Вернуться к началу
 Заголовок сообщения: Re: SysFn73:Blit
СообщениеДобавлено: Сб ноя 26, 2016 10:26 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1195
Serge
Потому что до версии КОС 1.0 можно и нужно исправлять то, что ещё не поздно исправить. Действительно, было бы неплохо прикинуть, сколько приложений сломается. Но тут нужны информаторы.


Вернуться к началу
 Заголовок сообщения: Re: SysFn73:Blit
СообщениеДобавлено: Сб ноя 26, 2016 10:35 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1082
Так, ну судя по viewtopic.php?p=42090#p42090 uPDF может сломаться.
В принципе флаг, это может быть скорее дополнительная фича функции. Но желательно, чтобы функция вела себя так же, как и другие графические функции, то есть, учитывала WDATA.fl_wstyle


Вернуться к началу
 Заголовок сообщения: Re: SysFn73:Blit
СообщениеДобавлено: Сб ноя 26, 2016 10:57 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3929
Pathoswithin
Версия 1.0 давно пройдена, если считать что она подразумевала usb и сетевой стек. В любом случае это просто цифры. Если хочется относительные координаты добавьте битовый флаг в регистр ebx. Зачем править то, что не сломано ? Откуда это маниакальное стремление регулярно наступать на грабли.
0CodErr
Эта не обычная графическая функция.
Если тебе нужны относительные координаты добавь флаг.


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

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


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

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


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

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