Board.KolibriOS.org

Official KolibriOS board
It is currently Mon May 20, 2019 5:56 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 8 posts ] 
Author Message
PostPosted: Mon Oct 05, 2015 10:00 pm 
Offline
User avatar

Joined: Mon Nov 19, 2012 5:22 pm
Posts: 455
Добавил новую функцию в ядро - позволяет сделать окно поверх всех, позади всех или на уровне рабочего стола(это значит позади тех, кто позади всех :) ) .

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 прав оказался, но тот стек в карте не указан.
Прилагаю ядро, рабочий образ, и программка, которая умеет становить поверх всех или позади (и её исходники).


Attachments:
window.ZIP [1.72 KiB]
Downloaded 101 times
kolibri.zip [931.96 KiB]
Downloaded 100 times
KERNEL.ZIP [88.69 KiB]
Downloaded 100 times

_________________
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
Top
   
PostPosted: Mon Oct 05, 2015 11:53 pm 
Offline
User avatar

Joined: Wed Apr 15, 2015 11:13 pm
Posts: 253
идея хороша, правда не тестил, но можно будет так виджеты делать и диспечер задач по верх окон.


Top
   
PostPosted: Fri Oct 23, 2015 12:15 am 
Offline
User avatar

Joined: Sat Oct 05, 2013 9:32 pm
Posts: 386
Эти функции слиты с репозиторием? Они очень важны, нужны по крайней мере для двух моих программ


Top
   
PostPosted: Fri Oct 23, 2015 8:46 am 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1262
Редакция 5836


Top
   
PostPosted: Sun Oct 25, 2015 4:14 am 
Offline
User avatar

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

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


Top
   
PostPosted: Sun Oct 25, 2015 4:16 am 
Offline
User avatar

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

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


Top
   
PostPosted: Tue Oct 27, 2015 11:34 pm 
Offline
User avatar

Joined: Mon Nov 19, 2012 5:22 pm
Posts: 455
Всё, значения констант изменены как и обещал, смотрите документацию. Теперь это можно использовать. Осталась лишняя перерисовка, но там не сложно, скоро будет.

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


Top
   
PostPosted: Thu Oct 29, 2015 4:08 pm 
Offline
User avatar

Joined: Sat Oct 05, 2013 9:32 pm
Posts: 386
GerdtR wrote:
Ещё notify надо будет сделать таким, чтоб фокус на себя не забирал. А то мешается. Пусть делает себя поверх всех и возвращает фокус у кого был.

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


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 8 posts ] 

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 2 guests


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:  
cron
Powered by phpBB® Forum Software © phpBB Limited