LINUX.ORG.RU

Как в chrome сделаны вкладки? Всмысле, как отрисовываются?


0

1

Эти вкладки очень клёво выглядят. Они целиком динамически рисуются или это манипуляция большим числом мелких картинок (типа «место пересечения элементов, где выделен правый», «место пересечения не выделеных элементов» - http://savepic.ru/4408495.jpg). Но оно ведь ещё анимируется, когда мышью водишь - плавно меняет яркость. Как это сделано? Я просто думаю, что если динамически рисовать это какими-нибудь хитрыми кривыми типа Безъе с анти-алиасингом, то это будет много ЦП, а если готовыми картинками манипулировать - то как освещённость плавно менять, да ещё на непрямоугольной, а хитро-плавной форме.

Кастуй megabaks'а - он в хромом что-то то ли патчил, то ли перерисовывал для создания квадратных табов.

kernelpanic ★★★★★
()

таб состоит из 3-х частей - лево, центр, право
для левой и правой части 2 картинки (png) - первая это собственно то что видно, вторая это *alpha* - силуэт первой, но просто залито белым.
видимо, как-то накладываются - отсюда наверное эти переходы «яркости», хз
то что залито белым в alpha не может быть прозрачным
рисуются табы с пересечением в, емнип, 7 пикселей
более подробно не скажу - не кодер
если хочешь раскурить, то тебе похоже надо покопаться в chromium-версия/chrome/browser/ui/gtk/tabs/*

megabaks ★★★★
()
Ответ на: комментарий от megabaks

Ну не принципиально - главное было ответить на вопрос математикой они это рисуют или картинками с альфа каналом.

Щас ещё осталось выяснить, как на C++ в Qt быстрее всего белую картинку с альфа-каналом раскрашивать (-;

kiverattes ★☆
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.