Структура файла Steamscheme.res
Contents
- 1 Scheme
- 1.1 Colors
- 1.2 BaseSettings
- 1.3 Controls
- 1.3.1 BaseControls
- 1.3.1.1 Panel
- 1.3.1.2 Button
- 1.3.1.3 CheckButton
- 1.3.1.4 ComboBox
- 1.3.1.5 ComboBoxButton
- 1.3.1.6 FrameButton
- 1.3.1.7 FrameTitle
- 1.3.1.8 FrameBRGripPanel
- 1.3.1.9 HTMLInterior
- 1.3.1.10 ListPanelInterior
- 1.3.1.11 MenuBarItem
- 1.3.1.12 MenuItem
- 1.3.1.13 PageTab
- 1.3.1.14 PropertySheet
- 1.3.1.15 RadioButton
- 1.3.1.16 RichTextInterior
- 1.3.1.17 ScrollBarSlider
- 1.3.1.18 ScrollBarButton
- 1.3.1.19 SectionedListPanelInterior
- 1.3.1.20 SectionedListPanelItem
- 1.3.1.21 Slider
- 1.3.1.22 TextEntry
- 1.3.1.23 ToggleButton
- 1.3.2 WizardSubPanelControls
- 1.3.3 PropertyPageControls
- 1.3.1 BaseControls
- 1.4 LayoutTemplates
- 1.5 Fonts
- 1.6 Appearances
Scheme
Colors
В этом разделе определяются все цвета, используемые элементами управления и рисунком.
Синтаксис: "colorname" "r g b a"
Пример: "GrayBG" "73 78 73 255"
BaseSettings
Ниже приведены все определения ключевых значений, которые используются элементами управления.
Название ключа | Описание |
---|---|
Borders | |
Border.Bright | Освещенная сторона элемента управления |
Border.Dark | Темная/неосвещенная сторона элемента управления |
Border.Selection | Дополнительный цвет границы для отображения кнопки по умолчанию/выбранной |
CheckButton | |
CheckButton.BgColor | |
CheckButton.Border1 | Левая граница checkbutton |
CheckButton.Border2 | Правая граница checkbutton |
CheckButton.Check | Цвет самого check |
DragDrop | |
DragDrop.DragFrame | |
DragDrop.DropFrame | |
Frame | |
Frame.ClientInsetX | С чего начать строку заголовка (x) |
Frame.ClientInsetY | С чего начать строку заголовка (y) |
Frame.BgColor | |
Frame.OutOfFocusBgColor | |
Frame.FocusTransitionEffectTime | Время, когда окно исчезает от фокуса |
Frame.TransitionEffectTime | Время, когда окно исчезает при открытии/закрытии |
Frame.AutoSnapRange | |
Frame.UsesAlphaBlending | |
FrameTitleBar.Font | |
FrameTitleBar.SmallFont | |
FrameSystemButton.Icon | Значок в левом верхнем углу |
FrameSystemButton.DisabledIcon | Отключенный значок в левом верхнем углу |
ListPanel | |
ListPanel.TextColor | |
ListPanel.BgColor | |
ListPanel.SelectedTextColor | |
ListPanel.SelectedBgColor | |
ListPanel.SelectedOutOfFocusBgColor | |
ListPanel.DisabledTextColor | |
ListPanel.DisabledSelectedTextColor | |
ListPanel.EmptyListInfoTextColor | |
ListPanel.RowHeight | |
ListPanel.PerPixelScrolling | |
Menu | |
Menu.TextInset | |
Panel | |
Panel.FgColor | |
Panel.BgColor | |
PropertySheet | |
PropertySheet.TransitionEffectTime | Время перехода с одной вкладки на другую |
PropertySheet.TabGap | |
RichText | |
RichText.InsetX | Margin (x) |
RichText.InsetY | Margin (y) |
RichText.TextColor | |
RichText.BgColor | |
RichText.SelectedTextColor | |
RichText.SelectedBgColor | |
ScrollBar | |
ScrollBar.Wide | |
SectionedListPanel | |
SectionedListPanel.CollapserWidth | |
TextEntry | |
TextEntry.CursorColor | |
GamesList | |
GamesList.InstalledAppColor | |
GamesList.NotInstalledAppColor | |
GamesList.ReadyStatusColor | |
GamesList.UpdatingStatusColor | |
GamesList.NotInstalledStatusColor |
Controls
Документированный элемент управления определяет набор "Переопределяющих ключей" в их разделе, в котором перечислены все функциональные элементы KeyValues для конкретного элемента управления. Что делают клавиши переопределения, так это заменяют базовые клавиши при выполнении определенных условий. Как только условие будет нарушено, блок управления снова преобразуется в "Базовые ключи".
BaseControls
- Panel
- Button
- GripPanel
- CheckButton
- CheckButtonList
- ComboBox
- ComboBoxButton
- ContextLabel
- Divider
- Frame
- FrameButton
- FrameSystemButton
- FrameTitle
- FrameBRGripPanel
- GraphPanel
- HTML
- HTMLInterior
- icon_button_news
- icon_button_friends
- icon_button_servers
- icon_button_settings
- icon_button_support
- icon_button_MiniMeShrink
- Label
- LabelDull
- LabelBright
- ListPanel
- ListPanelInterior
- ListPanelColumnHeader
- ListPanelDragger
- ListViewPanel
- Menu
- MenuBar
- MenuBarItem
- MenuItem
- MenuSeparator
- PanelListPanel
- PanelHorizListPanel
- PageTab
- PropertyPage
- SteamGamesPage
- PropertySheet
- ProgressBar
- RadioButton
- RichText
- RichTextInterior
- ScrollBarSlider
- ScrollBarButton
- SectionedListPanel
- SectionedListPanelInterior
- SectionedListPanelItem
- SectionedListPanelHeader
- SectionedListPanelCollapser
- Slider
- SplitterHandle
- TextEntry
- ToggleButton
- TooltipWindow
- TreeView
- TreeNode
- TreeViewSubPanel
- TreeNodeText
- URLLabel
- WizardPanel
- WizardSubPanel
Panel
Вот набор "Базовых ключей", которые помогают определить, как выглядят элементы управления. Эти ключи унаследованы от всех элементов управления, но используются только некоторыми.
Название ключа | Описание |
---|---|
textcolor | |
selectedtextcolor | |
shadowtextcolor | |
bgcolor | |
selectedbgcolor | |
appearance | Граница должна быть определена как подключ в Borders KeyValues |
image | TGA изображение, которое будет отображаться на этом элементе управления |
Button
- mousedown
- keyfocus
- mouseover
- disabled
- keyfocus_mouseover
- defaultbutton
- defaultbutton_mouseover
CheckButton
- mousedown
- selected
- selected_mouseover
- selected_mousedown
- selected_keyfocus
- selected_keyfocus_mouseover
- keyfocus
- keyfocus_mouseover
- disabled
- selected_disabled
ComboBox
- mouseover
- mousedown
- keyfocus
- disabled
ComboBoxButton
- mouseover
- disabled
FrameButton
- mousedown
- keyfocus
- outoffocus
FrameTitle
- outoffocus
FrameBRGripPanel
- mouseover
- mousedown
- disabled
HTMLInterior
- scrollbar_visible
ListPanelInterior
- scrollbar_visible
MenuBarItem
- mouseover
- mousedown
- selected
MenuItem
- mouseover
- disabled
PageTab
- mousedown
- active
- keyfocus
- keyfocus_mouseover
PropertySheet
- topleft
- topright
RadioButton
- mousedown
- selected
- selected_mouseover
- selected_mousedown
- selected_keyfocus
- selected_keyfocus_mouseover
- keyfocus
- keyfocus_mouseover
- disabled
RichTextInterior
- scrollbar_visible
ScrollBarSlider
- slider
- slider_horiz
ScrollBarButton
- mouseover
- mousedown
SectionedListPanelInterior
- scrollbar_visible
SectionedListPanelItem
- selected
Slider
- disabled
TextEntry
- disabled
ToggleButton
- mousedown
- mouseover
- keyfocus
- selected
- selected_mouseover
- selected_mousedown
- selected_keyfocus
- selected_keyfocus_mouseover
- disabled
WizardSubPanelControls
Этот раздел Controls определяет переопределения свойств для BaseControls на элементах управления, содержащихся внутри мастера.
PropertyPageControls
Этот раздел Controls определяет переопределения свойств для BaseControls на элементах управления, содержащихся на странице PropertyPage.
LayoutTemplates
Здесь описаны макеты элементов управления по умолчанию, которые создают и управляют своими дочерними элементами управления, которые работают так же, как обычный файл настроек .res, за исключением распознавания только атрибутов позиционирования. Ниже приведен разделённый список конкретных контрольных детей.
Вот список параметров, которые можно добавить:
- xpos
- ypos
- wide
- tall
- AutoResize
- PinCorner
Frame
- frame_menu
- frame_title
- frame_captiongrip
- frame_minimize
- frame_close
- frame_brGrip
PropertyDialog
- sheet
- ApplyButton
- CancelButton
- OKButton
WizardPanel
- subpanel
- PrevButton
- NextButton
- CancelButton
- FinishButton
Fonts
В этом разделе описывается синтаксис объявления шрифта.
"A" { "1" { "name" "B" "tall" "C" "weight" "D" "underline" "E" "antialias" "F" "symbol" "G" } }
- A
- Это то, что элементы управления называют их шрифтом. Если для параметра шрифт элемента управления задан этот параметр, он будет использовать информацию из этого набора KeyValues для определения того, как будет отображаться текст.
- B
- Это фактическое имя шрифта, содержащегося в файле ttf. Пользовательские шрифты идут в папке resource для скина.
- C
- Это высота шрифта в пикселях. Ширина будет сохранять то же соотношение.
- D
- Weight - это толщина шрифта.
- E
- Отобразит линию под всем текстом, включая пробелы.
- F
- Если установлено, края текста будут сглажены.
- G
- Установите это, если указанный шрифт является символьным шрифтом (например Marlett).
Appearances
Все границы, на которые ссылаются определения элементов управления и параметры элементов управления, должны быть определены в этом файле. Граница может быть определена как псевдоним другой границы, если имя ключа является границей, а значение - другой границей.
Необходимо определить границы, используя следующий синтаксис:
A { "inset" "B" "backgroundtype" "C" "corner_rounding" "D" render { E } render_bg { E } }
- A
- Это название определяемой границы.
- B
- Это поля элемента управления в формате
"Left Top Right Bottom"
. - C
- Тип фона может быть 0 для заливки фона, 1 для текстурированного фона и 2 для сплошного фона со сглаженными углами.
- D
- Это размер закругления угла в пикселях (px).
- E
- See below. Разница между render и render_bg заключается в порядке отображения.
render_bg
рисуется перед содержимым элемента управления, аrender
рисуется после.
Старый Borders
Этот тип определения границы поддерживался в исходном модуле VGUI2 .
"inset" "A" Right { B } Left { B } Bottom { B } Top { B }
- A
- Это вставка содержимого этого элемента управления в формате
"x0 y0 x1 y1"
- B
- В этой области идет следующий набор KeyValues:
"1" { "color" "C" "offset" "D" }
- C
- Это ссылка на цвет, определенный в разделе Colors.
- D
- Это смещение от края, которому соответствует родительское KeyValues. Формат
x y
Процедуры рисования
Чтобы определить процедуру рисования, имя ключа может быть любым, например "0"
. Для значения допустимы следующие вызовы функций:
- image
- fill
- gradient
- corner (Больше не работает)
- dashedrect
Процедуры рисования позволяют вам установить местоположение в ограниченном элементе управления, используя переменные x0, x1, y0 и y1.
image
Синтаксис: "image( Left, Top, Right, Bottom, TGA )"
Параметр TGA должен указывать TGA относительно папки Steam или папки Skins без добавления расширения.
Принмер: "image( x0 + 4, y0 + 4, x0 + 20, y0 + 20, resource/borders/ScrollButton_mousedown )"
fill
Синтаксис: "fill( Left, Top, Right, Bottom, Color )"
Пример: "fill( x0 + 1, y0 + 1, x1 - 2, y1 - 1, ClayBG )"
gradient
Синтаксис: "gradient( Left, Top, Right, Bottom, TopColor, BottomColor )"
Пример: "gradient( x0, y1 - 40, x1, y1, LightClayBG, ClaySheetBottom )"
corner
Синтаксис: "corner( Left, Top, Right, Bottom, Color )"
dashedrect
Синтаксис: "dashedrect( Left, Top, Right, Bottom, Color )"
Пример: "dashedrect( x0 + 3, y0 + 3, x1 - 4, y1 - 2, BorderSelection )"