Improved Inventory / Hand Slots UI (#2965)
@@ -30,7 +30,8 @@ namespace Content.Client.GameObjects.Components.HUD.Inventory
|
|||||||
private ItemSlotButton _hudButtonBelt;
|
private ItemSlotButton _hudButtonBelt;
|
||||||
private ItemSlotButton _hudButtonBack;
|
private ItemSlotButton _hudButtonBack;
|
||||||
private ItemSlotButton _hudButtonId;
|
private ItemSlotButton _hudButtonId;
|
||||||
private Control _quickButtonsContainer;
|
private Control _rightQuickButtonsContainer;
|
||||||
|
private Control _leftQuickButtonsContainer;
|
||||||
|
|
||||||
public HumanInventoryInterfaceController(ClientInventoryComponent owner) : base(owner)
|
public HumanInventoryInterfaceController(ClientInventoryComponent owner) : base(owner)
|
||||||
{
|
{
|
||||||
@@ -69,16 +70,26 @@ namespace Content.Client.GameObjects.Components.HUD.Inventory
|
|||||||
AddButton(out _hudButtonBelt, Slots.BELT, "belt");
|
AddButton(out _hudButtonBelt, Slots.BELT, "belt");
|
||||||
AddButton(out _hudButtonId, Slots.IDCARD, "id");
|
AddButton(out _hudButtonId, Slots.IDCARD, "id");
|
||||||
|
|
||||||
_quickButtonsContainer = new HBoxContainer
|
_leftQuickButtonsContainer = new HBoxContainer
|
||||||
{
|
{
|
||||||
Children =
|
Children =
|
||||||
{
|
{
|
||||||
_hudButtonId,
|
_hudButtonId,
|
||||||
_hudButtonBelt,
|
|
||||||
_hudButtonBack,
|
_hudButtonBack,
|
||||||
|
_hudButtonBelt,
|
||||||
|
},
|
||||||
|
SeparationOverride = 5
|
||||||
|
};
|
||||||
|
_rightQuickButtonsContainer = new HBoxContainer
|
||||||
|
{
|
||||||
|
Children =
|
||||||
|
{
|
||||||
_hudButtonPocket1,
|
_hudButtonPocket1,
|
||||||
_hudButtonPocket2,
|
_hudButtonPocket2,
|
||||||
}
|
// keeps this "balanced" with the left, so the hands will appear perfectly in the center
|
||||||
|
new Control{CustomMinimumSize = (64, 64)}
|
||||||
|
},
|
||||||
|
SeparationOverride = 5
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -161,7 +172,8 @@ namespace Content.Client.GameObjects.Components.HUD.Inventory
|
|||||||
{
|
{
|
||||||
base.PlayerAttached();
|
base.PlayerAttached();
|
||||||
|
|
||||||
GameHud.InventoryQuickButtonContainer.AddChild(_quickButtonsContainer);
|
GameHud.RightInventoryQuickButtonContainer.AddChild(_rightQuickButtonsContainer);
|
||||||
|
GameHud.LeftInventoryQuickButtonContainer.AddChild(_leftQuickButtonsContainer);
|
||||||
|
|
||||||
// Update all the buttons to make sure they check out.
|
// Update all the buttons to make sure they check out.
|
||||||
|
|
||||||
@@ -183,7 +195,8 @@ namespace Content.Client.GameObjects.Components.HUD.Inventory
|
|||||||
{
|
{
|
||||||
base.PlayerDetached();
|
base.PlayerDetached();
|
||||||
|
|
||||||
GameHud.InventoryQuickButtonContainer.RemoveChild(_quickButtonsContainer);
|
GameHud.RightInventoryQuickButtonContainer.RemoveChild(_rightQuickButtonsContainer);
|
||||||
|
GameHud.LeftInventoryQuickButtonContainer.RemoveChild(_leftQuickButtonsContainer);
|
||||||
|
|
||||||
foreach (var (slot, list) in _inventoryButtons)
|
foreach (var (slot, list) in _inventoryButtons)
|
||||||
{
|
{
|
||||||
@@ -197,7 +210,7 @@ namespace Content.Client.GameObjects.Components.HUD.Inventory
|
|||||||
private class HumanInventoryWindow : SS14Window
|
private class HumanInventoryWindow : SS14Window
|
||||||
{
|
{
|
||||||
private const int ButtonSize = 64;
|
private const int ButtonSize = 64;
|
||||||
private const int ButtonSeparation = 2;
|
private const int ButtonSeparation = 4;
|
||||||
private const int RightSeparation = 2;
|
private const int RightSeparation = 2;
|
||||||
|
|
||||||
public IReadOnlyDictionary<Slots, ItemSlotButton> Buttons { get; }
|
public IReadOnlyDictionary<Slots, ItemSlotButton> Buttons { get; }
|
||||||
|
|||||||
@@ -66,7 +66,8 @@ namespace Content.Client.UserInterface
|
|||||||
|
|
||||||
Control HandsContainer { get; }
|
Control HandsContainer { get; }
|
||||||
Control SuspicionContainer { get; }
|
Control SuspicionContainer { get; }
|
||||||
Control InventoryQuickButtonContainer { get; }
|
Control RightInventoryQuickButtonContainer { get; }
|
||||||
|
Control LeftInventoryQuickButtonContainer { get; }
|
||||||
|
|
||||||
bool CombatPanelVisible { get; set; }
|
bool CombatPanelVisible { get; set; }
|
||||||
bool CombatModeActive { get; set; }
|
bool CombatModeActive { get; set; }
|
||||||
@@ -100,7 +101,8 @@ namespace Content.Client.UserInterface
|
|||||||
|
|
||||||
public Control HandsContainer { get; private set; }
|
public Control HandsContainer { get; private set; }
|
||||||
public Control SuspicionContainer { get; private set; }
|
public Control SuspicionContainer { get; private set; }
|
||||||
public Control InventoryQuickButtonContainer { get; private set; }
|
public Control RightInventoryQuickButtonContainer { get; private set; }
|
||||||
|
public Control LeftInventoryQuickButtonContainer { get; private set; }
|
||||||
|
|
||||||
public bool CombatPanelVisible
|
public bool CombatPanelVisible
|
||||||
{
|
{
|
||||||
@@ -260,21 +262,6 @@ namespace Content.Client.UserInterface
|
|||||||
_inputManager.SetInputCommand(ContentKeyFunctions.OpenTutorial,
|
_inputManager.SetInputCommand(ContentKeyFunctions.OpenTutorial,
|
||||||
InputCmdHandler.FromDelegate(s => ButtonTutorialOnOnToggled()));
|
InputCmdHandler.FromDelegate(s => ButtonTutorialOnOnToggled()));
|
||||||
|
|
||||||
var inventoryContainer = new HBoxContainer
|
|
||||||
{
|
|
||||||
SeparationOverride = 10
|
|
||||||
};
|
|
||||||
|
|
||||||
RootControl.AddChild(inventoryContainer);
|
|
||||||
|
|
||||||
LayoutContainer.SetGrowHorizontal(inventoryContainer, LayoutContainer.GrowDirection.Begin);
|
|
||||||
LayoutContainer.SetGrowVertical(inventoryContainer, LayoutContainer.GrowDirection.Begin);
|
|
||||||
LayoutContainer.SetAnchorAndMarginPreset(inventoryContainer, LayoutContainer.LayoutPreset.BottomRight);
|
|
||||||
|
|
||||||
InventoryQuickButtonContainer = new MarginContainer
|
|
||||||
{
|
|
||||||
SizeFlagsVertical = Control.SizeFlags.ShrinkEnd
|
|
||||||
};
|
|
||||||
|
|
||||||
_combatPanelContainer = new VBoxContainer
|
_combatPanelContainer = new VBoxContainer
|
||||||
{
|
{
|
||||||
@@ -289,23 +276,40 @@ namespace Content.Client.UserInterface
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
LayoutContainer.SetGrowHorizontal(_combatPanelContainer, LayoutContainer.GrowDirection.Begin);
|
||||||
|
LayoutContainer.SetGrowVertical(_combatPanelContainer, LayoutContainer.GrowDirection.Begin);
|
||||||
|
LayoutContainer.SetAnchorAndMarginPreset(_combatPanelContainer, LayoutContainer.LayoutPreset.BottomRight);
|
||||||
|
LayoutContainer.SetMarginBottom(_combatPanelContainer, -10f);
|
||||||
|
RootControl.AddChild(_combatPanelContainer);
|
||||||
|
|
||||||
_combatModeButton.OnToggled += args => OnCombatModeChanged?.Invoke(args.Pressed);
|
_combatModeButton.OnToggled += args => OnCombatModeChanged?.Invoke(args.Pressed);
|
||||||
_targetingDoll.OnZoneChanged += args => OnTargetingZoneChanged?.Invoke(args);
|
_targetingDoll.OnZoneChanged += args => OnTargetingZoneChanged?.Invoke(args);
|
||||||
|
|
||||||
inventoryContainer.Children.Add(InventoryQuickButtonContainer);
|
var centerBottomContainer = new HBoxContainer
|
||||||
inventoryContainer.Children.Add(_combatPanelContainer);
|
{
|
||||||
|
SeparationOverride = 5
|
||||||
|
};
|
||||||
|
LayoutContainer.SetAnchorAndMarginPreset(centerBottomContainer, LayoutContainer.LayoutPreset.CenterBottom);
|
||||||
|
LayoutContainer.SetGrowHorizontal(centerBottomContainer, LayoutContainer.GrowDirection.Both);
|
||||||
|
LayoutContainer.SetGrowVertical(centerBottomContainer, LayoutContainer.GrowDirection.Begin);
|
||||||
|
LayoutContainer.SetMarginBottom(centerBottomContainer, -10f);
|
||||||
|
RootControl.AddChild(centerBottomContainer);
|
||||||
|
|
||||||
HandsContainer = new MarginContainer
|
HandsContainer = new MarginContainer
|
||||||
{
|
{
|
||||||
SizeFlagsVertical = Control.SizeFlags.ShrinkEnd
|
SizeFlagsVertical = Control.SizeFlags.ShrinkEnd
|
||||||
};
|
};
|
||||||
|
RightInventoryQuickButtonContainer = new MarginContainer
|
||||||
RootControl.AddChild(HandsContainer);
|
{
|
||||||
|
SizeFlagsVertical = Control.SizeFlags.ShrinkEnd
|
||||||
LayoutContainer.SetAnchorAndMarginPreset(HandsContainer, LayoutContainer.LayoutPreset.CenterBottom);
|
};
|
||||||
LayoutContainer.SetGrowHorizontal(HandsContainer, LayoutContainer.GrowDirection.Both);
|
LeftInventoryQuickButtonContainer = new MarginContainer
|
||||||
LayoutContainer.SetGrowVertical(HandsContainer, LayoutContainer.GrowDirection.Begin);
|
{
|
||||||
|
SizeFlagsVertical = Control.SizeFlags.ShrinkEnd
|
||||||
|
};
|
||||||
|
centerBottomContainer.AddChild(LeftInventoryQuickButtonContainer);
|
||||||
|
centerBottomContainer.AddChild(HandsContainer);
|
||||||
|
centerBottomContainer.AddChild(RightInventoryQuickButtonContainer);
|
||||||
|
|
||||||
SuspicionContainer = new MarginContainer
|
SuspicionContainer = new MarginContainer
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,11 +1,15 @@
|
|||||||
using Content.Shared.GameObjects.Components.Items;
|
using Content.Shared.GameObjects.Components.Items;
|
||||||
using Robust.Client.Graphics;
|
using Robust.Client.Graphics;
|
||||||
using Robust.Client.UserInterface.Controls;
|
using Robust.Client.UserInterface.Controls;
|
||||||
|
using Robust.Shared.Maths;
|
||||||
|
|
||||||
namespace Content.Client.UserInterface
|
namespace Content.Client.UserInterface
|
||||||
{
|
{
|
||||||
public class HandButton : ItemSlotButton
|
public class HandButton : ItemSlotButton
|
||||||
{
|
{
|
||||||
|
private bool _activeHand;
|
||||||
|
private bool _highlighted;
|
||||||
|
|
||||||
public HandButton(Texture texture, Texture storageTexture, Texture blockedTexture, HandLocation location) : base(texture, storageTexture)
|
public HandButton(Texture texture, Texture storageTexture, Texture blockedTexture, HandLocation location) : base(texture, storageTexture)
|
||||||
{
|
{
|
||||||
Location = location;
|
Location = location;
|
||||||
@@ -21,5 +25,23 @@ namespace Content.Client.UserInterface
|
|||||||
|
|
||||||
public HandLocation Location { get; }
|
public HandLocation Location { get; }
|
||||||
public TextureRect Blocked { get; }
|
public TextureRect Blocked { get; }
|
||||||
|
|
||||||
|
public void SetActiveHand(bool active)
|
||||||
|
{
|
||||||
|
_activeHand = active;
|
||||||
|
UpdateHighlight();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Highlight(bool highlight)
|
||||||
|
{
|
||||||
|
_highlighted = highlight;
|
||||||
|
UpdateHighlight();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateHighlight()
|
||||||
|
{
|
||||||
|
// always stay highlighted if active
|
||||||
|
base.Highlight(_activeHand || _highlighted);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Content.Client.GameObjects.Components.Items;
|
using Content.Client.GameObjects.Components.Items;
|
||||||
|
using Content.Client.UserInterface.Stylesheets;
|
||||||
using Content.Client.Utility;
|
using Content.Client.Utility;
|
||||||
using Content.Shared.GameObjects.Components.Items;
|
using Content.Shared.GameObjects.Components.Items;
|
||||||
using Content.Shared.Input;
|
using Content.Shared.Input;
|
||||||
@@ -21,8 +22,6 @@ namespace Content.Client.UserInterface
|
|||||||
[Dependency] private readonly IResourceCache _resourceCache = default!;
|
[Dependency] private readonly IResourceCache _resourceCache = default!;
|
||||||
[Dependency] private readonly IItemSlotManager _itemSlotManager = default!;
|
[Dependency] private readonly IItemSlotManager _itemSlotManager = default!;
|
||||||
|
|
||||||
private readonly TextureRect _activeHandRect;
|
|
||||||
|
|
||||||
private readonly Texture _leftHandTexture;
|
private readonly Texture _leftHandTexture;
|
||||||
private readonly Texture _middleHandTexture;
|
private readonly Texture _middleHandTexture;
|
||||||
private readonly Texture _rightHandTexture;
|
private readonly Texture _rightHandTexture;
|
||||||
@@ -52,24 +51,14 @@ namespace Content.Client.UserInterface
|
|||||||
Children =
|
Children =
|
||||||
{
|
{
|
||||||
(_topPanel = ItemStatusPanel.FromSide(HandLocation.Middle)),
|
(_topPanel = ItemStatusPanel.FromSide(HandLocation.Middle)),
|
||||||
(_handsContainer = new HBoxContainer {SeparationOverride = 0})
|
(_handsContainer = new HBoxContainer())
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
(_leftPanel = ItemStatusPanel.FromSide(HandLocation.Left))
|
(_leftPanel = ItemStatusPanel.FromSide(HandLocation.Left))
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
var textureHandActive = _resourceCache.GetTexture("/Textures/Interface/Inventory/hand_active.png");
|
|
||||||
|
|
||||||
// Active hand
|
|
||||||
_activeHandRect = new TextureRect
|
|
||||||
{
|
|
||||||
Texture = textureHandActive,
|
|
||||||
TextureScale = (2, 2)
|
|
||||||
};
|
|
||||||
|
|
||||||
_leftHandTexture = _resourceCache.GetTexture("/Textures/Interface/Inventory/hand_l.png");
|
_leftHandTexture = _resourceCache.GetTexture("/Textures/Interface/Inventory/hand_l.png");
|
||||||
_middleHandTexture = _resourceCache.GetTexture("/Textures/Interface/Inventory/hand_middle.png");
|
_middleHandTexture = _resourceCache.GetTexture("/Textures/Interface/Inventory/hand_l.png");
|
||||||
_rightHandTexture = _resourceCache.GetTexture("/Textures/Interface/Inventory/hand_r.png");
|
_rightHandTexture = _resourceCache.GetTexture("/Textures/Interface/Inventory/hand_r.png");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -119,13 +108,6 @@ namespace Content.Client.UserInterface
|
|||||||
button.OnStoragePressed += args => _OnStoragePressed(args, slot);
|
button.OnStoragePressed += args => _OnStoragePressed(args, slot);
|
||||||
|
|
||||||
_handsContainer.AddChild(button);
|
_handsContainer.AddChild(button);
|
||||||
|
|
||||||
if (_activeHandRect.Parent == null)
|
|
||||||
{
|
|
||||||
button.AddChild(_activeHandRect);
|
|
||||||
_activeHandRect.SetPositionInParent(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
hand.Button = button;
|
hand.Button = button;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -135,11 +117,6 @@ namespace Content.Client.UserInterface
|
|||||||
|
|
||||||
if (button != null)
|
if (button != null)
|
||||||
{
|
{
|
||||||
if (button.Children.Contains(_activeHandRect))
|
|
||||||
{
|
|
||||||
button.RemoveChild(_activeHandRect);
|
|
||||||
}
|
|
||||||
|
|
||||||
_handsContainer.RemoveChild(button);
|
_handsContainer.RemoveChild(button);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -186,14 +163,8 @@ namespace Content.Client.UserInterface
|
|||||||
hand.Button!.Button.Texture = HandTexture(hand.Location);
|
hand.Button!.Button.Texture = HandTexture(hand.Location);
|
||||||
hand.Button!.SetPositionInParent(i);
|
hand.Button!.SetPositionInParent(i);
|
||||||
_itemSlotManager.SetItemSlot(hand.Button, hand.Entity);
|
_itemSlotManager.SetItemSlot(hand.Button, hand.Entity);
|
||||||
}
|
|
||||||
|
|
||||||
_activeHandRect.Parent?.RemoveChild(_activeHandRect);
|
hand.Button!.SetActiveHand(component.ActiveIndex == hand.Name);
|
||||||
component.GetHand(component.ActiveIndex)?.Button?.AddChild(_activeHandRect);
|
|
||||||
|
|
||||||
if (hands.Length > 0)
|
|
||||||
{
|
|
||||||
_activeHandRect.SetPositionInParent(1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_leftPanel.SetPositionFirst();
|
_leftPanel.SetPositionFirst();
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using Content.Client.UserInterface.Stylesheets;
|
||||||
using Robust.Client.Graphics;
|
using Robust.Client.Graphics;
|
||||||
using Robust.Client.Graphics.Shaders;
|
using Robust.Client.Graphics.Shaders;
|
||||||
using Robust.Client.UserInterface;
|
using Robust.Client.UserInterface;
|
||||||
@@ -26,11 +27,11 @@ namespace Content.Client.UserInterface
|
|||||||
|
|
||||||
public bool EntityHover => HoverSpriteView.Sprite != null;
|
public bool EntityHover => HoverSpriteView.Sprite != null;
|
||||||
public bool MouseIsHovering = false;
|
public bool MouseIsHovering = false;
|
||||||
private readonly ShaderInstance _highlightShader;
|
|
||||||
|
private readonly PanelContainer _highlightRect;
|
||||||
|
|
||||||
public ItemSlotButton(Texture texture, Texture storageTexture)
|
public ItemSlotButton(Texture texture, Texture storageTexture)
|
||||||
{
|
{
|
||||||
_highlightShader = IoCManager.Resolve<IPrototypeManager>().Index<ShaderPrototype>(HighlightShader).Instance();
|
|
||||||
CustomMinimumSize = (64, 64);
|
CustomMinimumSize = (64, 64);
|
||||||
|
|
||||||
AddChild(Button = new TextureRect
|
AddChild(Button = new TextureRect
|
||||||
@@ -40,6 +41,13 @@ namespace Content.Client.UserInterface
|
|||||||
MouseFilter = MouseFilterMode.Stop
|
MouseFilter = MouseFilterMode.Stop
|
||||||
});
|
});
|
||||||
|
|
||||||
|
AddChild(_highlightRect = new PanelContainer
|
||||||
|
{
|
||||||
|
StyleClasses = { StyleNano.StyleClassHandSlotHighlight },
|
||||||
|
CustomMinimumSize = (32, 32),
|
||||||
|
Visible = false
|
||||||
|
});
|
||||||
|
|
||||||
Button.OnKeyBindDown += OnButtonPressed;
|
Button.OnKeyBindDown += OnButtonPressed;
|
||||||
|
|
||||||
AddChild(SpriteView = new SpriteView
|
AddChild(SpriteView = new SpriteView
|
||||||
@@ -102,18 +110,16 @@ namespace Content.Client.UserInterface
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Highlight(bool on)
|
public virtual void Highlight(bool highlight)
|
||||||
{
|
{
|
||||||
// I make no claim that this actually looks good but it's a start.
|
if (highlight)
|
||||||
if (on)
|
|
||||||
{
|
{
|
||||||
Button.ShaderOverride = _highlightShader;
|
_highlightRect.Visible = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Button.ShaderOverride = null;
|
_highlightRect.Visible = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnButtonPressed(GUIBoundKeyEventArgs args)
|
private void OnButtonPressed(GUIBoundKeyEventArgs args)
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ namespace Content.Client.UserInterface
|
|||||||
[ViewVariables]
|
[ViewVariables]
|
||||||
private IEntity? _entity;
|
private IEntity? _entity;
|
||||||
|
|
||||||
public ItemStatusPanel(Texture texture, StyleBox.Margin margin)
|
public ItemStatusPanel(Texture texture, StyleBox.Margin cutout, StyleBox.Margin flat, Label.AlignMode textAlign)
|
||||||
{
|
{
|
||||||
var panel = new StyleBoxTexture
|
var panel = new StyleBoxTexture
|
||||||
{
|
{
|
||||||
@@ -40,7 +40,8 @@ namespace Content.Client.UserInterface
|
|||||||
};
|
};
|
||||||
panel.SetContentMarginOverride(StyleBox.Margin.Vertical, 4);
|
panel.SetContentMarginOverride(StyleBox.Margin.Vertical, 4);
|
||||||
panel.SetContentMarginOverride(StyleBox.Margin.Horizontal, 6);
|
panel.SetContentMarginOverride(StyleBox.Margin.Horizontal, 6);
|
||||||
panel.SetPatchMargin(margin, 13);
|
panel.SetPatchMargin(flat, 2);
|
||||||
|
panel.SetPatchMargin(cutout, 13);
|
||||||
|
|
||||||
AddChild(_panel = new PanelContainer
|
AddChild(_panel = new PanelContainer
|
||||||
{
|
{
|
||||||
@@ -57,7 +58,8 @@ namespace Content.Client.UserInterface
|
|||||||
(_itemNameLabel = new Label
|
(_itemNameLabel = new Label
|
||||||
{
|
{
|
||||||
ClipText = true,
|
ClipText = true,
|
||||||
StyleClasses = {StyleNano.StyleClassItemStatus}
|
StyleClasses = {StyleNano.StyleClassItemStatus},
|
||||||
|
Align = textAlign
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -78,27 +80,35 @@ namespace Content.Client.UserInterface
|
|||||||
public static ItemStatusPanel FromSide(HandLocation location)
|
public static ItemStatusPanel FromSide(HandLocation location)
|
||||||
{
|
{
|
||||||
string texture;
|
string texture;
|
||||||
StyleBox.Margin margin;
|
StyleBox.Margin cutOut;
|
||||||
|
StyleBox.Margin flat;
|
||||||
|
Label.AlignMode textAlign;
|
||||||
|
|
||||||
switch (location)
|
switch (location)
|
||||||
{
|
{
|
||||||
case HandLocation.Left:
|
case HandLocation.Left:
|
||||||
texture = "/Textures/Interface/Nano/item_status_right.svg.96dpi.png";
|
texture = "/Textures/Interface/Nano/item_status_right.svg.96dpi.png";
|
||||||
margin = StyleBox.Margin.Left | StyleBox.Margin.Top;
|
cutOut = StyleBox.Margin.Left | StyleBox.Margin.Top;
|
||||||
|
flat = StyleBox.Margin.Right | StyleBox.Margin.Bottom;
|
||||||
|
textAlign = Label.AlignMode.Right;
|
||||||
break;
|
break;
|
||||||
case HandLocation.Middle:
|
case HandLocation.Middle:
|
||||||
texture = "/Textures/Interface/Nano/item_status_left.svg.96dpi.png";
|
texture = "/Textures/Interface/Nano/item_status_middle.svg.96dpi.png";
|
||||||
margin = StyleBox.Margin.Right | StyleBox.Margin.Top;
|
cutOut = StyleBox.Margin.Right | StyleBox.Margin.Top;
|
||||||
|
flat = StyleBox.Margin.Left | StyleBox.Margin.Bottom;
|
||||||
|
textAlign = Label.AlignMode.Left;
|
||||||
break;
|
break;
|
||||||
case HandLocation.Right:
|
case HandLocation.Right:
|
||||||
texture = "/Textures/Interface/Nano/item_status_left.svg.96dpi.png";
|
texture = "/Textures/Interface/Nano/item_status_left.svg.96dpi.png";
|
||||||
margin = StyleBox.Margin.Right | StyleBox.Margin.Top;
|
cutOut = StyleBox.Margin.Right | StyleBox.Margin.Top;
|
||||||
|
flat = StyleBox.Margin.Left | StyleBox.Margin.Bottom;
|
||||||
|
textAlign = Label.AlignMode.Left;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
throw new ArgumentOutOfRangeException(nameof(location), location, null);
|
throw new ArgumentOutOfRangeException(nameof(location), location, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
return new ItemStatusPanel(ResC.GetTexture(texture), margin);
|
return new ItemStatusPanel(ResC.GetTexture(texture), cutOut, flat, textAlign);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Update(IEntity? entity)
|
public void Update(IEntity? entity)
|
||||||
|
|||||||
@@ -16,6 +16,8 @@ namespace Content.Client.UserInterface.Stylesheets
|
|||||||
public sealed class StyleNano : StyleBase
|
public sealed class StyleNano : StyleBase
|
||||||
{
|
{
|
||||||
public const string StyleClassBorderedWindowPanel = "BorderedWindowPanel";
|
public const string StyleClassBorderedWindowPanel = "BorderedWindowPanel";
|
||||||
|
public const string StyleClassInventorySlotBackground = "InventorySlotBackground";
|
||||||
|
public const string StyleClassHandSlotHighlight = "HandSlotHighlight";
|
||||||
public const string StyleClassTransparentBorderedWindowPanel = "TransparentBorderedWindowPanel";
|
public const string StyleClassTransparentBorderedWindowPanel = "TransparentBorderedWindowPanel";
|
||||||
public const string StyleClassHotbarPanel = "HotbarPanel";
|
public const string StyleClassHotbarPanel = "HotbarPanel";
|
||||||
public const string StyleClassTooltipPanel = "tooltipBox";
|
public const string StyleClassTooltipPanel = "tooltipBox";
|
||||||
@@ -103,6 +105,21 @@ namespace Content.Client.UserInterface.Stylesheets
|
|||||||
};
|
};
|
||||||
borderedWindowBackground.SetPatchMargin(StyleBox.Margin.All, 2);
|
borderedWindowBackground.SetPatchMargin(StyleBox.Margin.All, 2);
|
||||||
|
|
||||||
|
var invSlotBgTex = resCache.GetTexture("/Textures/Interface/Inventory/inv_slot_background.png");
|
||||||
|
var invSlotBg = new StyleBoxTexture
|
||||||
|
{
|
||||||
|
Texture = invSlotBgTex,
|
||||||
|
};
|
||||||
|
invSlotBg.SetPatchMargin(StyleBox.Margin.All, 2);
|
||||||
|
invSlotBg.SetContentMarginOverride(StyleBox.Margin.All, 0);
|
||||||
|
|
||||||
|
var handSlotHighlightTex = resCache.GetTexture("/Textures/Interface/Inventory/hand_slot_highlight.png");
|
||||||
|
var handSlotHighlight = new StyleBoxTexture
|
||||||
|
{
|
||||||
|
Texture = handSlotHighlightTex,
|
||||||
|
};
|
||||||
|
handSlotHighlight.SetPatchMargin(StyleBox.Margin.All, 2);
|
||||||
|
|
||||||
var borderedTransparentWindowBackgroundTex = resCache.GetTexture("/Textures/Interface/Nano/transparent_window_background_bordered.png");
|
var borderedTransparentWindowBackgroundTex = resCache.GetTexture("/Textures/Interface/Nano/transparent_window_background_bordered.png");
|
||||||
var borderedTransparentWindowBackground = new StyleBoxTexture
|
var borderedTransparentWindowBackground = new StyleBoxTexture
|
||||||
{
|
{
|
||||||
@@ -385,6 +402,20 @@ namespace Content.Client.UserInterface.Stylesheets
|
|||||||
{
|
{
|
||||||
new StyleProperty(PanelContainer.StylePropertyPanel, borderedTransparentWindowBackground),
|
new StyleProperty(PanelContainer.StylePropertyPanel, borderedTransparentWindowBackground),
|
||||||
}),
|
}),
|
||||||
|
// inventory slot background
|
||||||
|
new StyleRule(
|
||||||
|
new SelectorElement(null, new[] {StyleClassInventorySlotBackground}, null, null),
|
||||||
|
new[]
|
||||||
|
{
|
||||||
|
new StyleProperty(PanelContainer.StylePropertyPanel, invSlotBg),
|
||||||
|
}),
|
||||||
|
// hand slot highlight
|
||||||
|
new StyleRule(
|
||||||
|
new SelectorElement(null, new[] {StyleClassHandSlotHighlight}, null, null),
|
||||||
|
new[]
|
||||||
|
{
|
||||||
|
new StyleProperty(PanelContainer.StylePropertyPanel, handSlotHighlight),
|
||||||
|
}),
|
||||||
// Hotbar background
|
// Hotbar background
|
||||||
new StyleRule(new SelectorElement(typeof(PanelContainer), new[] {StyleClassHotbarPanel}, null, null),
|
new StyleRule(new SelectorElement(typeof(PanelContainer), new[] {StyleClassHotbarPanel}, null, null),
|
||||||
new[]
|
new[]
|
||||||
|
|||||||
BIN
Resources/Textures/Interface/Inventory/hand_slot_highlight.png
Normal file
|
After Width: | Height: | Size: 146 B |
BIN
Resources/Textures/Interface/Inventory/inv_slot_background.png
Normal file
|
After Width: | Height: | Size: 147 B |
@@ -1,6 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
||||||
|
|
||||||
<svg
|
<svg
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
@@ -9,16 +7,16 @@
|
|||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
width="16"
|
width="17.700001"
|
||||||
height="16"
|
height="17.700001"
|
||||||
viewBox="0 0 4.2333337 4.2333334"
|
viewBox="0 0 4.6831256 4.6831253"
|
||||||
version="1.1"
|
version="1.1"
|
||||||
id="svg8"
|
id="svg8"
|
||||||
inkscape:version="0.92.4 5da689c313, 2019-01-14"
|
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
|
||||||
sodipodi:docname="item_status_left.svg"
|
sodipodi:docname="item_status_left.svg"
|
||||||
inkscape:export-filename="/home/pj/Projects/space-station-14/Resources/Textures/Interface/Nano/item_status_left.svg.96dpi.png"
|
inkscape:export-filename="C:\ss14\space-station-14\Resources\Textures\Interface\Nano\item_status_left.svg.96dpi.png"
|
||||||
inkscape:export-xdpi="96.000008"
|
inkscape:export-xdpi="96"
|
||||||
inkscape:export-ydpi="96.000008">
|
inkscape:export-ydpi="96">
|
||||||
<defs
|
<defs
|
||||||
id="defs2" />
|
id="defs2" />
|
||||||
<sodipodi:namedview
|
<sodipodi:namedview
|
||||||
@@ -28,27 +26,34 @@
|
|||||||
borderopacity="1.0"
|
borderopacity="1.0"
|
||||||
inkscape:pageopacity="0.0"
|
inkscape:pageopacity="0.0"
|
||||||
inkscape:pageshadow="2"
|
inkscape:pageshadow="2"
|
||||||
inkscape:zoom="22.627417"
|
inkscape:zoom="45.254834"
|
||||||
inkscape:cx="9.7147126"
|
inkscape:cx="2.2968017"
|
||||||
inkscape:cy="13.122502"
|
inkscape:cy="9.7979333"
|
||||||
inkscape:document-units="px"
|
inkscape:document-units="px"
|
||||||
inkscape:current-layer="layer1"
|
inkscape:current-layer="layer1"
|
||||||
showgrid="false"
|
showgrid="false"
|
||||||
inkscape:pagecheckerboard="true"
|
inkscape:pagecheckerboard="true"
|
||||||
units="px"
|
units="px"
|
||||||
showguides="true"
|
showguides="true"
|
||||||
inkscape:window-width="1920"
|
inkscape:window-width="2560"
|
||||||
inkscape:window-height="1043"
|
inkscape:window-height="1377"
|
||||||
inkscape:window-x="0"
|
inkscape:window-x="1912"
|
||||||
inkscape:window-y="0"
|
inkscape:window-y="-8"
|
||||||
inkscape:window-maximized="1"
|
inkscape:window-maximized="1"
|
||||||
inkscape:guide-bbox="true"
|
inkscape:guide-bbox="true"
|
||||||
inkscape:snap-intersection-paths="true"
|
inkscape:snap-intersection-paths="true"
|
||||||
inkscape:snap-bbox="true"
|
inkscape:snap-bbox="true"
|
||||||
inkscape:snap-page="true">
|
inkscape:snap-page="true"
|
||||||
|
inkscape:document-rotation="0"
|
||||||
|
fit-margin-top="0"
|
||||||
|
fit-margin-left="0"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-bottom="0">
|
||||||
<inkscape:grid
|
<inkscape:grid
|
||||||
type="xygrid"
|
type="xygrid"
|
||||||
id="grid817" />
|
id="grid817"
|
||||||
|
originx="0.44979165"
|
||||||
|
originy="1.5931808" />
|
||||||
</sodipodi:namedview>
|
</sodipodi:namedview>
|
||||||
<metadata
|
<metadata
|
||||||
id="metadata5">
|
id="metadata5">
|
||||||
@@ -66,35 +71,30 @@
|
|||||||
inkscape:label="Layer 1"
|
inkscape:label="Layer 1"
|
||||||
inkscape:groupmode="layer"
|
inkscape:groupmode="layer"
|
||||||
id="layer1"
|
id="layer1"
|
||||||
transform="translate(-26.597681,-208.71661)">
|
transform="translate(-26.372785,-208.49171)">
|
||||||
<path
|
<path
|
||||||
style="opacity:1;vector-effect:none;fill:#25252a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.26458335;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#474747;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
d="m 26.597681,212.94995 h 4.233334 v -1.58751 l -2.645833,-2.64583 -1.587501,-1e-5 z"
|
|
||||||
id="rect815"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
sodipodi:nodetypes="cccccc" />
|
|
||||||
<path
|
|
||||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#474747;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.26458335;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
|
||||||
d="m 45.902791,212.76114 v 3.23047 l 1.003906,1.00195 h 3.228516 v -3.22852 l -1.001953,-1.0039 h -0.05469 z m 0.263672,0.26367 h 2.855469 l 0.849609,0.84961 v 2.85547 h -2.855468 l -0.84961,-0.84961 z"
|
d="m 45.902791,212.76114 v 3.23047 l 1.003906,1.00195 h 3.228516 v -3.22852 l -1.001953,-1.0039 h -0.05469 z m 0.263672,0.26367 h 2.855469 l 0.849609,0.84961 v 2.85547 h -2.855468 l -0.84961,-0.84961 z"
|
||||||
id="rect815-3"
|
id="rect815-3"
|
||||||
inkscape:connector-curvature="0" />
|
inkscape:connector-curvature="0" />
|
||||||
<path
|
<path
|
||||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#474747;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.26458335;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#474747;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
d="m 46.344997,207.34832 -0.290893,0.17906 1.133594,1.1102 v 2.91047 h 0.264579 v -3.04271 z"
|
d="m 46.344997,207.34832 -0.290893,0.17906 1.133594,1.1102 v 2.91047 h 0.264579 v -3.04271 z"
|
||||||
id="rect815-6"
|
id="rect815-6"
|
||||||
inkscape:connector-curvature="0"
|
inkscape:connector-curvature="0"
|
||||||
sodipodi:nodetypes="ccccccc" />
|
sodipodi:nodetypes="ccccccc" />
|
||||||
<path
|
<path
|
||||||
style="fill:none;stroke:#474747;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
style="fill:none;stroke:#474747;stroke-width:0.529167;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
d="m 38.473823,212.26371 v -3.175 l -1.058333,-1.05833"
|
d="m 38.473823,212.26371 v -3.175 l -1.058333,-1.05833"
|
||||||
id="path856-6"
|
id="path856-6"
|
||||||
inkscape:connector-curvature="0"
|
inkscape:connector-curvature="0"
|
||||||
sodipodi:nodetypes="ccc" />
|
sodipodi:nodetypes="ccc" />
|
||||||
<path
|
<path
|
||||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#474747;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
id="rect815-9"
|
||||||
d="m 28.185182,208.71661 h -0.748024 l 2.86456,2.86457 v 1.36874 h 0.529297 v -1.58749 z"
|
style="opacity:1;vector-effect:none;fill:#24242b;fill-opacity:0.95;fill-rule:nonzero;stroke:#3a4051;stroke-width:0.449792;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
id="path856-7"
|
d="m 26.373445,212.94994 h 3.704167 0.753402 v -1.5875 l -2.870068,-2.64583 h -0.748275 -0.839226"
|
||||||
inkscape:connector-curvature="0"
|
inkscape:export-xdpi="96.000008"
|
||||||
|
inkscape:export-ydpi="96.000008"
|
||||||
sodipodi:nodetypes="ccccccc" />
|
sodipodi:nodetypes="ccccccc" />
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 225 B After Width: | Height: | Size: 453 B |
100
Resources/Textures/Interface/Nano/item_status_middle.svg
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="17.700001"
|
||||||
|
height="17.700001"
|
||||||
|
viewBox="0 0 4.6831256 4.6831253"
|
||||||
|
version="1.1"
|
||||||
|
id="svg8"
|
||||||
|
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
|
||||||
|
sodipodi:docname="item_status_middle.svg"
|
||||||
|
inkscape:export-filename="C:\ss14\space-station-14\Resources\Textures\Interface\Nano\item_status_left.svg.96dpi.png"
|
||||||
|
inkscape:export-xdpi="96"
|
||||||
|
inkscape:export-ydpi="96">
|
||||||
|
<defs
|
||||||
|
id="defs2" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="256"
|
||||||
|
inkscape:cx="0.27981532"
|
||||||
|
inkscape:cy="1.9876937"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:pagecheckerboard="true"
|
||||||
|
units="px"
|
||||||
|
showguides="true"
|
||||||
|
inkscape:window-width="2560"
|
||||||
|
inkscape:window-height="1377"
|
||||||
|
inkscape:window-x="1912"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:guide-bbox="true"
|
||||||
|
inkscape:snap-intersection-paths="true"
|
||||||
|
inkscape:snap-bbox="true"
|
||||||
|
inkscape:snap-page="true"
|
||||||
|
inkscape:document-rotation="0"
|
||||||
|
fit-margin-top="0"
|
||||||
|
fit-margin-left="0"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-bottom="0">
|
||||||
|
<inkscape:grid
|
||||||
|
type="xygrid"
|
||||||
|
id="grid817"
|
||||||
|
originx="0.44979165"
|
||||||
|
originy="1.5931808" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<metadata
|
||||||
|
id="metadata5">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-26.372785,-208.49171)">
|
||||||
|
<path
|
||||||
|
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#474747;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
d="m 45.902791,212.76114 v 3.23047 l 1.003906,1.00195 h 3.228516 v -3.22852 l -1.001953,-1.0039 h -0.05469 z m 0.263672,0.26367 h 2.855469 l 0.849609,0.84961 v 2.85547 h -2.855468 l -0.84961,-0.84961 z"
|
||||||
|
id="rect815-3"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
<path
|
||||||
|
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#474747;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
d="m 46.344997,207.34832 -0.290893,0.17906 1.133594,1.1102 v 2.91047 h 0.264579 v -3.04271 z"
|
||||||
|
id="rect815-6"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccccccc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#474747;stroke-width:0.529167;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 38.473823,212.26371 v -3.175 l -1.058333,-1.05833"
|
||||||
|
id="path856-6"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccc" />
|
||||||
|
<path
|
||||||
|
id="rect815-9"
|
||||||
|
style="opacity:1;vector-effect:none;fill:#24242b;fill-opacity:0.95;fill-rule:nonzero;stroke:#3a4051;stroke-width:0.449792;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
|
d="m 26.598004,212.94994 h 3.479608 0.753402 v -1.5875 l -2.870068,-2.64583 h -0.748275 -0.614667 z"
|
||||||
|
inkscape:export-xdpi="96.000008"
|
||||||
|
inkscape:export-ydpi="96.000008"
|
||||||
|
sodipodi:nodetypes="cccccccc" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 6.0 KiB |
|
After Width: | Height: | Size: 458 B |
@@ -1,6 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
||||||
|
|
||||||
<svg
|
<svg
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
@@ -9,16 +7,16 @@
|
|||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
width="16"
|
width="17.700001"
|
||||||
height="16"
|
height="17.700001"
|
||||||
viewBox="0 0 4.2333337 4.2333334"
|
viewBox="0 0 4.6831256 4.6831253"
|
||||||
version="1.1"
|
version="1.1"
|
||||||
id="svg8"
|
id="svg8"
|
||||||
inkscape:version="0.92.4 5da689c313, 2019-01-14"
|
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
|
||||||
sodipodi:docname="item_status_right.svg"
|
sodipodi:docname="item_status_right.svg"
|
||||||
inkscape:export-filename="/home/pj/Projects/space-station-14/Resources/Textures/Interface/Nano/item_status_right.svg.96dpi.png"
|
inkscape:export-filename="C:\ss14\space-station-14\Resources\Textures\Interface\Nano\item_status_right.svg.96dpi.png"
|
||||||
inkscape:export-xdpi="96.000008"
|
inkscape:export-xdpi="96"
|
||||||
inkscape:export-ydpi="96.000008">
|
inkscape:export-ydpi="96">
|
||||||
<defs
|
<defs
|
||||||
id="defs2" />
|
id="defs2" />
|
||||||
<sodipodi:namedview
|
<sodipodi:namedview
|
||||||
@@ -28,32 +26,34 @@
|
|||||||
borderopacity="1.0"
|
borderopacity="1.0"
|
||||||
inkscape:pageopacity="0.0"
|
inkscape:pageopacity="0.0"
|
||||||
inkscape:pageshadow="2"
|
inkscape:pageshadow="2"
|
||||||
inkscape:zoom="22.627417"
|
inkscape:zoom="45.254834"
|
||||||
inkscape:cx="-2.4386852"
|
inkscape:cx="2.2968017"
|
||||||
inkscape:cy="13.122502"
|
inkscape:cy="9.7979333"
|
||||||
inkscape:document-units="px"
|
inkscape:document-units="px"
|
||||||
inkscape:current-layer="layer1"
|
inkscape:current-layer="layer1"
|
||||||
showgrid="false"
|
showgrid="false"
|
||||||
inkscape:pagecheckerboard="true"
|
inkscape:pagecheckerboard="true"
|
||||||
units="px"
|
units="px"
|
||||||
showguides="true"
|
showguides="true"
|
||||||
inkscape:window-width="1920"
|
inkscape:window-width="2560"
|
||||||
inkscape:window-height="1043"
|
inkscape:window-height="1377"
|
||||||
inkscape:window-x="0"
|
inkscape:window-x="1912"
|
||||||
inkscape:window-y="0"
|
inkscape:window-y="-8"
|
||||||
inkscape:window-maximized="1"
|
inkscape:window-maximized="1"
|
||||||
inkscape:guide-bbox="true"
|
inkscape:guide-bbox="true"
|
||||||
inkscape:snap-intersection-paths="true"
|
inkscape:snap-intersection-paths="true"
|
||||||
inkscape:snap-bbox="true"
|
inkscape:snap-bbox="true"
|
||||||
inkscape:snap-page="true">
|
inkscape:snap-page="true"
|
||||||
|
inkscape:document-rotation="0"
|
||||||
|
fit-margin-top="0"
|
||||||
|
fit-margin-left="0"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-bottom="0">
|
||||||
<inkscape:grid
|
<inkscape:grid
|
||||||
type="xygrid"
|
type="xygrid"
|
||||||
id="grid817" />
|
id="grid817"
|
||||||
<sodipodi:guide
|
originx="0.44979165"
|
||||||
position="2.645833,3.0000002e-07"
|
originy="1.5931808" />
|
||||||
orientation="0.70710806,0.7071055"
|
|
||||||
id="guide819"
|
|
||||||
inkscape:locked="false" />
|
|
||||||
</sodipodi:namedview>
|
</sodipodi:namedview>
|
||||||
<metadata
|
<metadata
|
||||||
id="metadata5">
|
id="metadata5">
|
||||||
@@ -71,35 +71,30 @@
|
|||||||
inkscape:label="Layer 1"
|
inkscape:label="Layer 1"
|
||||||
inkscape:groupmode="layer"
|
inkscape:groupmode="layer"
|
||||||
id="layer1"
|
id="layer1"
|
||||||
transform="translate(-26.597681,-208.71661)">
|
transform="translate(-26.372785,-208.49171)">
|
||||||
<path
|
<path
|
||||||
style="opacity:1;vector-effect:none;fill:#25252a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.26458335;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#474747;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
d="m 30.831015,212.94995 h -4.233334 v -1.58751 l 2.645833,-2.64583 1.587501,-1e-5 z"
|
|
||||||
id="rect815"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
sodipodi:nodetypes="cccccc" />
|
|
||||||
<path
|
|
||||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#474747;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.26458335;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
|
||||||
d="m 45.902791,212.76114 v 3.23047 l 1.003906,1.00195 h 3.228516 v -3.22852 l -1.001953,-1.0039 h -0.05469 z m 0.263672,0.26367 h 2.855469 l 0.849609,0.84961 v 2.85547 h -2.855468 l -0.84961,-0.84961 z"
|
d="m 45.902791,212.76114 v 3.23047 l 1.003906,1.00195 h 3.228516 v -3.22852 l -1.001953,-1.0039 h -0.05469 z m 0.263672,0.26367 h 2.855469 l 0.849609,0.84961 v 2.85547 h -2.855468 l -0.84961,-0.84961 z"
|
||||||
id="rect815-3"
|
id="rect815-3"
|
||||||
inkscape:connector-curvature="0" />
|
inkscape:connector-curvature="0" />
|
||||||
<path
|
<path
|
||||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#474747;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.26458335;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#474747;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
d="m 46.344997,207.34832 -0.290893,0.17906 1.133594,1.1102 v 2.91047 h 0.264579 v -3.04271 z"
|
d="m 46.344997,207.34832 -0.290893,0.17906 1.133594,1.1102 v 2.91047 h 0.264579 v -3.04271 z"
|
||||||
id="rect815-6"
|
id="rect815-6"
|
||||||
inkscape:connector-curvature="0"
|
inkscape:connector-curvature="0"
|
||||||
sodipodi:nodetypes="ccccccc" />
|
sodipodi:nodetypes="ccccccc" />
|
||||||
<path
|
<path
|
||||||
style="fill:none;stroke:#474747;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
style="fill:none;stroke:#474747;stroke-width:0.529167;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
d="m 38.473823,212.26371 v -3.175 l -1.058333,-1.05833"
|
d="m 38.473823,212.26371 v -3.175 l -1.058333,-1.05833"
|
||||||
id="path856-6"
|
id="path856-6"
|
||||||
inkscape:connector-curvature="0"
|
inkscape:connector-curvature="0"
|
||||||
sodipodi:nodetypes="ccc" />
|
sodipodi:nodetypes="ccc" />
|
||||||
<path
|
<path
|
||||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#474747;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
id="rect815-9"
|
||||||
d="m 29.243514,208.71661 h 0.748024 l -2.86456,2.86457 v 1.36874 h -0.529297 v -1.58749 z"
|
style="opacity:1;vector-effect:none;fill:#24242b;fill-opacity:0.95;fill-rule:nonzero;stroke:#3a4051;stroke-width:0.449792;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
id="path856-7"
|
d="m 31.05591,212.94994 h -3.704167 -0.753402 v -1.5875 l 2.870068,-2.64583 h 0.748275 0.839226"
|
||||||
inkscape:connector-curvature="0"
|
inkscape:export-xdpi="96.000008"
|
||||||
|
inkscape:export-ydpi="96.000008"
|
||||||
sodipodi:nodetypes="ccccccc" />
|
sodipodi:nodetypes="ccccccc" />
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 228 B After Width: | Height: | Size: 431 B |