Segnetics

Вернуться   Segnetics > Форум Segnetics > SMLogix > SMArt

SMArt Разработка интерфейсов пользователя

Ответ
 
Опции темы Поиск в этой теме
Старый 07.08.2018, 17:44   #1
Gel
Senior Member
 
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили: 38 раз(а) в 30 сообщениях
По умолчанию Проблемы с отображением элемента "Вывод числа" (нет решения)

Наблюдаются проблемы с отображением элемента "Вывод числа" при использовании суффикса и выравнивания по правой границе, как в редакторе SMArt, так и на работающей программе.

Наблюдаются следующие симптомы:

1. В зависимости от комбинации заполнения поля "Суффикс" и переключения настройки "Число" могут получиться три варианта отступа.
При этом, фактические настройки поля одинаковые.

2. При закрытии SMArt и открытии заново, отступ для таких полей сбрасывается в некоторое значение.

Для теста работы элементов "Текст" и "Вывод числа" была создана программа, приложена к сообщению (файл screen-test.psl).

Для пояснения, приведены скриншоты.

Ниже дан скриншот с устройства SMH4 для полей, у которых в редакторе установлены одинаковые значения (у всех задан суффикс ":"):



Вот, как это выглядит в редакторе:



у двух других элементов настройки те же:

item2.png item3.png

А это пример, как получать разные отступы с одинаковыми настройками, в виде GIF-анимации:

Изображения
Тип файла: png bar.png (2.7 Кбайт, 412 просмотров)
Тип файла: png item1.png (40.8 Кбайт, 416 просмотров)
Вложения
Тип файла: psl screen-test.psl (669.5 Кбайт, 5 просмотров)
Gel вне форума   Ответить с цитированием
Старый 07.08.2018, 17:55   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 068
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Проблемы с отображением элемента "Вывод числа"

Цитата:
Сообщение от Gel Посмотреть сообщение
Наблюдаются проблемы с отображением элемента "Вывод числа"
Выравнивание вправо не работает.

Наши программисты почему-то считают, что выравнивание тт-шрифта пробелами - это хороший способ выравнивания. Точнее считали, т.к. тех программистов уже с нами нет.

Поэтому так и смарт работает. Не его это вина.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 07.08.2018, 17:57   #3
Gel
Senior Member
 
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили: 38 раз(а) в 30 сообщениях
По умолчанию Ответ: Проблемы с отображением элемента "Вывод числа"

Так же, наблюдаются визуальные различия элемента "Вывод числа" в редакторе и на устройстве SMH4.

На рисунке ниже наложены два кадра -- скриншот с устройства и из редактора с полупрозрачностью.

Слева элементы "Текст", их вид в точности соответствует тому, что в редакторе.

Справа -- элементы "Ввод числа". Видно различие между устройством и редактором. Особо критично различие вертикального позиционирования.

Изображения
Тип файла: png over.png (28.5 Кбайт, 419 просмотров)
Gel вне форума   Ответить с цитированием
Старый 07.08.2018, 18:04   #4
malyga
Сотрудник Segnetics
 
Регистрация: Apr 2008
Сообщения: 146
Благодарил(а): 13 раз(а)
Поблагодарили: 21 раз(а) в 20 сообщениях
По умолчанию Ответ: Проблемы с отображением элемента "Вывод числа"

У текста все хорошо, потому что он выводится на контроллере в виде картинки. А вот с числами сложнее - они выводятся непосредственно шрифтами, а система рендеринга разная на контроллере и в СМАрте.

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


__________________
Инженер "Сегнетикс"
malyga вне форума   Ответить с цитированием
Старый 07.08.2018, 18:29   #5
Gel
Senior Member
 
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили: 38 раз(а) в 30 сообщениях
По умолчанию Ответ: Проблемы с отображением элемента "Вывод числа"

Цитата:
Сообщение от malyga Посмотреть сообщение
У текста все хорошо, потому что он выводится на контроллере в виде картинки.
Да, это я понял в т.ч. потому, что для текста можно выбрать произвольный шрифт в системе, в для вывода -- только из определенного набора.

