25 декабря | 2024г. | 16:10:56


АвторТема: Модификация скинов (общие вопросы) (часть 3)  (Прочитано 281053 раз)

0 Пользователей и 2 Гостей смотрят эту тему.

Оффлайн Sirius0103

  • Совет Джедаев
  • ****
  • Сообщений: 3901
  • Поблагодарили: 15168
  • Уважение: +47
Denc, никак не отрегулируешь, у тебя шрифт такой... возьми какой нибудь другой со свободной лицензией и "нормальной метрикой"...
например отсюда https://fonts.google.com/ ...
  • Vu+ Solo 4k | Vu+ Solo 4k | Vu+ Solo²

Оффлайн Denc

  • Младший Джедай
  • **
  • Сообщений: 182
  • Поблагодарили: 18
  • Уважение: 0
Спасибо Sirius0103 .
Но поэкспериментировать через тип шрифта это лишь частичное решение вопроса.
Честно никак не могу поверить, что в тексте FullDescription или ExtendedDescription нельзя изменить высоту междустрочного интервала какой-то командой. Ведь в WORD или HTML это можно делать без проблем! Значит и тут как-то можно это сделать. Может все-таки кто знает.
  • Dreambox 800HD (original)+Gemini 5.0, Dreambox 920UHD Triple MultiStream S2X (original) + Merlin4

Оффлайн Sirius0103

  • Совет Джедаев
  • ****
  • Сообщений: 3901
  • Поблагодарили: 15168
  • Уважение: +47
  • Vu+ Solo 4k | Vu+ Solo 4k | Vu+ Solo²

Оффлайн Denc

  • Младший Джедай
  • **
  • Сообщений: 182
  • Поблагодарили: 18
  • Уважение: 0
Получается аналога команды line-height, чтобы прописать ее в skin.xml (в позицию FullDescription или ExtendedDescription)
как это реализовано в html

не существует?
и если это действительно так, то может кто из знатоков  :buba: придумает решение этого вопроса каким-то другим путем (написанием спецфайла или кода или еще какой вариант)?
Спойлер   :
взамен или изменяющий эту часть кода в skin.xml :
    <widget source="session.Event_Now" render="Label" position="45,100" size="580,475" font="Regular; 22" backgroundColor="background" transparent="1" zPosition="1">
      <convert type="EventName">FullDescription</convert>
    </widget>

Хотелось бы сделать так как изображено во 2-м варианте (чтобы влезал весь текст описания фильма без уменьшения высоты шрифта и размера окна), может меня кто поддержит в этой просьбе.
 
Спойлер   :
[ Гостям не разрешен просмотр вложений ]
  • Dreambox 800HD (original)+Gemini 5.0, Dreambox 920UHD Triple MultiStream S2X (original) + Merlin4

Оффлайн martina3

  • Мастер Джедай
  • **
  • Сообщений: 1137
  • Поблагодарили: 5743
  • Уважение: +5
Denc, невозможно угадать количество строк в описании передачи.
Для этой цели используется прокрутка, выводится через рендер ScrollLabel.
Пример виджета
Спойлер   :
  <widget source="Event" render="ScrollLabel" position="878,380" size="366,198" font="Regular; 19" foregroundColor="yellow" backgroundColor="black" halign="left" transparent="1">
    <convert type="EventName2">FullDescription</convert>
  </widget>

Оффлайн Denc

  • Младший Джедай
  • **
  • Сообщений: 182
  • Поблагодарили: 18
  • Уважение: 0
Спасибо martina3. Этот вариант имеет право на жизнь, буду вечером пробовать, надеюсь на Dreambox920 он получится.
Но что касается "невозможно угадать количество строк в описании передачи" , то угадывать и не надо, их достаточно будет и 10-ти в моем случае при высоте шрифта 20.
Поэтому если бы решить вопрос с междустрочным интервалом (надеюсь все же, что кто-либо поможет в этом) плюс ваш варинт с ScrollLabel, то было бы вообще то, что надо!
  • Dreambox 800HD (original)+Gemini 5.0, Dreambox 920UHD Triple MultiStream S2X (original) + Merlin4

Оффлайн martina3

  • Мастер Джедай
  • **
  • Сообщений: 1137
  • Поблагодарили: 5743
  • Уважение: +5
их достаточно будет и 10-ти
Ну не знаю.
Как по мне, то первый вариант намного симпатичнее смотрится.

Оффлайн Denc

  • Младший Джедай
  • **
  • Сообщений: 182
  • Поблагодарили: 18
  • Уважение: 0
