Инструменты пользователя

Инструменты сайта


foobar2000:plugins_for_0.9.x:foo_ui_panels_foo_ui_panels

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
foobar2000:plugins_for_0.9.x:foo_ui_panels_foo_ui_panels [2007/02/12 06:54]
Spike
foobar2000:plugins_for_0.9.x:foo_ui_panels_foo_ui_panels [2007/06/09 03:30] (текущий)
Строка 1: Строка 1:
-====== ​foo_ui_panels ​(foo_ui_panels) ======+====== ​Panels UI (foo_ui_panels) ====== 
 +**//​Страница в разработке...//​**
 ===== Описание ===== ===== Описание =====
-Новый интерфейс,​ объединяющий возможности Track Info Panel и Single Columns Playlist с поддержкой собственных панелей. Использует новые графические возможности Windows Vista, и имеет шанс стать популярным интерфейсом. Плагин находится в активной разработке.+Новый интерфейс,​ объединяющий возможности Track Info Panel и Single Columns Playlist с поддержкой собственных панелей. Использует новые графические возможности Windows Vista, и имеет шанс стать популярным интерфейсом. Плагин находится в активной разработке ​(стадия BETA-версий). 
 ===== Возможности ===== ===== Возможности =====
   * Дает возможность управления несколькими панелями через форматирование заголовков (titleformating)   * Дает возможность управления несколькими панелями через форматирование заголовков (titleformating)
 +  * Содержит в себе компоненты [[foobar2000:​plugins_for_0.9.x:​single_column_playlist_foo_uie_single_column_playlist]] и [[foobar2000:​plugins_for_0.9.x:​track_info_panel_mod_foo_uie_trackinfo_mod]] и их функции
   * Имеет свои панели <code tagz>​$panel(ID,​Name,​x,​y,​width,​height,​options)</​code>​   * Имеет свои панели <code tagz>​$panel(ID,​Name,​x,​y,​width,​height,​options)</​code>​
   * Добавление границ с эффектом стекла (Windows Vista) <code tagz>​$glass(left,​right,​top,​bottom)</​code>​   * Добавление границ с эффектом стекла (Windows Vista) <code tagz>​$glass(left,​right,​top,​bottom)</​code>​
 ===== Требования ===== ===== Требования =====
 +  * Foobar2000 0.9.4+
   * Хотя Panels UI самостоятельный интерфейс,​ для его использования все равно необходим [[foobar2000:​plugins_for_0.9.x:​columns_ui]]   * Хотя Panels UI самостоятельный интерфейс,​ для его использования все равно необходим [[foobar2000:​plugins_for_0.9.x:​columns_ui]]