Цитата:
А вот с числами сложнее - они выводятся непосредственно шрифтами, а система рендеринга разная на контроллере и в СМАрте.
Думаю, что тут даже дело не в разных системах рендеринга, потому что вывод-то дает практически одно и тоже, а в разных системах отсчета для шрифтов.

Если "подвинуть" один кадр, то изображение для элемента "Вывод числа" совпадает:



Наблюдал похожий симптом, когда были перепутаны уровни baseline и descent, или функции вывода используют разные базисы. Одна в качестве "y" -- baseline, другая в качестве "y" -- bottom, например.



Эти параметры находятся в шрифте и извлекаются функциями, возвращающие "Font Metrics".
Изображения
Тип файла: png over2.png (21.7 Кбайт, 389 просмотров)
Тип файла: jpg fontmetrics.jpg (43.0 Кбайт, 432 просмотров)
Gel вне форума   Ответить с цитированием
Старый 07.08.2018, 18:34   #6
Gel
Senior Member
 
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили: 38 раз(а) в 30 сообщениях
По умолчанию Ответ: Проблемы с отображением элемента "Вывод числа"

Цитата:
Сообщение от Gel Посмотреть сообщение
Наблюдал похожий симптом, когда были перепутаны уровни baseline и descent, или функции вывода используют разные базисы. Одна в качестве "y" -- baseline, другая в качестве "y" -- bottom, например.
Кстати! Это же можно посмотреть с помощью префикса. Сейчас попробую...


Добавлено через 22 минуты

Проверил, смещение по вертикали, можно сказать, не зависит от размера шрифта и составляет 1-2 пикселя.

Ок, не так страшно.


Добавлено через 37 минут

По горизонтали смещение тоже не зависит от размера шрифта и, возможно, от шрифта и составляет 3-4 пиксела.
Gel вне форума   Ответить с цитированием
Старый 08.08.2018, 12:42   #7
Gel
Senior Member
 
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили: 38 раз(а) в 30 сообщениях
По умолчанию Ответ: Проблемы с отображением элемента "Вывод числа" (нет решения)

Подытожу, оставлю для справки картину с направлением сдвигов, может, кому-то понадобится еще:

Изображения
Тип файла: png shift.png (24.1 Кбайт, 407 просмотров)
Gel вне форума   Ответить с цитированием
Старый 09.08.2018, 12:40   #8
malyga
Сотрудник Segnetics
 
Регистрация: Apr 2008
Сообщения: 146
Благодарил(а): 13 раз(а)
Поблагодарили: 21 раз(а) в 20 сообщениях
По умолчанию Ответ: Проблемы с отображением элемента "Вывод числа" (нет решения)

Спасибо за баг-репорт, постараюсь исправить.


__________________
Инженер "Сегнетикс"
malyga вне форума   Ответить с цитированием
Старый 30.01.2022, 13:02   #9
Gel
Senior Member
 
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили: 38 раз(а) в 30 сообщениях
По умолчанию Ответ: Проблемы с отображением элемента "Вывод числа" (нет решения)

Посмотрел причину несоответствия вывода числа SMArt и в реальности, которая упоминалась в теме https://forum.segnetics.ru/showthread.php?t=5532

Выяснил причину вот этого несоответствия, которое заметно на мелких шрифтах:



В SMArt для вывода используется флешевый компонент flash.text.TextField, который имеет фиксированное смещение в 2 пиксела по горизонтали и вертикали. Об этом упоминается в документации: https://help.adobe.com/en_US/FlashPl...neMetrics.html



При выводе на контроллере этого смешения нет.

Попробовал хакнуть SMArt (AirPort.swf) на предмет этого смещения путем его вычитания, получилось. Правка класса TrimNumberPrimitiveBaseCB в методе commitProperties:



После этого по позиционированию расхождений нет (если не считать других глюков), отображение в SMArt стало походить на правду.
Изображения
Тип файла: png smart-bug-cut.png (10.4 Кбайт, 164 просмотров)
Тип файла: jpg gutter.jpg (63.6 Кбайт, 161 просмотров)
Тип файла: png fix1.png (13.5 Кбайт, 164 просмотров)
Gel вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 12:38.


Версия vBulletin: 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2024