Каждому свое, это истина жизни.
Просто во 2-м необходимом мне варианте видно моментально в целом сразу все описание без всякого ожидания прокрутки.
  • Dreambox 800HD (original)+Gemini 5.0, Dreambox 920UHD Triple MultiStream S2X (original) + Merlin4

Оффлайн mic71

  • Совет Джедаев
  • ****
  • Сообщений: 6580
  • Поблагодарили: 27671
  • Уважение: +161
martina3, он там впринципе нафиг не нужен, в Merlin4 есть системный рендер RunningText у которого с прозрачностью всё в норме , а не как на имиджах ОПЕН, и ScrollLabel без всяких регулировок и параметров, в системном же всё регулируется, интервал, скорость и т.д. 

Оффлайн Denc

  • Младший Джедай
  • **
  • Сообщений: 182
  • Поблагодарили: 18
  • Уважение: 0
Проверил вчера RunningText, неплохая штука:
Спойлер   :
   <widget source="ServiceEvent" render="RunningText" position="800,395" size="366,90" font="Regular; 20" backgroundColor="black" foregroundColor="white" transparent="1" zPosition="1" halign="center" options="movetype=running,direction=top,step=1,oneshot=1000,always=0,steptime=90,startpoint=1,wrap">
      <convert type="EventName">FullDescription</convert>
    </widget>
Хотелось бы узнать о принципе его настройки, в частности какие есть варианты параметров и за что они отвечают (direction,step,oneshot,always,steptime,startpoint,wrap)

direction вроде как понятно (это направление движения текста и его варианты left, right, top, bottom), а вот что другие означают и их варианты особенно oneshot,always, startpoint и wrap  ?
  • Dreambox 800HD (original)+Gemini 5.0, Dreambox 920UHD Triple MultiStream S2X (original) + Merlin4

Оффлайн mic71

  • Совет Джедаев
  • ****
  • Сообщений: 6580
  • Поблагодарили: 27671
  • Уважение: +161
Вот

Спойлер   :
Рендер RunningText

Рендер предназначен для прокрутки текста.
Основные возможности:

имеется два основных типа движения текста: бегущая строка и плавающая строка
текст может двигаться в таких основных направлениях: влево, вправо, вверх, вниз
поддерживается как одно- так и многострочный текст
все настройки движения можно задавать на свой вкус через атрибут виджета "options" в скине:
скорость движения текста
задержка до начала движения текста
паузы между циклами движения текста
количество циклов движения текста

Основные используемые атрибуты:

position - позиция виджета по X и Y осям, обязательный.
size - размер виджета - ШИРИНА и ВЫСОТА, обязательный.
zPosition- порядок прорисовки виджета на экране.
font - шрифт и его размер. По умолчанию - "Regular;14"
foregroundColor - цвет текста. По умолчанию белый - "#ffffff"
backgroundColor - цвет фона. По умолчанию черный - "#000000"
shadowColor - цвет тени, отбрасываемой от текста. По умолчанию - не задан
shadowOffset - размер тени, отбрасываемой от текста. По умолчанию - "0,0" (т.е. тени нет)
valign - вертикальная привязка текста. Возможны варианты:
top - сверху
center - по средине
bottom - снизу
halign - горизонтальная привязка текста. Возможны варианты:
left - слева
center - по средине
right - справа
block - блоком по средине
noWrap - одно- или многострочный текст для перемещения.
transparent - пока не поддерживается, на как это можно обойти смотрите здесь.
options - специальный атрибут для рендера, который может содержать такие доступные опции:
movetype - тип движения текста. Возможны варианты:
none - нет
running - бегущая строка
swimming - плавающая строка
direction - направление движения текста. Возможны варианты:
left - движение текста справа налево
right - движение текста слева направо
top - движение текста снизу вверх
bottom - движение текста сверху вниз
step - шаг движения текста. Точнее количество пикселов на один шаг движения.
Значение должно быть больше нуля, например: step=1
steptime - время на один шаг в миллисекундах. В паре со step составляет скорость общего движения текста. Например, если step=1 и steptime=50, то скорость общего движения будет равна 20 пикселов за секудну.
Минимальное значение 25 миллисекунд, например: steptime=25
startdelay - задержка до начала движения текста. По умолчанию - startdelay=0
pause - пауза в миллисекундах между циклами движения текста. По умолчанию нет паузы - pause=0
oneshot - время в миллисекундах приостанова движения текста в нулевой точке. По умолчанию - oneshot=0
repeat - количество повторов циклов движения текста. По умолчанию - repeat=0 (т.е. бесконечно)
always - всегда ли двигать текст, если он полностью помещается в размеры виджета. По умолчанию - always=0 (т.е. не двигать)
startpoint - стартовая позиция вывода текста в пикселах, которая должна вписываться в координаты размера виджета. Она же является нулевой точкой при oneshot атрибуте. По умолчанию - не задана и зависит от direction атрибута.
[no]wrap - одно- или многострочный текст для перемещения.
pagedelay - пауза в миллисекундах для "постраничной" прокрутки текста при вертикальном свиминге (movetype=swimming). По умолчанию - не задана . Добавлен начиная с версии 1.5.
pagelength - длина (высота) текста в пикселах, через промежутки которой текст будет приостанавливаться на заданное число миллисекунд через опцию pagedelay. Используется при вертикальном свиминге текста и совместно с опцией pagedelay. По умолчанию - не задана . Добавлен начиная с версии 1.5.

