А мне не нравится, люблю отзывчивый интерфейс, где при нажатии на кнопку действие проиходит моментально. А тут пока будет сворачиваться — можно чай идти заваривать…
:) Верно. В Маке все иначе. Насколько мне известно, по краям сворачиваемого окошка они делают сглаживание, чтобы сделать отличную работу еще лучше. Но, к сожалению, у меня нет мака, чтобы увидеть эту красоту своими глазами :).
Да. Она, кстати, и в предпоследнем была: ставите UIElement'у свойство Opacity=0.5, и получаете полупрозрачный UIElement :). Более того, можно задавать сложные маски [не]прозрачности, при помощи OpacityMask.
Так это ж Silverlight. Это в браузере все! Да и написано всего одним человеком. Первая версия. Напустить на это по очереди пятерых программистов, желающих сделать еще лучше, и получится совсем конфетка :)
Вот, что из этого получилось: демо (потягайте зеленый квадратик-лампу, нажмите Help). Для правильной работы демки вам понадобится… Silverlight 3 beta — справа ссылка на установку необходимого рантайма.
Поменяйте предложения местами, а то у меня 2 раза крешнулся ФФ и три раза скачался и установился силверлайт2.0
Джин — это напиток, он на меня оказывает совершенно иной эффект — его вряд ли можно описать как «эффект сворачивающегося окошка в Mac OS».
Вы видимо хотели сказать «джинна»?
Конечно, решить задачу можно многими способами. Все зависит от того, в каких условиях вы находитесь, и каким потенциалом серого вещества обладаете. В Silverlight'e мне не известны лучшие способы деформировать визуальное представление объекта, чем воспользоваться шейдерами.
Можно было бы взять WritableBitmap, сфотографировать содержимое UI элемента, и проводить рассчеты над массивом пикселей. Но этот подход мне не нравится в силу ряда причин:
1. Вычисления проводит CPU, вместо GPU. Окей. Я юлю. В бета версии шейдеры тоже выполняются центральным процессором. Но с выходом релиза, эту работу возьмет на себя видео карточка.
2. Теряется динамика. Эффект можно применить к проигрываемому видео файлу, и он будет работать. В то время, как для WritableBitmap'a нам пришлось бы снимать каждый кадр видео.
3. Изобретается велосипед, который, к сожалению, уже изобретен и, может быть, даже запатентован. Подход с WritableBitmap'ом был бы братом близнецом шейдерного подхода, просто на новом уровне абстракции.
У меня вариантов нет, т.к. 3д графикой не занимаюсь, но точно знаю, что такие эффекты в том же компизе работают и на карточках вообще без шейдеров, даже первых. Причём судя по плавности анимации, и минимуме загрузки ЦП, выполняет это дело как раз GPU.
ИМХО, подобные трансформации силами GPU были возможны задолго до шейдеров.
Вот еще интересная закономерность (скажу, рискуя кармой): стоит посту попасть на главную, как карма автора идет вниз. Наверное, это цена за видимость :)…
Шейдеры и немного магии