Поломали ClearType в 0.9.28[.2]?
Модератор: Модераторы
Поломали ClearType в 0.9.28[.2]?
Похоже, в последнем релизе (0.9.28[.2]) каким-то образом поломали ClearType в некоторых компонентах - например, в TBitBtn. В аттаче приложены два скриншота, увеличенные в пять раз - один от стандартной функции Windows.MessageBox, другой - от Application.MessageBox. Если посмотреть на текст (нужно открыть вложение), то видно, что вокруг обычного текста есть цветные линии (субпиксельное сглаживание), а на кнопках Lazarus'а эти линии серые. В результате текст таких кнопок на LCD-мониторе (на моём, по крайней мере) выглядит нерезким, размытым по сравнению с обычным текстом.
Наверное, надо тоже занести в баг-трекер?.. Или это так задумывалось зачем-то?..
Наверное, надо тоже занести в баг-трекер?.. Или это так задумывалось зачем-то?..
У вас нет необходимых прав для просмотра вложений в этом сообщении.
У класса TFont появилось свойство Quality. Попробуйте с ним поиграть 
Спасибо, не знал про это свойство. Но не помогло: в какие бы значения я ни устанавливал Quality, даже в fqCleartype и fqCleartypeNatural, субпиксельные линии всё равно остаются серыми. Более того, если поместить рядом TButton и TBitBtn, то у них у обоих свойство Quality по умолчанию будет fqDefault, но результат совершенно разный!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Текст в TButton прорисовывается системой, а в случае с TBitBtn нет 
Так всё-таки баг это или так задумано? Если так задумано, то это очень плохо, на мой взгляд, потому что текст на таких контролах выглядит по другому, чем на других, и глаз (мой) раздражает эта легкая замыленность, а отключить эту фичу никак нельзя.
Насколько я понимаю, здесь могут быть замешаны патенты - Microsoft запатентовала ClearType. Но всё равно для свойства Quality можно было бы предусмотреть значение вроде fqSystem и рисовать текст через системную функцию.
Насколько я понимаю, здесь могут быть замешаны патенты - Microsoft запатентовала ClearType. Но всё равно для свойства Quality можно было бы предусмотреть значение вроде fqSystem и рисовать текст через системную функцию.
Mr.Smart
И та и другая кнопка происходят от TCustomButton. У TBitBtn нет никаких дополнительных методов.
И та и другая кнопка происходят от TCustomButton. У TBitBtn нет никаких дополнительных методов.
А загляните в виджеты. Поведение и реализация почти всех контролов реализована и мено в виджетах.
Например для Win32 посмотрите файл Win32WSButtons.pp в нём есть процедура DrawBitBtnImage, которая как раз и занимается прорисовкой
Например для Win32 посмотрите файл Win32WSButtons.pp в нём есть процедура DrawBitBtnImage, которая как раз и занимается прорисовкой
В общем, создал тикет в баг-трекере. Пока не отреагировали.
Разработчики признали баг и пометили его к исправлению в версии 1.0. Вот теперь пытаюсь сообразить, версия 1.0 - это скоро или не очень? Вроде бы кто-то говорил, что скоро, но сначала, как я понимаю, весной выйдет 0.9.30, а уже потом будут думать 1.0 или не 1.0?
Flanter
А вы сами проанализируйте сколько это может занять времени.
http://bugs.freepascal.org/roadmap_page.php выберите проект Lazarus
А вы сами проанализируйте сколько это может занять времени.
http://bugs.freepascal.org/roadmap_page.php выберите проект Lazarus
Ну по идее после 0.9.30 там идёт 1.0. Большое количество открытых багов для 1.0 роли не играет - как я понимаю, на 1.0 спихивались те баги, которые планировалось пофиксить "потом", в том числе те, которые наскоком не решаются
Может быть, после 0.9.30 разработчики посчитают нужным сделать 0.9.32, пофиксив часть багов, а может, будут добивать 1.0, кто знает...
