DI_TEXT + DIF_CENTERTEXT

Место, где разработчики плагинов могут поделиться своим опытом.
Post Reply
Dec
Posts: 32
Joined: Wed 14 Jul, 2010 08:59
Been thanked: 1 time

DI_TEXT + DIF_CENTERTEXT

Post by Dec » Sat 17 Jun, 2017 05:01

Документация о флаге DIF_CENTERTEXT гласит следующее: выравнивать текст по центру относительно координат X1 и X2. Если я правильно понял, то X1 и X2 - это координаты, переданные в FarDialogItem. Но по факту в моих экспериментах текст всегда выравнивается по центру диалога. Это ошибка документации/кода FAR/моих экспериментов? И еще одна особенность - для DIF_NONE или DIF_RIGHTTEXT текст всегда отображается полностью, независимо от X1 и X2, то для DIF_CENTERTEXT текст обрезается до размеров X2-X1+1 символов. Так и должно быть?

User avatar
DrKnS
Posts: 4648
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 4 times
Been thanked: 125 times
Contact:

DI_TEXT + DIF_CENTERTEXT

Post by DrKnS » Sat 17 Jun, 2017 14:48

Наверное ошибка.

Dec
Posts: 32
Joined: Wed 14 Jul, 2010 08:59
Been thanked: 1 time

DI_TEXT + DIF_CENTERTEXT

Post by Dec » Sat 17 Jun, 2017 15:05

DrKnS wrote:
Sat 17 Jun, 2017 14:48
Наверное ошибка.
Это ошибка документации/кода FAR/моих экспериментов?

User avatar
DrKnS
Posts: 4648
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 4 times
Been thanked: 125 times
Contact:

DI_TEXT + DIF_CENTERTEXT

Post by DrKnS » Sat 17 Jun, 2017 16:54

Кода.
Должно выравниваться в пределах элемента, текст должен обрезаться всегда.
Запишите на багтрекер.
Патчи тоже приветствуются.

User avatar
DrKnS
Posts: 4648
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 4 times
Been thanked: 125 times
Contact:

DI_TEXT + DIF_CENTERTEXT

Post by DrKnS » Wed 16 Aug, 2017 10:02

Dec wrote:
Sat 17 Jun, 2017 05:01
Документация о флаге DIF_CENTERTEXT гласит следующее: выравнивать текст по центру относительно координат X1 и X2. Если я правильно понял, то X1 и X2 - это координаты, переданные в FarDialogItem. Но по факту в моих экспериментах текст всегда выравнивается по центру диалога.
Исправлено в 5007.
Dec wrote:
Sat 17 Jun, 2017 05:01
DIF_NONE или DIF_RIGHTTEXT текст всегда отображается полностью, независимо от X1 и X2, то для DIF_CENTERTEXT текст обрезается до размеров X2-X1+1 символов.
Здесь всё несколько хуже - десятилетиями и в Far, и в плагинах считалось не барским делом высчитывать X2 - ставили то же, что и в X1, а движок рисовал, не обрезая.
Начиная с 5008 будет обрезаться, если X2 != X1 (т. е. если у вас вдруг есть необходимость в DI_TEXT шириной в 1 символ - в нем это таки работать не будет).

User avatar
John Doe
Бюрократ
Posts: 11433
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 17 times
Been thanked: 102 times

DI_TEXT + DIF_CENTERTEXT

Post by John Doe » Thu 17 Aug, 2017 09:57

На мантисе по "DIF_CENTERTEXT" поиск находит несколько багов.

Post Reply

Return to “Разработка плагинов”