Примеры options:

Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.
А вот теперь, как это всё выглядит где-нибудь в скине:

Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.

Собственно, сам рендер (устанавливается в /usr/lib/enigma2/python/Components/Renderer):

Оффлайн тихон

  • Друзья Джедаев
  • *****
  • Забанен!
  • Сообщений: 2390
  • Поблагодарили: 9272
  • Уважение: +7
Вообще не пойму обсуждение. Рендеры ScrollLabel и RunningText сто раз обсуждались. Парню неохота читать. А пытаться решить его фантазии ....
  • VU+ Ultimo 4K(VTI 15.0.0-ATV-7.1), VU+Duo2(PLI 8.1), VU+ Ultimo(Open ATV 7.1)

Оффлайн Denc

  • Младший Джедай
  • **
  • Сообщений: 182
  • Поблагодарили: 18
  • Уважение: 0
Решение вопроса по междустрочному интервалу в тексте это не "вантазии", а улучшение наглядности отображения информации description или длинного названия передачи на экране в SecondInfobar или ChannelSelection и т,д.!
Есть 3 варианта:
1) Менять (подбирать) тип самого шрифта
2) Применять рендер RunningText
3) Просто изменять высоту междустрочного интервала (пока к сожалению вроде никто не знает как это сделать).
Все варианты имеют право на жизнь, но 3-й вариант я считаю лучшим, а в сочетании со 2-м ему бы цены не было.
  • Dreambox 800HD (original)+Gemini 5.0, Dreambox 920UHD Triple MultiStream S2X (original) + Merlin4

Оффлайн oleg8000

  • Мастер Джедай
  • ***
  • Сообщений: 820
  • Поблагодарили: 2405
  • Уважение: +8
Denc, Расстояние между строками рассчитывается в Enigma, исходники закрыты... Единственное, можно попробовать в программе редактирования шрифтов по высоте снизу и сверху пустые места поудалять...
Спойлер   :
https://континентсвободы.рф/утилиты/прочее/fontforge-редактор-шрифтов.html

Оффлайн Denc

  • Младший Джедай
  • **
  • Сообщений: 182
  • Поблагодарили: 18
  • Уважение: 0
Подскажите как сделать (в skin.xml) разным цвет шрифта в разделе меню «MovieSelection», т.е. меню где отображаются записанные на жесткий диск фильмы или передачи,
хотелось бы сделать более наглядным отображение информации (о названии передачи, названии канала, описании, продолжительности по времени и т.д.) в разном цветовом исполнении, а не как сейчас в оригинале скина – все эти параметры идут друг за другом одним белым цветом, что неудобно для восприятия.
Вот исходный код из скина в разделе “MovieSelection"
 
Спойлер   :
<widget font="Regular;22" halign="center" name="waitingtext" position="8,23" size="671,574" transparent="1" valign="center" zPosition="4" backgroundColor="background"/>
  <widget name="list" position="8,23" scrollbarMode="showOnDemand" size="671,574" transparent="1" zPosition="2" />

Наверное надо добавить через привязку команды foregroundColor плюс с указанием на что ее распространять – типа foregroundColor???Description="red" или foregroundColor???Name="green" и т.д. или какой другой вариант (может надо что подправить не в skin.xml, а где-то в другом файле)?
  • Dreambox 800HD (original)+Gemini 5.0, Dreambox 920UHD Triple MultiStream S2X (original) + Merlin4

Теги:
 



X

Добро пожаловать!

Мы заметили, что у Вас установлено расширение AdBlock или ему подобное. Пожалуйста добавьте наш Клуб в белый список, внесите этим посильную лепту в его развитие. Спасибо!