Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Ср сен 19, 2018 8:26 am

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




Начать новую тему  Ответить на тему  [ 29 сообщений ]  На страницу Пред. 1 2
Автор Сообщение
 Заголовок сообщения: Re: Смотрелка скинов под Windows
СообщениеДобавлено: Ср апр 11, 2018 12:42 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4523
DTP Editor
by veliant

Вложение:
dtp.png
dtp.png [ 22.03 КБ | 463 просмотра ]

Вложение:
DTP_Editor.7z [160.5 КБ]
17 скачиваний

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


Вернуться к началу
 Заголовок сообщения: Re: Смотрелка скинов под Windows
СообщениеДобавлено: Ср апр 11, 2018 9:43 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Ср апр 15, 2015 11:13 pm
Сообщения: 214
Ого!! Классно!)


Вернуться к началу
 Заголовок сообщения: Re: Смотрелка скинов под Windows
СообщениеДобавлено: Вт апр 17, 2018 1:26 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1364
Появилась реакция на кнопки закрытия и минимизации.
Теперь название скина выводится в заголовок.
Спойлер: Показать
Вложение:
skins_with_caption.PNG
skins_with_caption.PNG [ 75.84 КБ | 405 просмотров ]
Вложение:
skins_with_caption1.PNG
skins_with_caption1.PNG [ 82.88 КБ | 405 просмотров ]
Вложение:
sknview.7z [38.1 КБ]
16 скачиваний


Вернуться к началу
 Заголовок сообщения: Re: Смотрелка скинов под Windows
СообщениеДобавлено: Вт апр 17, 2018 1:54 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4523
Мм, жир. Идея с названием в заголовке отличная.

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


Вернуться к началу
 Заголовок сообщения: Re: Смотрелка скинов под Windows
СообщениеДобавлено: Вт апр 17, 2018 1:57 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4523
Мне кажется заголовок на пару пикселей выше чем в системе. Я сужу по win 3.11. Или мне кажется?

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


Вернуться к началу
 Заголовок сообщения: Re: Смотрелка скинов под Windows
СообщениеДобавлено: Вт апр 17, 2018 2:50 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1364
Leency, да, так и есть.
Спойлер: Показать
Вложение:
1.PNG
1.PNG [ 21.35 КБ | 391 просмотр ]
Только странно, что при этом позиция по горизонтали — верная, а не на 2 пикселя левее.
Функция dtext ожидает координаты в ebx
Код:
; ebx = output coordinates XXXXYYYY h
Вот код из DrawCaption
Код:
    movzx ebx, Skin.Margins.Left
    shl ebx, 16
    mov bx, Skin.Margins.Top
Я беру ровно значения из Skin.Margins, ничего от себя не прибавляя.
Для меня это больше похоже на баг с выводом заголовка в самой KolibriOS.
Ну а скины, возможно, потом стали просто "подгонять" лишь бы работало, не обращая внимания на возможный баг в системе.

Если это действительно баг — нужно править Margins в скинах или написать в документации, что реальные координаты Margins.Top на 2 пикселя ниже, первое сделать будет правильнее, хотя и дольше.


Вернуться к началу
 Заголовок сообщения: Re: Смотрелка скинов под Windows
СообщениеДобавлено: Вт апр 17, 2018 3:33 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4523
Я понял. Скорее всего это "костыль" в ядре добавленный после увеличения шрифта в заголовке, чтобы не фиксить сами скины.
Я бы этот костыль убрал.

P.S. Любой эмуль должен эмулировать также баги системы)

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


Вернуться к началу
 Заголовок сообщения: Re: Смотрелка скинов под Windows
СообщениеДобавлено: Вт апр 17, 2018 4:09 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1364
Leency писал(а):
Скорее всего это "костыль" в ядре добавленный после увеличения шрифта в заголовке
Возможно, что так. Или просто проблемы с расчётом координаты Top.
Смотрим вот тут: http://websvn.kolibrios.org/blame.php?r ... #line-2234
Фактически, формула примерно такая:
Код:
Top = (_skinh - _skinmargins.bottom - _skinmargins.top) / 2 + _skinmargins.top - 8
Причём, для некоторых скинов работает правильно
Спойлер: Показать
Вложение:
1.PNG
1.PNG [ 11.63 КБ | 383 просмотра ]
Для окна без скина http://websvn.kolibrios.org/blame.php?r ... #line-2250
Код:
5926    pathoswith    2250   mov     ebx, 80002h
В координату Top заранее заносится значение 2.
Leency писал(а):
P.S. Любой эмуль должен эмулировать также баги системы)
Тогда нужно постоянно следить за обновлениями в коде системы — баги могут когда-то и пофиксить.


Вернуться к началу
 Заголовок сообщения: Re: Смотрелка скинов под Windows
СообщениеДобавлено: Вт апр 17, 2018 8:46 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4523
0CodErr
Выделение кнопки скошено на углах http://prntscr.com/j6jawa по 1 пикселю.
В оригинале там прямоугольник.

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


Вернуться к началу
 Заголовок сообщения: Re: Смотрелка скинов под Windows
СообщениеДобавлено: Вт апр 17, 2018 9:04 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4523
Обнови плиз иконку. Там в 16х16 правый верхний угол был не прозрачным http://prntscr.com/j6jla4
Ну и битность понизил до 256 цветов, иконка стала чуть легче.


Вложения:
skin.zip [1.19 КБ]
14 скачиваний

_________________
Через тернии к звездам
Вернуться к началу
 Заголовок сообщения: Re: Смотрелка скинов под Windows
СообщениеДобавлено: Вт апр 17, 2018 10:25 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1364
Leency писал(а):
Обнови плиз иконку.
Обновил
Вложение:
sknview.7z [37.95 КБ]
14 скачиваний
Leency писал(а):
иконка стала чуть легче
Не так уж и принципиально по сравнению с размером программы :) Там, кстати, в этом файле не 1 иконка, а целых 3
Спойлер: Показать
Вложение:
2.PNG
2.PNG [ 3.8 КБ | 360 просмотров ]
Одна иконка 16x16 весила бы чуть больше 1 Kb.


Вернуться к началу
 Заголовок сообщения: Re: Смотрелка скинов под Windows
СообщениеДобавлено: Ср апр 18, 2018 1:53 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1364
Leency писал(а):
Мне кажется заголовок на пару пикселей выше чем в системе. Я сужу по win 3.11. Или мне кажется?
Кстати, внезапно, http://websvn.kolibrios.org/filedetails ... asm#line-5
Код:
  margins         = [5:1:44:1],\                            ; margins [left:top:right:bottom]
Ядерная формула, видимо пытается как-то разрешить такую ситуацию, но, имхо, проблема всё же в скине.


Вернуться к началу
 Заголовок сообщения: Re: Смотрелка скинов под Windows
СообщениеДобавлено: Ср апр 18, 2018 2:01 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1364
Хотя, если bottom — количество пикселей от нижнего края заголовка(а не от верхнего), то похоже мне просто нужно было учитывать bottom при расчёте, а я учитывал только Top. Тогда в ядре, наверное, правильно сделано.


Вернуться к началу
 Заголовок сообщения: Re: Смотрелка скинов под Windows
СообщениеДобавлено: Ср апр 18, 2018 2:11 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1364
Теперь верхняя координата считается вот так:
Код:
CaptionTop := (LongInt(Skin.Height) - Skin.Margins.Bottom - Skin.Margins.Top) Div 2 + Skin.Margins.Top - 8;
Вложение:
sknview.7z [38.01 КБ]
16 скачиваний


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

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


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

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


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

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