-===== Скриншот ===== + 
-{{foobar2000:​plugins_for_0.9.x:​foo_ui_panels.jpg|}}+ 
 +{{  foobar2000:​plugins_for_0.9.x:​foo_ui_panels.jpg?​200|Одна из конфигураций под Panels UI}} 
 + 
 + 
 +===== Установка ===== 
 +Установка стандартна:​ [[http://​panels.fooblog2000.com/​foo_ui_panels.zip|скачайте последнюю версию]] и разархивируйте dll-файл в [[foobar2000:​directories|папку компонентов плеера]]. При апдейте убедитесь,​ что сохранили старые конфигурации Panels UI, сделайте бекап. 
 + 
 +===== Changelog ===== 
 +  * 0.13.0 
 +    * library filter tweaks 
 +    * transparent background for scpl (scrolling will be slower) 
 +    * transparent background for library filter & track displays. 
 +    * new Library Filter defaults (hit reset page to get defaults) 
 + 
 +  * 0.12.0 
 +    * new "​Library Filter"​ panel. a bit similar to Album List but with the ability to "​and"​ and "​not"​ nodes. also uses the current scpl sort/group settings when sending to playlist. use the sample "​library.pp"​ layout file with a POPUP: to see how to customize. 
 +    * button in settings dialog to clear PVARs 
 + 
 +  * 0.11.0 
 +    * window title updates on pause 
 +    * new "track globals"​ which are also evaluated before sorting/​grouping. keep this small and fast. 
 +    * tweaked sort/group criteria to use new track globals 
 +    * "Reset Page" in Panels UI preferences resets to defaults 
 +    * new button POPUP:"​layout file" to create a new panels ui window. 
 + 
 +  * 0.10.0 
 +    * window size/​position stored in pui 
 +    * FILTER: button sorts by current sort/​group 
 +    * tray context menu 
 +    * SORTGROUP_PRESET:​index button (where index is the number of the preset) 
 +    * $sortgroup_preset(index) returns the name of the specified preset. 
 +    * %sortgroup_preset_count% returns the number of presets 
 +    * %sortgroup% to get the name of the current sort/group criteria 
 +    * changed $playlistname() to %playlistname% 
 +    * %sortgroup% returns the current sort/​group. 
 +    * %groupformat% (only vailid in SCPL "Group Display"​) to get the current group by string. 
 +    * "​Singles"​ layout is chosen as default. Use this + %groupformat% to handle differnt grouping criteria dynamically. 
 +    * changed base path to be relative to layout folder. eg. if you have your pui in  ..\foobar2000\PanelsUI\MyTheme\MyTheme.pui,​ then /​images\myimage.jpg would be ..\foobar2000\PanelsUI\MyTheme\images\myimage.jpg 
 +    * customizable double click / middle click actions 
 +    * sort/group settings are remembered by playlist name and applied on playlist changes 
 +    * misc bug fixes / tweaks 
 + 
 +  * 0.9.2 
 +    * misc bug fixes / tweaks 
 +    * delay load uxtheme.dll to support win2k 
 +    * $playlistname() to get the playlist name 
 +    * $sortidx(name) returns the sort index or false if not sorted 
 +    * sort/group presets in main menu (view / panels ui / sort\ group by) 
 +    * $extra(FOOBAR2000_VERSION) 
 + 
 +  * 0.9.0 
 +    * new sorting/​grouping system 
 + 
 +  * 0.8.0 
 +    * "​windowsize"​ button will now work inside child track displays 
 +    * new user globals / layout globals will be run before all title formatting in TrackDisplay / SCPL.  
 +    layout globals will change between layouts and are saved in the .pui, while user globals stay the same for all layouts. 
 +    * various bug fixes / improvements 
 +  * 0.7.5 
 +    * Tooltips for buttons. (add TOOLTIP:​mytooltip or TOOLTIP:​”my tooltip” to override the default) 
 +    * Free cached images in not used for a while 
 +    * Options for WINDOWSIZE to set anchor points (eg: WINDOWSIZE:​x:​y:​LEFT:​TOP,​ WINDOWSIZE:​x:​y:​RIGHT:​BOTTOM,​ etc) 
 +  * 0.7.0 
 +    * Multiple buttons over same area can be executed 
 +    * Перемещение окна кликнув по пустому пространству 
 +    * Кнопка для установки размера окно: WINDOWSIZE:​width:​height 
 +    * Папка PanelsUI перемещена из папки профиля в папку foobar2000 
 +    * Новые опции для кнопок — “context-selected” и “context-playing” 
 +    * Различные багфиксы / улучшения 
 + 
 + 
 +===== Структура кодирования ===== 
 +{{  foobar2000:​plugins_for_0.9.x:​panulsuiconfig.png?​300|Окно конфигурации Panels UI}} 
 + 
 +Чтобы открыть окно конфигурации,​ кликните правой кнопкой по заголовку foobar2000 и выберите //​Settings...//​ из контекстного меню. Альтернативный вариант:​ <​key>​Ctrl+P</​key>''​ -> Display -> PanelsUI -> Edit Layout''​. 
 + 
 +==== Область редактирования ==== 
 +Для облегчения кодирования начиная с версии 0.3.0 в область кодирования встроен редактор с возможностью подсветки на базе scintilla. 
 + 
 +Чтобы изменить размер ​шрифта в области редактирования,​ нажмите <​key>​Ctrl</​key>​+колесо мышки вверх/​вниз. 
 + 
 +==== Формат ​==== 
 +Табуляция и пробелы игнорируются. 
 + 
 +Пример:​ 
 +<code tagz> 
 +$if(%isplaying%,​ 
 + ​ Playing 
 + , 
 +  Not Playing 
 + ) 
 +</​code>​ 
 + 
 +Если вы хотите добавить пробелы в код, то заключите их в символы апострофа "'"​. 
 +<code tagz> 
 + ​test 
 + ' ​    '​test 
 + ​test 
 +</​code>​ 
 + 
 +==== Типы отрисовки ==== 
 +Позволяют вам экономить ресурсы путем разделения кода на разные секции в зависимости от требований по прорисовке изображений или другой информации. Доступно четыре различных типа прорисовки:​ global, background, per track и per second. 
 + 
 +  * **Global** — глобальные значения. 
 +  * **Background** — фоновый материал (например,​ изображения). Отрисовывается однократно. 
 +  * **PerTrack** — данные,​ которые меняются каждый трек(%album%,​ %artist%, и т.д.). Неплохо в этой секции размещать и кнопки тоже. 
 +  * **PerSecond** — данные,​ которые нуждаются в ежесекундном обновлении (%playback_time% и тому подобные). 
 + 
 +//​Примечание:​ It has to be the exact same syntax (capitalization,​ etc.)// FIXME 
 + 
 +Пример:​ 
 +<code tagz> 
 + // Global 
 + ​$if($meta_test(album artist),​$puts(album_is_va,​1)) 
 + ​$puts(fontStyle,​$font(Calibri,​10,​bold,​0-255-128)) 
 + ​[[...]] 
 + // Background 
 + ​$imageabs(,,​imagesbground.png,​) 
 + ​[[...]] 
 + // PerTrack 
 + ​$button(0,​0,​0,​0,​0,​0,​imagesplay.png,​imagesplay_hover.png,'​Play or Pause',​) 
 + ​[[...]] 
 + // PerSecond 
 + ​%playback_time% 
 + ​[[...]] 
 +</​code>​ 
 +===== Панели ===== 
 +  $panel(ID,​Name,​x,​y,​width,​height,​options) 
 + 
 + * **ID** — идентификатор. 
 + * **Name** — название компонента. Для дополнительного синтаксиса обратитесь к выпадающему меню((Нажмите кнопку ''​Panels''​ и кликните по выпадающему списку ниже.)) в окне конфигурирования Panels UI. 
 + * **x & y** — указывают позицию панели (значения могут быть отрицательными). 
 + * **width & heigh**t — указывают размер панели. 
 + * **options** — пока недоступны. 
 + 
 +Следующий пример создаст SCPL(([[http://​wiki.foobar2000.ru/​foobar2000/​plugins_for_0.9.x/​single_column_playlist_foo_uie_single_column_playlist|Single Column Playlist Viewer]].)) с координатами 5,5 и размером 200px на 300px. В верхнем правом углу экрана редактирования (где список панелей) появится новая панель "​Identification";​ нажав на кнопку ''​Configure'',​ вы сможете редактировать код SCPL. 
 +<code tagz> 
 +$panel(Identification,​Single Column Playlist,​5,​5,​200,​300,​) 
 +</​code>​ 
 +===== Свои границы ===== 
 +Добавить свои границы((Custom borders.)) со «стеклянным» эффектом Windows Vista: 
 +<code tagz> 
 +$glass(left,​right,​top,​bottom) 
 +</​code>​ 
 +===== Математические функции ===== 
 +Вычисление математических функций. 
 +<code tagz> 
 +$eval() 
 +</​code>​ 
 +  * Операции:​ + - * / @ (целочисленный остаток от деления) и {} как замена круглых скобок 
 +//​Примечание:​ эта функция может нестабильно работать((Точнее,​ может либо работать,​ либо не работать совсем)) в субпанелях Track Display.//​ 
 + 
 +Пример:​ 
 +<code tagz> 
 +$eval(**{**%_width%**/​**3**}**+$get(column.offset)) 
 +</​code>​ 
 +===== PVARS — постоянные переменные ===== 
 +<code tagz> 
 +$setpvar(name,​value) 
 +$getpvar(name) 
 +</​code>​ 
 +  * Переменные,​ подобные общим [[foobar2000:​tittleformatting#​operacii_s_peremennymi|операциям с переменными]] ($put, $puts & $get) и добавленной возможностью хранить свои значения постоянно. 
 +  * Могут быть назначены/​вызваны отовсюду внутри Panels UI (Panels UI + Track Display и Single Columns Playlist). 
 + 
 +**Пример:​** 
 + 
 +Код: 
 +<code tagz> 
 +$getpvar(foo,​bar) 
 +$setpvar(foo,​bar) 
 +$getpvar(foo) 
 +$getpvar(Foo) 
 +$setpvar(foo,​2000) 
 +$getpvar(foo)<​\/​code>​ 
 +</​code>​ 
 + 
 +На выходе:​ 
 +<​code>​ 
 +  [[unknown|pvar]] 
 + 
 +  bar 
 +  bar 
 + 
 +  2000 
 +</​code>​ 
 + 
 +Вы можете настроить три возможных раскладки используя PVAR'​ы. 
 +<code tagz> 
 + ​$select($getpvar(display),​ 
 + //​Код первой панели 
 + , 
 + //​Код второй панели 
 + , 
 + //​Код третьей панели 
 + ) 
 +</​code>​ 
 + 
 + 
 + 
 +===== Выравнивание текста ===== 
 + 
 +===Обычное выравние текста=== 
 + 
 +<code tagz>​$align(H,​V)</​code>​ 
 + 
 +^Параметр ^Определение ^Примечание^ 
 +|(H)orizontal|Горизонально. Может принимать значения ''​left,​ center''​ и ''​right''​ (слева,​ по центру или справа).| | 
 +|(V)ertical|Вертикально. Может принимать значения ''​top,​ middle''​ и ''​bottom''​ (сверху,​ по середине или снизу).|''​top''​ будет проверяться на перезапись.| 
 + 
 +Если с помощью этой функции выравнять несколько раз подряд (например,​ ''​$align(left,​middle)''​ больше чем один раз), то выравнивание будет происходить с той же точки отсчета. 
 + 
 +===Чтобы выравнять текст относительно=== 
 +Примечание:​ эта функция нормально работает только в секции [[foobar2000:​plugins_for_0.9.x:​foo_ui_panels_foo_ui_panels#​tipy_otrisovki|PerSecond]]. 
 + 
 +<code tagz>​$alignset() - $alignrel(H,​V)</​code>​ 
 + 
 +^Параметр ^Определение ^Примечание^ 
 +|(H)orizontal|Горизонтально. Может принимать значения ''​left,​ center''​ и ''​right''​ (слева,​ по центру или справа).| | 
 +|(V)ertical|Вертикально. Может принимать значения ''​top,​ middle''​ и ''​bottom''​ (сверху,​ по середине и внизу).|''​top''​ будет проверяться на перезапись.| 
 +|$alignset()|Устанавливает точку отсчета для ''​$alignrel(H,​V)''​.|Может применяться как замена функции ''​$char(10)'',​ работает для всех следующих ''​$alignrel(H,​V)''​.| 
 + 
 +Например:​ 
 +<​code>​$alignrel(left,​middle) //​Линия1_слева//​ $alignrel(center,​middle) //​Линия1_по_центру//​ $alignset() $alignrel(right,​middle) //​Линия2_справа//</​code>​ 
 + 
 +===Чтобы выравнять текст абсолютно (без проверки на перезапись текста)=== 
 + 
 +<code tagz>​$alignabs(X,​Y,​w,​h,​H,​V)</​code>​ 
 + 
 +^Параметр ^Определение ^Примечание^ 
 +|X & Y|Координаты позиции границ прямоугольника в котором будет происходить выравнивание|Значения могут быть отрицательными.| 
 +|(W)idth & (H)eight|Ширина и высота прямоугольника в котором будет происходить выравнивание текста.| | 
 +|H & V|см. таблицу выше| |. 
 + 
 +//​Примечание:​ $alignabs(**H**,​**V**) может быть использована для относительного выравнивания без проверки на перезапись.//​ 
 + 
 +====Стили шрифтов==== 
 + 
 +<code tagz>​$font(NAME,​SIZE,​OPTIONS,​COLOR)</​code>​ 
 + 
 +^Параметр ^Определение ^Примечание^ 
 +|NAME|Название шрифта.| | 
 +|SIZE|Размер шрифта.| | 
 +|OPTIONS|Опции. Могут иметь значение ''​bold,​ italic, underline, strikeout, nocleartype,​ glow-''​ и ''​shadow''​| Также, возможно совмещать значения,​ например,​ //"​bolditalicunderlineglow-"//​ даст комбинацию этих эффектов. Значения по-умолчанию для ''​glow''​ — glowexpand-2 и glowblur-2. Подробности в таблице ниже.| 
 +|COLOR|Цвет. Цвет шрифта указывается в пространстве R-G-B.|Например,​ 255-0-0 даст красный цвет. Используйте //​SYSCOL-x//​ для использования стандартных цветов из вашей темы Windows (msstyle). X — это номер цвета от 0 до ?.| 
 + 
 +**Параметры OPTIONS:​** 
 + 
 +^Параметр ^Пример ^Примечание^ 
 +|bold|{{foobar2000:​plugins_for_0.9.x:​teststring_bold.png|}}| | 
 +|italic|{{foobar2000:​plugins_for_0.9.x:​teststring_italic.png|}}| | 
 +|underline|{{foobar2000:​plugins_for_0.9.x:​teststring_underline.png|}}| | 
 +|strikeout|{{foobar2000:​plugins_for_0.9.x:​teststring_strikeout.png|}}| | 
 +|uppercase|{{foobar2000:​plugins_for_0.9.x:​teststring_uppercase.png|}}| | 
 +|lowercase|{{foobar2000:​plugins_for_0.9.x:​teststring_lowercase.png|}}| | 
 +|nocleartype|{{foobar2000:​plugins_for_0.9.x:​teststring_nocleartype.png|}}| | 
 +|fixedwidth-x|{{foobar2000:​plugins_for_0.9.x:​teststring_fixedwidth.png|}}| | 
 +|glow-R-G-B|{{foobar2000:​plugins_for_0.9.x:​teststring_fixedwidth.png|}}|Настройки по умолчанию:​ glowexpand-2 и glowblur-2| 
 +|glowalpha-x|{{foobar2000:​plugins_for_0.9.x:​teststring_fixedwidth.png|}}|Alpha-значение дня glow или shadow| 
 +|glowblur-x|{{foobar2000:​plugins_for_0.9.x:​teststring_fixedwidth.png|}}|Blur-значение для glow или shadow| 
 +|glowexpand-x|{{foobar2000:​plugins_for_0.9.x:​teststring_fixedwidth.png|}}|Expand-значение для glow или shadow| 
 +|shadow|{{foobar2000:​plugins_for_0.9.x:​teststring_shadow.png|}}|Цвет по умолчанию не изменяем| 
 +|textalpha-x|{{foobar2000:​plugins_for_0.9.x:​teststring_textalpha.png|}}|Отключает cleartype| 
 +|textblur-x|{{foobar2000:​plugins_for_0.9.x:​teststring_textblur.png|}}| | 
 +|textexpand-x|{{foobar2000:​plugins_for_0.9.x:​teststring_textexpand.png|}}| | 
 + 
 +Следующий пример создаст шрифт Arial, размером 10 пикселей,​ жирный,​ с синим эффектом glow и системным цевтом номер #15 (фон): 
 +<code tagz>​$font(Arial,​ 10, bold shadow glow-0-0-255,​SYSCOL-15)</​code>​ 
 + 
 +  * Вы можете сохранять и восстанавливать значения переменных шрифта используя функции $put/​$puts/​$get (например,​ ''​$puts(font,​$font(Calibri,​9,​bold,​100-100-100))''​). Восстанавливать значения необходимо после использования функции ​ ''​$alignrel'',​ но не перед ней. 
 +  * Также, изменение настроек шрифта с помощью ''​$get''​ не оказывает никакого воздействия на ''​$calcwidth/​$calcheight''​. Эти функции используют последнее реальное значение параметров ''​$font'',​ даже если их задавали функцией ''​$puts''​. 
 +  * При использовании продвинутых эффектов отключается сглаживание (антиалиасинг) шрифтов (даже для alpha blending). Также, следующий текст влияет на предыдущий,​ так что, возможно,​ вам придется добавлять пробелы либо использовать функцию ''​$alignabs''​. 
 + 
 +**Примеры шрифтов и код:** 
 + 
 +{{foobar2000:​plugins:​uie:​trackinfo-font-example.png|Примеры шрифтов Single Columns Playlist}} 
 + 
 +====Кнопки==== 
 +===Сортировка=== 
 +===Тегирование=== 
 + 
 + 
 +====Изображения==== 
 +Поддерживает форматы изображений:​ PNG, BMP, GIF,JPG и ICO. 
 +===$imageabs=== 
 + 
 +<code tagz>​$imageabs(X,​Y,​imageName,​imageOptions)</​code>​ 
 + 
 +^Параметр ^Определение ^Примечание^ 
 +|X & Y|Абсолютная позиция изображения с отсчетом от верхнего левого угла.| | 
 +|imageName|Относительный путь к изображению из папки, где хранится конфигурация плеера.|Если отключена поддержка профилей,​ то папка конфигурации будет той же, куда установлен плеер. Однако,​ если включена поддержка профилей,​ то папка будет расположена в **C:​\Documents and Settings\ИМЯ ПОЛЬЗОВАТЕЛЯ\Application Data\foobar2000\**| 
 +|imageOptions|Может включать в себя другие параметры,​ влияющие на представление изображения.|Описание параметров ниже.| 
 + 
 +Параметры **imageOptions**:​ 
 + 
 +  * //​ALPHA-x//​. Прозрачность изображения;​ указывается целым числом от 0 (полностью прозрачно) до 255 (непрозрачно). 
 + 
 +  * //FLOW//. Обтекание текста вокруг текста. 
 + 
 +Пример:​ 
 + 
 +<code tagz>​$imageabs(0,​0,​%папка_конфигурации_foobar%\картинки\моя_картинка.png,​flow alpha-150)</​code>​ 
 + 
 + 
 +===$imageabs2=== 
 + 
 +<code tagz>​$imageabs2(areaWidth,​areaHeight,​imageLeft,​imageTop,​imageWidth,​imageHeight,​areaLeft,​areaTop,​imagePath,​imageOptions)</​code>​ 
 + 
 +^Параметр ^Определение ^Примечание^ 
 +|areaWidth & areaHeight|Параметры,​ управляющие размером изображения. Позволяют только уменьшать изображение.| | 
 +|imageLeft & imageTop|Указывают на позицию уменьшенного изображения от левого верхнего угла.|**imageLeft** — горизонтальная позиция **уменьшенного** изображения,​ **imageTop** — вертикальная позиция **не уменьшенного** изображения. Если у вас есть изображение в формате JPEG размером 300x300 пикселей,​ и с помощью функций **areaWidth** и **areaHeight** оно уменьшено до размера 150x150 пикселей (**imageLeft** = 75 and **imageTop** = 150), то точка в верхнем левом углу финального изображения будет центром оригинального изображения 300x300.| 
 +|imageWidth & imageHeight|Обрезание ширины и высоты,​ соответственно обрезание **сжатого** изображения.|Значения,​ которые больше,​ чем расстояние от обрезанного угла до границ уменьшенного изображения будут игнорироваться (обрезание как таковое будет пропущено). При значениях равных или больших,​ чем 32768, изображение вовсе не будет показано.| 
 +|areaLeft & areaTop|Расстояние,​ соответственно,​ влево и вниз, от верхнего левого угла панели до верхнего левого угла финального уменьшенного и обрезанного изображения.| | 
 +|imagePath|Абсолютный или относительный путь к папке с изображениями.|Для относительных путей нужно поставить слеш ('/'​) в начале пути. (например,​ "/​путь\до\изображение.jpg"​). Когда будете использовать относительные пути, учтите,​ что корневая папка — это инсталляционная папка foobar2000.| 
 +|imageOptions|Опции изображения.|Описание параметров ниже.| 
 + 
 +Параметры **imageOptions**:​ 
 + 
 +  * //​ALPHA-x//​. Прозрачность изображения;​ указывается целым числом от 0 (полностью прозрачно) до 255 (непрозрачно). 
 +  * //​NOKEEPASPECT//​. При изменении размера игнорировать пропорции изображения (aspect ratio). 
 +  * //VALIGN-T (vertical align-TOP), VALIGN-B, HALIGN-L, HALIGN-R//. Опции выравнивания. 
 +  * //​ROTATEFLIP-x//,​ где x (см. таблицу ниже). 
 + 
 +^Поворот X ^Поворот Y ^Поворот XY ^Нет^ 
 +|Поворот 90° CW| 5 | 7 | 3 | 1 | 
 +|Поворот 180° CW| 6 | 4 | 0 | 2 | 
 +|Поворот 270° CW| 7 | 5 | 1 | 3 | 
 +|Нет| 4 | 6 | 2 | 0 | 
 + 
 +Более просто:​ 
 +<code tagz>​$imageabs2(Размеры сжатия,​Положение угла обрезания,​Размеры обрезания,​Расположение панели,​Путь,​Опции изображения)</​code>​ 
 + 
 +Пример:​ 
 +<code tagz>​$imageabs2(48,​48,​0,​0,​48,​48,​20,​20,​C:​\Program Files\foobar2000 v0.9\icons\$replace(%filename_ext%,​%filename%'​.',​)_48x48.png,​alpha-192)</​code>​ 
 + 
 +Уменьшить изображение до 24x24 (изначальный размер 48х48) без обрезания:​ 
 +<code tagz>​$imageabs2(**24**,​**24**,​0,​0,​**24**,​**24**,​20,​20,/​icons\$replace(%filename_ext%,​%filename%'​.',​)_48x48.png,​alpha-192)</​code>​ 
 + 
 +====Отрисовка прямоугольника==== 
 +<code tagz>​$drawrect(X,​Y,​W,​H,​brushColor-R-G-B penColor-R-G-B OPTIONS)</​code>​ 
 + 
 +^Параметр ^Определение ^Примечание^ 
 +|X & Y|Позиция прямоугольника относительно верхнего левого угла.|Если эти параметры пропустить или выставить на ноль, то они заменятся минимальными значениями относительно ''​$pad''​.| 
 +|W & H|Определяет ширину и высоту прямоугольника.|Если эти параметры пропустить или выставить на ноль, то они заменятся минимальными значениями относительно ''​$pad''​.| 
 +|brushColor & penColor|Цвета фона и границы в пространстве R-G-B.|Например,​ 255-0-0 даст красный цвет. Параметры могут быть отключены с помощью -null (например,​ brushColor-null). Используйте //​SYSCOL-x//​ для использования стандартных цветов из вашей темы Windows (msstyle). X — это номер цвета от 0 до ?.| 
 +|OPTIONS|Опции прямоугольника.|Описание параметров ниже.| 
 + 
 +**Параметры OPTIONS:​** 
 + 
 +При использовании сложных эффектов,​ таких как alpha blending или blurring, прямоугольник рисуется только используя цвет границы. Если вы укажите цвет фона, то возьмется цвет границы. 
 +  * //ALPHA// — интервал ​ 0-255. 
 +  * //EXPAND// — расширить прямоугольник на столько-то пикселей. 
 +  * //BLUR// — размазать (заблёрить) изображение с таким-то значением. 
 +  * //WIDTH// — ширина границы (рисуется цветом границы). Значение по умолчанию — 1, если не отключено при помощи pencolor-null. Установка значения в 0 не отключает границу (значение остается 1). 
 + 
 +Пример:​ 
 +<code tagz>​$drawrect(,,,,​pencolor-0-0-255 brushcolor-null width-2 alpha-100 blur-2)</​code>​ 
 + 
 +====Другие функции==== 
 +===Поля TrackInfo === 
 +%_trackinfo_mode% 
 +%_trackinfo_notrack% 
 + 
 +Следующие функции возвращают ширину и высоту текста:​ 
 + 
 +  $calcwidth(//​Text1//​) 
 +  $calcheight(//​Text1//​) 
 + 
 +  $calcwidth(%artist%) не возвращает не длину //​%artist%//,​ а скорее ширину текста,​ хранимого в теге artist. 
 + 
 +===Проверка на выбор файла=== 
 +Если курсор в плейлисте стоит на элементе (треке). 
 + 
 +  %_selected% 
 + 
 +Пример:​ 
 +  $if(%_selected%,​$drawrect(2,​1,​$sub(%_width%,​4),​16,​brushcolor-233-243-247 pencolor-203-233-246)) 
 + 
 +===Проверка на существование файла=== 
 + 
 +  $fileexists(//​Путь к файлу//​) 
 + 
 +Следующий пример ищет //​folder.*//​ где расположены музыкальные файлы:​ 
 + 
 +  $if($fileexists($replace(%path%,​%filename_ext%,​folder.*),​ 
 +  Yes 
 +  , 
 +  No 
 +  ) 
 +   
 +===Вычисление размеров панели=== 
 +  %_height% 
 +  %_width% 
 +   
 +   
 +===== Наши статьи ===== 
 +  * [[foobar2000:​plugins:​ui:​panelsui:​eval function]] 
 +  * [[foobar2000:​plugins:​ui:​panelsui:​PanelsUI Tabs]] 
 ===== Ссылки ===== ===== Ссылки =====
-  * [[http://​users.bowie-cass.com/​singa/​foo_ui_panels.zip|Скачать]]+  * [[http://​users.bowie-cass.com/​singa/foobar/bin/​foo_ui_panels.zip|Скачать]] 
   * [[http://​wiki.hydrogenaudio.org/​index.php?​title=Foobar2000:​Components_0.9/​Panels_UI_%28foo_ui_panels%29/​Change_log|Changelog]]   * [[http://​wiki.hydrogenaudio.org/​index.php?​title=Foobar2000:​Components_0.9/​Panels_UI_%28foo_ui_panels%29/​Change_log|Changelog]]
   * [[http://​www.hydrogenaudio.org/​forums/​index.php?​showtopic=52465|Дискуссионная страница плагина]] (англ.)   * [[http://​www.hydrogenaudio.org/​forums/​index.php?​showtopic=52465|Дискуссионная страница плагина]] (англ.)
-  * [[http://foobar2000.ru/forum/index.php/topic,​726.0.html|Обсуждение плагина на нашем форуме]] +  * [[http://wiki.hydrogenaudio.org/index.php?​title=Foobar2000:​Components_0.9/Panels_UI_%28foo_ui_panels%29#​Description|Panels UI на Hydrogenaudio]]
- +
foobar2000/plugins_for_0.9.x/foo_ui_panels_foo_ui_panels.1171252450.txt.gz · Последние изменения: 2007/02/12 06:54 — Spike