Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Сб апр 29, 2017 2:40 am

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




Начать новую тему  Ответить на тему  [ 8 сообщений ] 
Автор Сообщение
 Заголовок сообщения: Поверх всех окон и позади всех
СообщениеДобавлено: Пн окт 05, 2015 10:00 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн ноя 19, 2012 5:22 pm
Сообщения: 429
Добавил новую функцию в ядро - позволяет сделать окно поверх всех, позади всех или на уровне рабочего стола(это значит позади тех, кто позади всех :) ) .

18.25.1 - получить Z-модификатор
18.25.2 - установить Z-модификатор
edx = -1(для текущего потока) или TID
esi (для ecx = 2) = значение для Z-модификатора
Возвращает: eax=0(fail),1(success) если устанавливали новый Z-модификатор
или eax = текущее значение.

ZPOS_NORMAL = 0 это как все
ZPOS_ALWAYS_BACK = 1 позади всех
ZPOS_DESKTOP = 2 на уровне рабочего стола(это специально для icon если что... или уже desktop будет?)
ZPOS_ALWAYS_TOP = 3 поверх всех


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


Вложения:
window.ZIP [1.72 КБ]
29 скачиваний
kolibri.zip [931.96 КБ]
31 скачивание
KERNEL.ZIP [88.69 КБ]
31 скачивание

_________________
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
Вернуться к началу
 Заголовок сообщения: Re: Поверх всех окон и позади всех
СообщениеДобавлено: Пн окт 05, 2015 11:53 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Ср апр 15, 2015 11:13 pm
Сообщения: 156
идея хороша, правда не тестил, но можно будет так виджеты делать и диспечер задач по верх окон.


Вернуться к началу
 Заголовок сообщения: Re: Поверх всех окон и позади всех
СообщениеДобавлено: Пт окт 23, 2015 12:15 am 
Не в сети
Аватара пользователя

Зарегистрирован: Сб окт 05, 2013 9:32 pm
Сообщения: 385
Эти функции слиты с репозиторием? Они очень важны, нужны по крайней мере для двух моих программ


Вернуться к началу
 Заголовок сообщения: Re: Поверх всех окон и позади всех
СообщениеДобавлено: Пт окт 23, 2015 8:46 am 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1125
Редакция 5836


Вернуться к началу
 Заголовок сообщения: Re: Поверх всех окон и позади всех
СообщениеДобавлено: Вс окт 25, 2015 4:14 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пн ноя 19, 2012 5:22 pm
Сообщения: 429
Будьте готовы, что значения констант ZPOS_ALWAYS_BACK, ... изменится на другие цифры. Будут значения от -2 до 1 и уже в логическом порядке, то есть окна с -2 будут позади окон с -1. При такой нумерации проще код в ядре получается. Пока что есть мелкий баг с выскакиванием окна, которое позади всех, но он не часто происходит. Ну и перерисовки лишние есть, из-за них и делаю эту перенумерацию. Короче, использовать можно :) Доделаю - залью новую нумерацию и исправление бага и меньшей перерисовки.

_________________
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!


Вернуться к началу
 Заголовок сообщения: Re: Поверх всех окон и позади всех
СообщениеДобавлено: Вс окт 25, 2015 4:16 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пн ноя 19, 2012 5:22 pm
Сообщения: 429
Ещё notify надо будет сделать таким, чтоб фокус на себя не забирал. А то мешается. Пусть делает себя поверх всех и возвращает фокус у кого был.

_________________
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!


Вернуться к началу
 Заголовок сообщения: Re: Поверх всех окон и позади всех
СообщениеДобавлено: Вт окт 27, 2015 11:34 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн ноя 19, 2012 5:22 pm
Сообщения: 429
Всё, значения констант изменены как и обещал, смотрите документацию. Теперь это можно использовать. Осталась лишняя перерисовка, но там не сложно, скоро будет.

_________________
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!


Вернуться к началу
 Заголовок сообщения: Re: Поверх всех окон и позади всех
СообщениеДобавлено: Чт окт 29, 2015 4:08 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Сб окт 05, 2013 9:32 pm
Сообщения: 385
GerdtR писал(а):
Ещё notify надо будет сделать таким, чтоб фокус на себя не забирал. А то мешается. Пусть делает себя поверх всех и возвращает фокус у кого был.

сделаю на днях


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 8 сообщений ] 

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


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

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


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

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